continuous delivery by sergey seletsky

25
Continuous Delivery Development Process Community Sergey Seletsky Software Architect

Upload: sergey-seletsky

Post on 11-Apr-2017

643 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Continuous delivery by sergey seletsky

Continuous Delivery

Development Process Community

Sergey SeletskySoftware Architect

Page 2: Continuous delivery by sergey seletsky

Agenda• What’s wrong with Scrum?• Evolution• Continuous Delivery• The Era of IoT• Software Architecture• Continuous Deployment• Conclusions

Page 3: Continuous delivery by sergey seletsky

What’s wrong with Scrum?

Page 4: Continuous delivery by sergey seletsky

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

Page 5: Continuous delivery by sergey seletsky

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

Page 6: Continuous delivery by sergey seletsky

Delivery matters

Continuous Delivery

Page 7: Continuous delivery by sergey seletsky

But first - remember, what is Lean?• Methodology like Agile• Main principles1. Waste elimination2. The highest quality3. Delivery ASAP4. Customer satisfaction5. Continuous optimization

Page 8: Continuous delivery by sergey seletsky

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

Page 9: Continuous delivery by sergey seletsky
Page 10: Continuous delivery by sergey seletsky

The Era of IoT

Page 11: Continuous delivery by sergey seletsky

Main challenges brought by IoT• More targeting platforms• More targeting devices• Difficult delivery process• Connectivity• Big Data• Security• Power efficiency

Page 12: Continuous delivery by sergey seletsky
Page 13: Continuous delivery by sergey seletsky

Software Architecture

Microservice

Page 14: Continuous delivery by sergey seletsky

Evolution from Monolithic to Microservice

Desktop

Client

Server

Browser

Web Server

Db Server

Any Device

microservices

API Proxy

Page 15: Continuous delivery by sergey seletsky

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

Page 16: Continuous delivery by sergey seletsky

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

Page 17: Continuous delivery by sergey seletsky

Deployment matters

Continuous Deployment

Page 18: Continuous delivery by sergey seletsky

Continuous Deployment Pipeline

Page 19: Continuous delivery by sergey seletsky

Xamarin Continuous Deployment Pipeline

Page 20: Continuous delivery by sergey seletsky

Deployment GovernanceVM’s

VM VMVM

OrderCustomerReference Data

Page 21: Continuous delivery by sergey seletsky

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

Page 22: Continuous delivery by sergey seletsky

Deployment GovernanceDocker

Order ContainersCustomer ContainerReference Data Container

VM VM

Workflow Container

Page 23: Continuous delivery by sergey seletsky

Reading

Domain Driven DesignEric Evans

Continuous DeliveryJez HumbleDavid Farley

Lean EnterpriseJez HumbleJoanne MoleskyBarry O’Reilly

Building MicroservicesSam Newman

Page 24: Continuous delivery by sergey seletsky

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

[email protected]

WEBSITE:www.softserveinc.com

Questions?

Page 25: Continuous delivery by sergey seletsky

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

[email protected]

WEBSITE:www.softserveinc.com

THANK YOU!