Your Journey
To Cloud Native: DevOps, Microservices and Containers
MIKE MAHEU | GO2GROUP | @GO2GROUP
The destination is
the same. We are
just taking a faster
route.
INTRODUCTION
Agenda
The Journey
Cloud Native
DevOps
Microservice Architecture
Containers
Putting it Together
What are we leaving behind?
AN EVOLUTIONARY JOURNEY
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
“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
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
Agenda
The Journey
Cloud Native
DevOps
Microservice Architecture
Containers
Putting it Together
Cloud-native architecture
is built for running in the
cloud.
CLOUD NATIVE
Cloud-native is about how
applications are created
and deployed not where
they are going
BEING CLOUD NATIVE
Cloud-
Native
Languages
Automation
Modular
Stateless
Languages for the cloud
• HTML
• CSS
• Java
• Javascript
• .Net
• Go
• Node.js
• PHP
• Python
• Ruby
Cloud-
Native
Languages
Automation
Modular
Stateless
Automated
Cloud-Native Delivery:
1. Cloud-native applications are automated

2. They need
1. Reliable
2. Repeatable
3. Proven
4. Known working processes

3. Require orchestration and automation tooling
Cloud-
Native
Languages
Automation
Modular
Stateless
On-Premise applications tend to
be Monolithic
1. Cloud-native applications are modular

2. Functionality is broken down into
Microservices that represent business
functionality.
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
Auto-
Provisioning
Architectural
Runway
Elastic
Auto Scaling
Auto
Redundancy
Minimize Failure
Precision
Known and expected
Results
Key Benefits
Agenda
The Journey
DevOps
Cloud Native
Microservice Architecture
Containers
Putting it Together
Within a year of Amazon’s
move to AWS, engineers
deploying code every 11.7
seconds, on average.
CHRISTOPHER NULL, TECH TRAIL BLAZERS
DevOps is culture, practices,
and tooling that supports the
ability to deliver applications
at high velocity.
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
Manage
Infrastructure
with Source
Control
Applied Testing
Unit
Integration
Functional
Code
Documents
Infrastructure
State
Collaboration
Between
Dev and Ops
IaC Best Practices
Teams focus on code and
live in Git.
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
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
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
Agenda
The Journey
Microservice Architecture
Cloud Native
DevOps
Containers
Putting it Together
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
Highly
Maintainable
Loosely
Coupled
Independently
Deployable
Organized
Around
Business
Capabilities
Microservice Basics
Comparison
Monolith VS Microservices
APACHEBROWSER MYSQL DATABASE
Inventory

Service
Shipping
Service
War File
Store Front UI Accounting
Service
Tomcat
MONOLITH
Traditional web application
architecture using MVC design
pattern.
MOBILE
BROWSER
INVENTORY DATABASE
Inventory

Service
Shipping
Service
REST API
Store Front 

Web App
Accounting
Service
Tomcat
ACCOUNTING DATABASE
SHIPPING DATABASE
API

Gateway
MICROSERVICE
Microservice architecture
Divide and conquer. Split up
those data structures
DATA STRUCTURES
Plan how your application will
behave if one service is down.
PLAN
Advantages
of Microservices
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.
Agenda
The Journey
Containers
Cloud Native
DevOps
Microservice Achitecture
Whats Next?
Containers
everything at
Google runs in
containers
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
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.
Kubernetes
a container orchestration
system for automating
containerized
application deployments
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
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
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
One more thing
Putting It All Together
Isolated
CLOUD NATIVE INGREDIENTS
CONTAINERS
MICRO SERVICES CloudAgile
Governance
DEVOPS

Thank you!
We know that was a lot ;)

Your Journey to Cloud-Native Begins with DevOps, Microservices, and Containers