multi-cloud microservices - devops summit silicon valley 2015
TRANSCRIPT
![Page 2: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/2.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
Greater Cloud Adoption Leads to Millions of $$ in Benefits
Source: IDC Business Cloud Advisor, Info Brief, Aug 2015
![Page 3: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/3.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
Cloud Application Maturity Model
You are here
ODCA Best Practices: Architecting Cloud-Aware Applications Rev. 1.0
![Page 4: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/4.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
Agenda
• Introduction
• CAMM Level 1: Loosely Coupled
• CAMM Level 2: Abstracted
• CAMM Level 3: Abstracted
• Summary
![Page 5: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/5.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
About me• Founder at Nirmata
• Software Developer (C++, Java, Javascript, Go)
• Large-scale distributed systems
![Page 6: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/6.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
Cloud native applications are crafted to run optimally on cloud infrastructure
![Page 7: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/7.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
CAMM Level 0: Virtualized
• Monoliths in VMs
o Application runs on virtual infrastructureo Application can be deployed using an image or script
• Dev QA Ops
OS
App
VM
OS
App
VM
OS
App
VM
![Page 8: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/8.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
Agenda
• Introduction
• CAMM Level 1: Loosely Coupled
• CAMM Level 2: Abstracted
• CAMM Level 3: Adaptive
• Summary
![Page 9: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/9.jpg)
CAMM Level 1: Loosely Coupled
• Application is composed of loosely coupled services
• Application services are discoverable by name
• Application compute and storage are separated
• Application consumes one or more cloud services (compute, network, storage)
ODCA Best Practices: Architecting Cloud-Aware Applications Rev. 1.0
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015
![Page 10: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/10.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
“Coupling refers to the degree of direct knowledge that one component has of another”
great interfaces are minimal but complete!
![Page 11: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/11.jpg)
Decoupling from NetworksService Naming, Registration, and Discovery
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
e.g. Eureka, Consul, Nirmata, Zookeeper
• Each Service Instance registers its availability
• Other services can resolve a well known name to a Service Instance locations
connect with me at:
orders.shopping.com
192.168.100.23:9065
192.168.111.12:9121
192.168.213.121:8131192.168.121:6425
![Page 12: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/12.jpg)
Decoupling from Storage
• Data Services
• Inject (or lookup) data service addresses
• Application Configuration
• Environment variables
• INI files
• Application Logs
• Logging service
• Logs as streams - collectors and aggregators
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
![Page 13: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/13.jpg)
Decoupling a Monolith
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
Module A Module B
Web
Service A Service B
Web
DB DB DB
![Page 14: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/14.jpg)
Steps for Level 11. Decouple application components from networks
2. Decouple application components from storage
3. Decouple application modules into services (Optional)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
![Page 15: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/15.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
Agenda
• Introduction
• CAMM Level 1: Loosely Coupled
• CAMM Level 2: Abstracted
• CAMM Level 3: Adaptive
• Summary
![Page 16: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/16.jpg)
CAMM Level 2: Abstracted
1. Services are stateless
2. Application is unaware and unaffected by failure of dependent services
3. Application is infrastructure agnostic and can run anywhere
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015
ODCA Best Practices: Architecting Cloud-Aware Applications Rev. 1.0
![Page 17: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/17.jpg)
Steps for Level 2
1. Containerize the application
2. Evolve to Microservices
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
![Page 18: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/18.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
Containers are a key building block
Immutable application images
Standard units of operations
Separation of DevOps concerns
![Page 19: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/19.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
Server
Hypervisor
Virtual Machine Containers
Guest OS
Libs/Bins
App
Libs / Bins
App App
Libs / Bins
App
Guest OS
Libs/Bins
App
Server
Host OS
Docker / RunC / Rocket
![Page 20: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/20.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
http://blog.octo.com/en/docker-registry-first-steps/
Container Lifecycle
![Page 21: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/21.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
https://docs.docker.com/v1.7/terms/images
• Common image layers can be shared
• Only deltas need to be pulled / updated
Container Image Layers
![Page 22: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/22.jpg)
Steps for Level 2
1. Containerize the application
2. Evolve to Microservices
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
![Page 23: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/23.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
An initial motivation for Microservices was scalability
* The Art of Scalability; AKF Scale Cube
![Page 24: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/24.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
X-Axis Scalingscale by replicating the entire application
Client Load Balancer Application
Application
Application
![Page 25: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/25.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
Y-Axis Scalingscale by splitting the application
Client Load BalancerCustomers
Service
Catalog Service
Orders Service
/catalog
/customers
/orders
![Page 26: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/26.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
Z-Axis Scaling
Client Load BalancerCatalog
Service 3
Catalog Service 1
Catalog Service 3
/catalog [A – I]
/catalog [J – R]
/catalog [S – Z]
scale by splitting the data
![Page 27: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/27.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
Microservices combines X-Y axis scalingscale by splitting the application & replicating services
Client Load BalancerCustomers
Service
Catalog Service
Orders Service
/catalog
/customers
/orders
![Page 28: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/28.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
Microservices combines X-Y axis scalingscale by splitting the application & replicating services
Client Load BalancerCustomers
Service
Catalog Service
Orders Service
/catalog
/customers
/orders
Best scalability
Best efficiency
![Page 29: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/29.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
![Page 30: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/30.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
1. Elasticscales up or down independently of other services
2. Resilientservices provide fault isolation boundaries
3. Composableuniform APIs are used for each service
4. Minimalhighly cohesive set of entities
5. Completeloosely coupled with other services
A Microservices application is composed of several cooperating but independent services. Each Service is:
![Page 31: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/31.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
Agenda
• Introduction
• CAMM Level 1: Loosely Coupled
• CAMM Level 2: Abstracted
• CAMM Level 3: Adaptive
• Summary
![Page 32: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/32.jpg)
CAMM Level 3: Adaptive
1. Application can dynamically migrate across infrastructure providers without interruption of services
2. Application can elastically scale out/in appropriately based on stimuli
ODCA Best Practices: Architecting Cloud-Aware Applications Rev. 1.0
![Page 33: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/33.jpg)
Why Enterprises choose Multiple Clouds?
1. Hybrid Cloud
2. Privacy and Data Locality
3. Avoid application lock-in
4. Resiliency and Availability
5. Flexibility
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
![Page 34: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/34.jpg)
Application Management
• Is my application management coupled to a cloud provider?
• Is my application management cloud-native?
• What is the right architecture for application management?
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
![Page 35: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/35.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
IaaS
PaaS
SaaS
The NIST definition of Cloud ComputingSpecial Publication 800-145
![Page 36: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/36.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
IaaS
PaaS
SaaS
“The popular wisdom that cloud computing comes in three flavors - SaaS, IaaS and PaaS no longer describes reality,”
-- Forrester Wave
![Page 37: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/37.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
ApplicationServices
Infrastructure Services
Cloud Native Applications
• Composable Services
• Complement, not hide, infrastructure services
• Offer full visibility and control
Application (management) Services
![Page 38: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/38.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
deploy operate optimize
Complete application container lifecycle management
Single management and control plane across any cloud
Highly scalable cloud-native service
The Nirmata Approach
![Page 39: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/39.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
Policy Based Orchestration
Real time Analytics
Application Blueprints
DevOps Pipeline
Nirmata Control Plane
Host Agent
The Nirmata Solution
Service DB
Service Gateway
Data Plane:• Secure agents• Seamless Service Discovery• Distributed Load-balancing• Programmable routing
Host (or VM)
DNS / LB
![Page 40: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/40.jpg)
Steps for Level 31. Automate application and infrastructure management
Automated deployment, auto-recovery, auto-scalability, etc.
2. Deploy and operate on any cloud
3. (Optional) Plan for active-active cloud deployments
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
![Page 41: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/41.jpg)
Solution demos
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
http://youtube.com/nirmata
![Page 42: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/42.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
Agenda
• Introduction
• CAMM Level 1: Loosely Coupled
• CAMM Level 2: Abstracted
• CAMM Level 3: Adaptive
• Summary
![Page 43: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/43.jpg)
Cloud Native Test
Level 0: Virtualized
Can you redeploy your entire application in minutes?
Level 1: Loosely Coupled
Is your application decoupled from specific IP addresses, ports, file systems and paths?
Can your application survive, and auto-recover from, infrastructure (compute, network, storage) failures?
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
![Page 44: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/44.jpg)
Cloud Native Test
Can you upgrade and downgrade, your application
(or parts of the application) without any impact to
users?
Can you run multiple versions of your application
services, in the same environment at the same time?
Can you safely test in production?
If a part of an application fails, will other parts
continue to operate?
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
Level 2: Abstracted
![Page 45: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/45.jpg)
Cloud Native Test
Can parts of your application scale-up and scale-
down automatically, based on user load or other
factors?
Can you deploy application components across
cloud providers?
Can you deploy an application component on a
different cloud provider?
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
Level 3: Adaptive
![Page 46: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/46.jpg)
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
Containerize Automate Transformyour applications deployment & operations DevOps - Microservices
![Page 47: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/47.jpg)
Summary
1. Cloud adoption results in cost savings and agility
2. Containers and Microservices are key technologies for cloud-native applications
3. Application services, like Nirmata, will expedite your journey
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015 Nirmata
![Page 48: Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015](https://reader033.vdocument.in/reader033/viewer/2022052606/58e7f9b91a28abf13f8b5063/html5/thumbnails/48.jpg)
Start your journey to Multi-cloud Microservices at:http://try.nirmata.io
11/6/2015 Multi-cloud Microservices, DevOps Summit 2015
Thank you!