What does being "cloud native" mean? In this session, presented at the Austin Microservices Meetup, I explore the four levels of the ODCA Cloud Application Maturity Model and discuss how microservices and containers can help transform applications.
2. Confidential 2August 14, 2016
High-performing IT organizations
2016 State of DevOps Report
https://puppet.com/resources/white-paper/2016-state-of-devops-report
200x
more frequent
deploys
3x
fewer
failures
24x
faster
recovery
2,555x
shorter lead
times
2.2x
higher employee
satisfaction
3. Dev -> QA -> Ops
Infrastructure as Pets
Traditional apps
DevOps
Infrastructure as Cattle
Cloud-native applications
Few releases per year Continuous Delivery
4. 4
Topics
1. The Cloud-native Application Maturity Model
2. How containers and microservices help
3. Managing cloud-native applications
5. 5
About me
1994
• Founder at Nirmata
• Developer (Java, Go, JavaScript, C++); learning Ops
• Centralized management of complex distributed systems
7. 7
CAMM Level 0: Virtualized
• Tiered applications in Virtual Machines
o Application runs on virtual infrastructure
o Application can be deployed using a script or installer
• Handoffs: Dev QA Ops
OS
App
VM
OS
App
VM
OS
App
VM
8. 8
CAMM Level 1: Loosely Coupled
Applications are decoupled from networks
Applications are decoupled from storage
Application components are service-oriented
(Optional)
1
2
3
10. 10
Through 2018, more than 70% of IT organizations
planning a private PaaS will deploy a container service
(rather than PaaS framework software)
-- Gartner Predicts 2016: PaaS Innovation Continues Unabated
12. 12
CAMM Level 2: Abstracted
Services are stateless
Application is unaware and unaffected by failure of
dependent services
Application is infrastructure agnostic and can run
anywhere
1
2
3
13. 13
1. Elastic: scales up or down independently of other services
2. Resilient: services provide fault isolation boundaries
3. Composable: uniform APIs and a Service Gateway
4. Minimal: smallest possible set of highly cohesive set of entities
5. Complete: can be deployed and versioned independently
A Microservices-style application is composed of several
services and each service is:
https://dzone.com/articles/microservices-five
15. 15
CAMM Level 3: Adaptive
Fully automate application and infrastructure management
Deploy and operate on any cloud
Plan for active-active cloud deployments (future)
1
2
3
16. 16
Two emerging trends…
• In-band management: Chef Habitat, Joyent’s Container Pilot, …
• Out-of-band management: IaaS+, Nirmata
18. 18
Why Nirmata?
Software infrastructure is best
delivered “as-a-service”
Cloud-native applications need
cloud-native management
Applications should not be
locked in to a cloud provider
1
2
3
• Founded Sep 2013 ->
Beta Jan 2015 -> GA 2016!
• Fortune 50 as well as startup
customers in production
• 1M+ pulls; 10K+ managed
containers per month!
• Wide range of apps – from
Enterprise IT to IoT!
we believe….
19. 19
Public or
Private Clouds
Adaptive Management for Cloud-Native Applications
nirmata
any cloud – any device
Connected Devices
Data Centers
DevOps
IT Ops
fully automated deployment – operations - optimization
20. 20
Network
Infrastructure as a Service
HostsOpen Container Runtime
Build – CI/CD
Source Control
Image Registry
Storage
Compute
Security
Host Mgmt
Scheduling & Orchestration
Policy-Based Resource Management
Application Lifecycle Management
Microservices Infrastructure
Monitoring
Logging
Remediation
Alarms
Cloud Virtual Physical
Access Control