continuous delivery by sergey seletsky
TRANSCRIPT
Continuous Delivery
Development Process Community
Sergey SeletskySoftware Architect
Agenda• What’s wrong with Scrum?• Evolution• Continuous Delivery• The Era of IoT• Software Architecture• Continuous Deployment• Conclusions
What’s wrong with Scrum?
What’s wrong with Scrum?• Sprints vs. releases or: what are sprints for?• Time boxing or bad fit for SaaS delivery model• No junk in the trunk and code freeze• Automate your testing• Automate your deployments• Changing your definition of done
Evolution
Methodology
Process
Patterns
Platform
Waterfall
Agile
Lean Engineering
Continuous Delivery
Microservice Architecture
Cloud
Scrum
3-Tier Layered
Windows / Linux
Gated
2-Tier Monolithic
Windows
Device
Any Device
Browser
Desktop
Delivery matters
Continuous Delivery
But first - remember, what is Lean?• Methodology like Agile• Main principles1. Waste elimination2. The highest quality3. Delivery ASAP4. Customer satisfaction5. Continuous optimization
What is Continuous Delivery?• Development process (like Scrum)• Based on Lean Engineering (not Agile)• Main purpose: fast delivery• Main practices:1. Automation testing2. Continuous integration3. Continuous deployment4. Continuous optimization
The Era of IoT
Main challenges brought by IoT• More targeting platforms• More targeting devices• Difficult delivery process• Connectivity• Big Data• Security• Power efficiency
Software Architecture
Microservice
Evolution from Monolithic to Microservice
Desktop
Client
Server
Browser
Web Server
Db Server
Any Device
microservices
API Proxy
Microservices are…• A microservice is a self-contained unit of functionality with
loosely coupled dependencies on other services. Autonomous• A microservice is a unit of deployment that can be
modified, tested and deployed as a unit without impacting other areas of a solution
Isolated
• A microservice can be stateful or stateless and can be scaled independently of other servicesElastic
• A microservice is fault tolerant and highly available Resilient
• A microservice responds to request in a reasonable amount of timeResponsive
Microservices are…• The intelligence in a system is found in the endpoints not
on the wire. ESB is an anti-pattern to Microservices. Intelligent• Microservices rely on asynchronous message-passing to
establish a boundary between componentsMessage Oriented• Microservices provide API’s for access by developers and
administrators and Applications are composed from multiple microservices
Programmable• Microservices provide an API and/or a console that provides
access to administrative operationsConfigurable• The lifecycle of a microservice is managed through
automation that includes dev, build, test, staging, production and distribution
Automated
Deployment matters
Continuous Deployment
Continuous Deployment Pipeline
Xamarin Continuous Deployment Pipeline
Deployment GovernanceVM’s
VM VMVM
OrderCustomerReference Data
Deployment GovernanceWeb Hosting Plans & Resource Groups (Azure)
Resource Group A Resource Group BResource Group C
OrderCustomerReference Data
Web Hosting Plan A Web Hosting Plan B Web Hosting Plan C
Deployment GovernanceDocker
Order ContainersCustomer ContainerReference Data Container
VM VM
Workflow Container
Reading
Domain Driven DesignEric Evans
Continuous DeliveryJez HumbleDavid Farley
Lean EnterpriseJez HumbleJoanne MoleskyBarry O’Reilly
Building MicroservicesSam Newman
USA HQToll Free: 866-687-3588 Tel: +1-512-516-8880
Ukraine HQTel: +380-32-240-9090
Bulgaria Tel: +359-2-902-3760
GermanyTel: +49-69-2602-5857
NetherlandsTel: +31-20-262-33-23
PolandTel: +48-71-382-2800
UKTel: +44-207-544-8414
WEBSITE:www.softserveinc.com
Questions?
USA HQToll Free: 866-687-3588 Tel: +1-512-516-8880
Ukraine HQTel: +380-32-240-9090
Bulgaria Tel: +359-2-902-3760
GermanyTel: +49-69-2602-5857
NetherlandsTel: +31-20-262-33-23
PolandTel: +48-71-382-2800
UKTel: +44-207-544-8414
WEBSITE:www.softserveinc.com
THANK YOU!