This document discusses innovation and application modernization using open source tools like Kubernetes and containers. It begins by outlining the challenges of migrating applications to the cloud and describes different approaches from simply redeploying applications to fully rearchitecting them. It then discusses how open source tools like Kubernetes and containers can help with application modernization approaches like lift and shift, microservices, machine learning, and IoT solutions. Specific capabilities and scenarios are provided for each along with examples. The document closes by discussing Microsoft's contributions to open source projects in the Kubernetes and container ecosystem.
7. Cloud migration vs. modernization
MIGRATE MODERNIZE
Redeploy as-is to cloud
• Reduce Capex
• Free up datacenter space
• Quick cloud ROI
IaaS
IaaS: 435% ROI, 73% reduction in
datacenterfootprintand83% reduced
IT outsourcing cost.1
Minimally alter to take better
advantage of cloud
• Faster, shorter, updates
• Code portability
• Greater cloud efficiency
(resources, speed, cost)
PaaS
Containers
PaaS: 466% ROI, 80% time saved, 5.91M NPV, 50% faster deployments.1
Container: 13x more releases, 10x cost reduction, 65% faster developer onboarding, 62% better availability.2
Materially alter/decompose
application to services
• App scale and agility
• Easier adoption of new cloud
capabilities
• Mix technology stacks
PaaS
Serverless
Microservices
New code written with cloud
native approach
• Accelerate innovation
• Build apps faster
• Reduce operational cost
Description
Drivers
Technologies
Results
8. Applications have shifted to the cloud
Past
Long application cycles
Monolithic apps
Servers and VMs
Less data
Desktop
Distinct infrastructure and operations teams
Today
Rapid innovation
Loosely-coupled apps, microservices, and containers
Serverless
Big Data
Mobile
Service-focused DevOps teams
CaaS
Container Platform
On-Premises
Infrastructure Platform
PaaS
Application Platform
FaaS
Serverless Platform
IaaS
Infrastructure Platform
“lift & shift”
9. Applications have shifted to the cloud
Past
Long application cycles
Monolithic apps
Servers and VMs
Less data
Desktop
Distinct infrastructure and operations teams
Today
Rapid innovation
Loosely-coupled apps, microservices, and containers
Serverless
Big Data
Mobile
Service-focused DevOps teams
CaaS
Container Platform
On-Premises
Infrastructure Platform
PaaS
Application Platform
FaaS
Serverless Platform
IaaS
Infrastructure Platform
“lift & shift”
11. Applications have shifted to the cloud
Past
Long application cycles
Monolithic apps
Servers and VMs
Less data
Desktop
Distinct infrastructure and operations teams
Today
Rapid innovation
Loosely-coupled apps, microservices, and containers
Serverless
Big Data
Mobile
Service-focused DevOps teams
CaaS
Container Platform
On-Premises
Infrastructure Platform
PaaS
Application Platform
FaaS
Serverless Platform
IaaS
Infrastructure Platform
“lift & shift”
13. Kubernetes momentum
For the organizations running
Kubernetes today, 77%1 of
those with more than 1,000
developers are running it in
production.
Larger companies
are leading the
adoption.
77%
“By 2020, more than 50% of enterprises
will run mission-critical, containerized
cloud-native applications in production.”
1Heptio: state of Kubernetes 2018
14. Applications have shifted to the cloud
Past
Long application cycles
Monolithic apps
Servers and VMs
Less data
Desktop
Distinct infrastructure and operations teams
Today
Rapid innovation
Loosely-coupled apps, microservices, and containers
Serverless
Big Data
Mobile
Service-focused DevOps teams
CaaS
Container Platform
On-Premises
Infrastructure Platform
PaaS
Application Platform
FaaS
Serverless Platform
IaaS
Infrastructure Platform
“lift & shift”
16. Applications have shifted to the cloud
Past
Long application cycles
Monolithic apps
Servers and VMs
Less data
Desktop
Distinct infrastructure and operations teams
Today
Rapid innovation
Loosely-coupled apps, microservices, and containers
Serverless
Big Data
Mobile
Service-focused DevOps teams
CaaS
Container Platform
On-Premises
Infrastructure Platform
PaaS
Application Platform
FaaS
Serverless Platform
IaaS
Infrastructure Platform
“lift & shift”
17. Build on a secure, enterprise-grade platform
Secure network
communications with
VNET and network policy
Control access through
AAD and RBAC
Put guardrails in your
development process with
Azure Policy
21. From infrastructure to innovation
Responsibilities DIY with Kubernetes Managed Kubernetes
Containerization
Application iteration,
debugging
CI/CD
Cluster hosting
Cluster upgrade
Patching
Scaling
Monitoring and logging
Customer Example of Managed Kubernetes
: Microsoft Azure
Managed Kubernetes
empowers you to achieve more
Focus on your containers and
code, not the plumbing of them
22. Manage Kubernetes with ease
• Automated provisioning,
upgrades, patches
• High reliability, availability
• Easy, secure cluster scaling
• Self-healing
• API server monitoring
• At no charge
API server
Controller
ManagerScheduler
etcd
Store
Cloud
Controller
Self-managed master node(s)
Customer VMs
App/
workload
definitionUser
Docker
Pods
Docker
Pods
Docker
Pods
Docker
Pods
Docker
Pods
Schedule pods over
private tunnel
Kubernetes
API endpoint
Azure managed control plane
Infrastructure automation
23. Manage Kubernetes with ease
Azure Monitor
AKS production cluster
Microservices
Azure Container
Instances (ACI)
Pods
Virtual node
Availability Reliability
Highly available, reliable service with serverless scaling
Auto scaling
24. Accelerate containerized development
Kubernetes and DevOps
better together
Develop
• Native containers and Kubernetes support in IDE
• Remote debugging and iteration for multi-
containers
• Effective code merge
• Automatic containerization
Deliver
• CI/CD pipeline with automated tasks in a few
clicks
• Pre-configured canary deployment strategy
• In depth build and delivery process review and
integration testing
• Private registry with Helm support
Operate
• Out-of-box control plane telemetry, log
aggregation, and container health
• Declarative resource management
• Auto scaling
Inner loop
Test
Debug
Azure
DevSpaces
AKS dev
cluster
Azure Pipelines
Source
code control
Azure
Container
Registry
Helm chart
Container
image
AKS
production
cluster
Azure
Monitor
Scale
Terraform
Develop Deliver Operate
27. Top scenarios for containers + App modernization journey
Cost saving
without refactoring
your app
Lift and shift
to containers
Performance
Low latency
processing
Machine
learning
Portability
Build once,
run anywhere
IoT
Agility
Faster application
development
Microservices
Automation
Deliver code faster and
securely at scale
Secure DevOps
28. App modernization without code changes
Lift and shift to
containers
Microservices Machine learning IoT
• Speed application deployments
by using container technology
• Defend against infrastructure
failures with container
orchestration
• Increase agility with continuous
integration and continuous
delivery
Azure
Container
Registry
Existing
application
Kubernetes cluster
Cloud
Database
Modernized
application
Modernized
application
Modernized
application
CI/CD
Secure DevOps
29. App modernization without code changes
Lift and shift to
containers
Microservices Machine learning IoT
Capabilities
Azure
Container
Registry
Existing
application
Virtual network
AKS
Active
Directory
Database
for MySQL
Azure
Pipelines
Secure DevOps
2. Integrate AKS with Azure Pipelines or
other Kubernetes ecosystem tooling to
enable continuous integration/continuous
delivery (CI/CD)
3. Enhance security with Azure Active
Directory and RBAC to control access to
AKS resources
1. Use Azure Container Registry to store
container images and Helm charts for your
modernized applications, replicated
globally for low latency image serving
30. Microservices: for faster app development
• Independent deployments
• Improved scale and resource
utilization per service
• Smaller, focused teams
Lift and shift to
containers
Microservices Machine learning IoT
Monolithic
APP APP APP
Microservices
Large, all-inclusive app Small, independent services
Secure DevOps
31. Microservices for faster app development
Capabilities
Lift and shift to
containers
Microservices Machine learning IoT
https://github.com/Microsoft/SmartHotel360-
AKS-DevSpaces-Demo
Inner loop Source
code control
Azure
Container
Registry
Azure Pipeline/
DevOps Project
Auto-
build
Azure
Monitor
Test
Debug
Azure
DevSpaces
AKS dev
cluster
AKS production cluster
Pods
Container instances
Pods
CI/CD
Secure DevOps
4. Azure Monitor provides a single pane of
glass for monitoring over app telemetry,
cluster-to-container level health analytics.
3. Virtual node—a Virtual Kubelet
implementation—allows fast scaling of
services for unpredictable traffic.
2. Azure DevOps has native integration with
Helm and helps simplifying continuous
integration/continuous delivery (CI/CD)
1. Use Azure Dev Spaces to iteratively
develop, test, and debug microservices
targeted for AKS clusters.
32. Data scientist in a box
• Quick deployment and high
availability
• Low latency data processing
• Consistent environment across
test, control and production
Compute
Training
data
Algorithm
GPU-enabled VMs
AKS trained
model
AI model in
production
Developer
<>
Data
Scientist
Serve the
model
Lift and shift to
containers
Microservices Machine learning IoT Secure DevOps
https://github.com/Azure/kubeflow-labs
33. Data scientist in a box
Capabilities
https://github.com/Azure/kubeflow-labs
AKS
Kubeflow
Azure Blob
Storage
GPU-enabled
VMS
Azure
Container
Registry
ML model in
containers
Query the model for AI
features in app
Serve the model
in production
Parameter
server node
Worker
nodes
Data
scientist
App
developer
Lift and shift to
containers
Microservices Machine learning IoT Secure DevOps
1. Package ML model into a container and
publish to Azure Container Registry
2. Azure Blob Storage hosts training data
sets and trained model
3. Use Kubeflow to deploy training job to
AKS, distributed training job to AKS
includes Parameter servers and Worker
nodes
4. Serve production model using Kubeflow,
promoting a consistent environment
across test, control and production
5. AKS supports GPU enabled VM
6. Developer can build features querying the
model running in AKS cluster
34. Scalable Internet of Things solutions
• Portable code, runs anywhere
• Elastic scalability and
manageability
• Quick deployment and high
availability
Lift and shift to
containers
Microservices Machine learning IoT
AKS
Database
for MySQL
Azure
Cosmos DB
SQL
Database
IoT Hub
IoT Edge
devices
IoT Edge
Connector
Secure DevOps
35. Scalable Internet of Things solutions
Capabilities
Lift and shift to
containers
Microservices Machine learning IoT
Azure IoT Edge
Compress
Encrypt
Send to Cloud
Azure
Kubernetes cluster
Node
Docker
container
Docker
container
Node
Docker
container
Docker
container
Virtual node
IoT Edge
Provider
Docker
container
Docker
containers
Decrypt
Decompress
Send to Storage
2. Virtual node, an implementation
of Virtual Kubelet, serves as the translator
between cloud and Edge
3. IoT Edge Provider in virtual node redirects
containers to IoT Edge and extend AKS cluster
to target millions of edge devices
4. Consistent update, manage, and monitoring as
one unit in AKS using single pod definition
1. Azure IoT Edge encrypts data and send to
Azure, which then decrypts the data and
send to storage
Secure DevOps
36. Secure DevOps
Lift and shift to
containers
Microservices Machine learning IoT Secure DevOps
• Deliver code faster with
Kubernetes and CI/CD
• Accelerate the feedback loop
with constant monitoring
• Balance speed and security with
continuous security and deep
traceability
</>
Source
code
Build
Pipelines
Release
Pipelines
Kubernetes
cluster
Continuous
Integration
Continuous
Delivery
Deployment
strategies
Monitor &
logging
MonitorIterate
37. AcceptDeny
Release
3
Release
3
Release
N
Release
3
Release
2
Release
1
Azure
Pipelines
Azure
Pipelines
</>
Secure DevOps
Capabilities
Lift and shift to
containers
Microservices Machine learning IoT
1. Developers rapidly iterate, test, and debug different parts
of an application together in the same Kubernetes cluster
Secure DevOps
2. Code is merged into a GitHub repository, after which
automated builds and tests are run by Azure Pipelines
3. Container image is pushed to Azure Container Registry
8. App telemetry, container health monitoring, and real-time
log analytics are obtained using Azure Monitor
9. Insights used to address issues and fed into next sprint plans
4. Kubernetes clusters are provisioned using tools like Terraform;
Helm charts, installed by Terraform, define the desired state of
app resources and configurations
5. Operators enforce policies to govern deployments to the
AKS cluster
6. Release pipeline automatically executes pre-defined
deployment strategy with each code change
7. Policy enforcement and auditing is added to CI/CD pipeline
using Azure Policy
Inner loop
Azure
Container
Registry
Helm chart
Container
image
Azure
Monitor
Azure
Policy
Source
code control
sample code {
iterating.with.team
// in one
// isolated
environment
}
Test
Debug
Azure
DevSpaces
AKS dev
cluster
Terraform
AKS
production
cluster
v1
v2
App
telemetry
Container
health
Real-time
log analytics
46. Building your own AI models
Transforming data into intelligence
Prepare data Build and train Deploy
47. Docker?
On-prem deployment
Azure Container Instance
Azure IoT edge
IoT accelerated targets
Project Brainwave (FPGAs)
Machine Learning
결과
Azure Managed Kubernetes Service
Building your own AI models
Step 3: Deploy
Azure
Azure
Azure
Azure
VM?
48. Building your own AI models
Transforming data into intelligence
Prepare data Build and train Deploy
49. SQL DB
Cosmos DB
Datawarehouse
Data lake
Blob storage
…
Building your own AI models
Transforming data into intelligence
Prepare data Build and train Deploy
53. Microsoft contributions to the community
Topcode contributor to Windows
support in Kubernetes
68%of Kubernetes users prefer Helm
55,000monthly downloads of Helm
1of 3top corporate contributors
3xgrowth of employee
contributors within three years
Created the
Illustrated Children’s
Guide to Kubernetes,
now part of CNCF
54. http://aka.ms/devVN
Thank you!
Join our community!
https://aka.ms/docsVN https://aka.ms/learnVN
Learn!Docs!
Disclaimer
The information herein is for informational purposes only and part of information represents the current view of a presentation author and Microsoft Corporation as of the date of this presentation. Because Microsoft
must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this
presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.