Continuous delivery by sergey seletsky

Post on 11-Apr-2017

643 views 0 download

Transcript of Continuous delivery by sergey seletsky

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

EMAILinfo@softserveinc.com

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

EMAILinfo@softserveinc.com

WEBSITE:www.softserveinc.com

THANK YOU!