Everyone is excited about cloud-native applications. And for good reason! They're scalable, resilient, portable across cloud environments, and make it easier to incorporate customer feedback quickly. But there's a catch: cloud-native applications fundamentally change the way you provision, deploy, and manage your infrastructure.
That's where DevOps, microservices, and containers come in. This session will show you how to combine them to create a highly-automated continuous delivery platform. By streamlining the process to resemble factory assembly lines, you can adapt quickly to market changes and keep your customers happy – without burning your team out.
4. What are we leaving behind?
AN EVOLUTIONARY JOURNEY
5. Microservices
Break up those data
structures
Three Things We’ll Need for Cloud-Native
Containers
Docker and Kubernetes
DevOps
Same drill with some new
bits
6. “Digitally advanced
enterprises are 8x more
likely to grow share but
still lag behind digital
natives.”
Bain Survey: For Traditional Enterprises, the
Path to Digital and the Role of Containers
7. Disrupted Business Models?
Switching to a culture of organizational agility
that can be flexible while maintaining a face
pace.
Digital Innovation Today
Mobile devices, wearables, AI, Chatbots,
Blockchain, and Machine Learning.
Speed:
A must have
to do digital
business
today
14. Cloud-
Native
Languages
Automation
Modular
Stateless
Loosely Coupled
1. The loosely coupled nature of the cloud
enables applications to not be tied to
infrastructure which makes them stateless.
2.On-premise applications are stateful and rely
on their state being maintained on the
infrastructure they are being run on
17. Within a year of Amazon’s
move to AWS, engineers
deploying code every 11.7
seconds, on average.
CHRISTOPHER NULL, TECH TRAIL BLAZERS
18. DevOps is culture, practices,
and tooling that supports the
ability to deliver applications
at high velocity.
19. Cloud-Native DevOps
Infrastructure as Code (IaC)
Is the process of managing and
provisioning computer data centers
through machine-readable definition
files. YAML
Monitoring and Logging
Cloud Native applications require a
different monitoring approach. One
that can include: external polling,
centralized logging, metrics, and
request tracking.
CI / CD
Continuous Integration and
Continuous Deployment are the
backbone of the modern DevOps
environment
Microservices
In a micro services architecture,
services are fine-grained and the
protocols are lightweight
22. Pipelines
• A perfect model for secure, cloud native CI/CD
pipelines
• Fast times to deployment and recovery
Monitoring
Streamlined approach to managing and
observing applications with modern monitoring
frameworks.
Rollback
Stable and reproducible rollbacks ie. revert, fork
GitOps is
Continuous
Delivery
meets Cloud
Native
23. Rollback
Stable and reproducible rollbacks ie. revert, fork
Monitoring
Streamlined approach to managing and
observing applications with modern monitoring
frameworks.
Pipelines
• A perfect model for secure, cloud native CI/CD
pipelines
• Fast times to deployment and recovery
GitOps is
Continuous
Delivery
meets Cloud
Native
24. Monitoring
Streamlined approach to managing and
observing applications with modern monitoring
frameworks.
Rollback
Stable and reproducible rollbacks ie. revert, fork
Pipelines
• A perfect model for secure, cloud native CI/CD
pipelines
• Fast times to deployment and recovery
GitOps is
Continuous
Delivery
meets Cloud
Native
26. In 2008 when Netflix was still operating
as a monolith, a single semicolon brought
down the entire Netflix website.
Why You Can’t Talk
About Microservices
Without Mentioning
Netflix
34. No Vendor Lock-In
Occurs when a customer becomes dependent on a
vendor for products and services. It can be caused by
technical dependencies.
Fault Isolation
The practice of designing systems that limit
negative consequences when bad things happen.
Clarity
Smaller more focussed services allow teams to
focus on more clear and precise requirements. The
requirements are specific to their speciality services.
37. Containers
Benefits
Complexity
Containers Benefits
1. Well defined, isolated runtime environments
2. Packaging by Docker files p
3. Promotion through a CI/CD pipeline
4. Fast provisioning
5. Fast spin up
6. Development to Production
7. Scaling
38. Containers
Benefits
Complexity
Deployment complexity
increases.
• A Container must be deployed many times
throughout the pipeline.
• With so many services needing to be deployed
independently, the number of deployments increases
dramatically.
• Monitoring and logging becomes more complex
based on the increased number of moving parts and
different distributed services.
40. Containerize
an applications by creating Docker config files
and build processes to produce all the necessary
Docker images
Monitoring
If you don’t need any of the points, don’t use
them. We don’t believe in filler, baby!
Kubernetes
to manage deploying , scaling, and updating your
applications
Orchestrate
and monitor
those
containers
like a boss
41. Kubernetes
to manage deploying, scaling, and updating your
applications
Monitoring
If you don’t need any of the points, don’t use
them. We don’t believe in filler, baby!
Containerize
An applications by creating Docker config files
and build processes to produce all the necessary
Docker images
Orchestrate
and monitor
those
containers
like a boss
42. Monitoring
monitor application performance in a K8s cluster
by examining containers, pods, and services
Kubernetes
to manage deploying , scaling, and updating
applications
Containerize
an applications by creating Docker config files
and build processes to produce all the necessary
Docker images
Orchestrate
and monitor
those
containers
like a boss