agile tour pune 2015: agility with microservices and devops: archana joshi and yatin kulkarni

16
AGILITY WITH MICROSERVICES & DEVOPS Archana Joshi & Yatin Kulkarni Cognizant

Upload: india-scrum-enthusiasts-community

Post on 19-Jan-2017

455 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi and Yatin Kulkarni

AGILITY WITH MICROSERVICES & DEVOPS

Archana Joshi & Yatin Kulkarni

Cognizant

Page 2: Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi and Yatin Kulkarni

State of the Union – Where are we heading?

• Digital Disruption,

• Way of working is keeping pace

• Architectural paradigms are lagging

Page 3: Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi and Yatin Kulkarni

Microservices – Modularity on steroids!

•Origins in philosophy

•2005 – web-services

•2011 – Services

Page 4: Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi and Yatin Kulkarni

Microservices – Modularity on steroids!

microservicesis a software architecture style in which complex

applications are composed of small, independent processes

(based on business) communicating with each other using

language-agnostic APIs

(Source: wikipedia)

Page 5: Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi and Yatin Kulkarni

Microservices – Early adopters

Page 6: Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi and Yatin Kulkarni

Microservices – One of the top trends

Microservices - Essential

to produce a continuous

digital experience

Source: Gartner Oct 2015 – Top 10 technology trends for 2016

Source: MuleSoft 2015 survey of 300 IT decision makers (ITDMs) to assess how

organizations of all sizes are implementing and planning for APIs

Page 7: Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi and Yatin Kulkarni

DevOps – Collaborate and Automate

Baked-in collaboration

Cross-functional teams and skills

Continuous delivery

Small, frequent updates

Instant deployments

Quick transition in the app lifecycle

Automation

Real-time visibility and updates

Development and operations aligned

Reduced service disruption

Quick value delivery

Increased volume of new applications, updates and

patches

Streamlined processes

Time to market

Service quality

Risk management

Agility

Page 8: Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi and Yatin Kulkarni

Agile, Microservices, DevOps – A “ménage a trois” made

in heaven!

• Dependency management simplified

• Well suited for large distributed teams by dividing work across pairs, locations

• High technical debt associated with adopting microservices can only be

managed through appropriate DevOps tools

• DevOps takes center stage instead of being an after thought by becoming an

integral part of the process

Page 9: Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi and Yatin Kulkarni

And the rubber hits the road – SOA to Microservices in 3

“easy” steps…

• Step 1 – Modularize your service silos by applying Domain Driven Design

(DDD) specifically Bounded Contexts

• Step 2 – Adopt a PaaS platform for the build process – Heroku, CloudFoundry,

etc.

• Step 3 – Adopt a container technology for deployment - Docker, LXD, etc.

Page 10: Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi and Yatin Kulkarni

Step 1 - Better Agility through Domain Driven Design

• Small Teams (no more than 4 developers) per Bounded Context

• Decentralized data store design to reduce dependencies

• Promote use of polyglot persistence across various data stores

• Manage data consistency challenges through use of MDM tools to ensure

eventual consistency

• Employ Contract Driven Development

• Choose most appropriate technology for a given Microservice

• Abide by the other principles of The Twelve Factor App (http://12factor.net/)

Page 11: Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi and Yatin Kulkarni

Example of a classic SOA based application

Service Deployments

Primary Data

Store

Replicated

Data Store

Web Apps

Web Store Fulfillment Call Center

Customer

Management

Order

ManagementLogistics

Management

Inventory

Management

Mobile Apps

Customer Internal

Content

Management

Partner

Systems

Service Gateway (Typically an ESB)

Page 12: Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi and Yatin Kulkarni

Microservices based Application architecture

Service Deployments

Web Apps

Web Store Fulfillment Call Center

Mobile Apps

Customer Internal

Content

Management

Partner

Systems

Service Gateway (Typically just a Load Balancer)

Page 13: Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi and Yatin Kulkarni

Step 2 – Better Agility through Continuous Integration

Done Right

• Use platforms such as Heroku/Cloud Foundry/Docker to

– Internalize environment/configuration management so as to achieve

Dev/Prod parity

–Promote use of immutable instances and thus horizontal scalability

–Allow for service evolution through versioning with minimal disruption

– Instutionalize the use of “Operationalized Architecture” so that DevOps

(CI/CD/Monitoring) become a first class concern

• Plan for complete test automation including functional and

integration testing

Page 14: Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi and Yatin Kulkarni

Step 3 – Better Agility through Continuous Deployment &

Monitoring• Adopt container based deployment to optimally utilize available compute and storage

resources by

– Deploying a single microservice per container

– Leveraging Blue/Green Deployments to minimize risk

– Managing Scalability for individual microservices

• Leverage appropriate monitoring tools to be able to respond quickly and efficiently manage failures.

• Introduce platforms for API management and discoverability (Apigee, Apis.io, etc) to promote adoption and reusability

• Invest in Networking as a Service tools (SDN, Fan, etc) for managing large scale microservices deployments

Page 15: Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi and Yatin Kulkarni

The future is here – Everything you need to build

Microservices in a box

AWS Lambda

Spring Cloud

Azure Service Fabric

Page 16: Agile Tour Pune 2015: Agility with Microservices and Devops: Archana Joshi and Yatin Kulkarni

THANK YOUhttps://in.linkedin.com/in/arcjoshi

https://in.linkedin.com/in/yatinkulkarni