SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Resources
aka.ms/APPS30Repo
aka.ms/APPS30
https://cda.ms/1kh
Goals for this session
Docker, containers, registries + more.
Modernize our app with containers
Review available endpoints for migration.
Demo!
Drawbacks to your datacenter hosted application.
VM’s are great but do you need the whole thing?
Modernization with
containers!
A new way to package, version and manage
software releases.
So what’s a container?
• Clear boundaries for your applications, allowing you to
know which assets belong to which application and who
owns it.
• No more leftover cruft from previous installations or
versions.
• Provides resource isolation, without the overhead of more
VMs.
• Better resource utilization.
• Repeatable builds
Why Containers
Containers run everywhere
How do containers work?
• Containers are basically highly configured processes.
• They leverage kernel features to isolate processes.
• Cgroups control the resources it can consume. (cpu,
memory, blkio, devices, net_prio, etc)
• Namespaces control what the process can see. (net, mnt,
pid, user, ipc, etc)
• The image format is used to move the root directory the
process sees around with the container image.
What’s Docker?
The most popular container runtime!
You can start building applications, testing them in local
Docker environments on your computer and deploy the
same exact image to the cloud.
So what’s a Dockerfile?
A text file that contains instructions for how to
build a Docker image. It's like a batch script, the
first line states the base image to begin with and
then follow the instructions to install required
programs, copy files and so on, until you get the
working environment you need.
FROM python:2.7-slim
WORKDIR /app
COPY . /app
RUN pip install --trusted-host pypi.python.org -r
requirements.txt
EXPOSE 80
ENV NAME World
CMD ["python", "app.py"]
Dockerfile
https://github.com/moby/mob
y/blob/master/image/spec/v1.
md
So What’s a Build?
The action of building a container image based on the
information and context provided by its Dockerfile, plus
additional files in the folder where the image is built.
So What’s a Repo?
A collection of related Docker images, labeled with a tag that
indicates the image version.
A single repo can contain platform variants, such as a Linux
image and a Windows image.
So What’s a Docker
Manifest?
A manifest list is a list of image layers that is created by
specifying one or more (ideally more than one) image
names. It can then be used in the same way as an image
name in docker pull and docker run commands, for example.
So What’s Azure Container
Registry?
A public resource for working with Docker images and its
components in Azure. This provides a registry that is close to
your deployments in Azure and that gives you control over
access, making it possible to use your Azure Active Directory
groups and permissions.
So What’s Azure Container
Instance?
• Containers on demand
• Per-second billing (!)
• Integrations with other Azure services
• No need to provision VM’s or clusters
• Hypervisor level isolation
• Public IP
• Persistent Storage
• Supports both Linux and Windows containers
az group create
az container create
Create an instance using the Azure CLI
Azure CLI
Hold a minute… big news.
Tailwind Traders Acquires Northwind
REDMOND, WA - Tailwind
Traders, Inc announced that
it has agreed to acquire
Northwind Traders, the
venerable "old guard"
international foods company,
in an effort to bolster its
virtual hardware offerings
with some international
culinary flare. Tailwind
agreed to acquire Northwind
for an undisclosed sum and
is assuming control of all of
Northwind's virtual assets,
not excluding the
company's flagship
product: Aniseed Syrup/
"This is a profoundly
wonderful development for
for all involved, and will help
to bring our food products to
a whole new sector of the
market" stated Nancy
Daviolo, Executive Vice
President of Operations.
"We really couldn't be
happier with the
arrangement". The recently-
promoted Daviolo will join
the Tailwind executive team
along with two of her close
associates, Margaret
Peacock and Michael
Suyama. Daviolo took over
Northwind’s company
sales operations in 2012
after Andrew Fuller was
THE DAILY NEWS
theuselessweb.com THE WORLD’S MOST MEH NEWSPAPER - Since 5 seconds ago
Continued on page 8
“The more money we come across, the more problems
we see”
Meet Jill, she’s the new CTO
The Tailwind Traders App
Jill made a decision
Azure App Service
Azure Cosmos DB
Azure SQL Database
Fully Managed Database Platform
Scalable compute for your databases.
Auto-tuning recommendations for your biggest scale
100 TB availability!
99.995% SLA
Highly Available
Managed Databases
Migration path
• Hint - Azure Cloud Shell
contains the “az cli” tool that
allows you to create docker
images without installing
docker on your computer.
Demo
Notice the lack of discussion around Kubernetes?
/MS Learn alert
aka.ms/APPS30MSLearnCollection
/Docs alert
aka.ms/azure-for-containers
Resources
aka.ms/APPS30Repo
aka.ms/APPS30
https://cda.ms/1kh
Modernizing Your Application With Containers

Weitere ähnliche Inhalte

Was ist angesagt?

Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Simplilearn
 

Was ist angesagt? (20)

Docker Container-Introduction and Features
Docker Container-Introduction and FeaturesDocker Container-Introduction and Features
Docker Container-Introduction and Features
 
Docker container a-brief_introduction_2016-01-30
Docker container a-brief_introduction_2016-01-30Docker container a-brief_introduction_2016-01-30
Docker container a-brief_introduction_2016-01-30
 
Docker 101 - High level introduction to docker
Docker 101 - High level introduction to dockerDocker 101 - High level introduction to docker
Docker 101 - High level introduction to docker
 
Dockerizing mule soft esb
Dockerizing mule soft esbDockerizing mule soft esb
Dockerizing mule soft esb
 
Docker 101
Docker 101Docker 101
Docker 101
 
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
 
Introduction to Docker Compose
Introduction to Docker ComposeIntroduction to Docker Compose
Introduction to Docker Compose
 
Docker Basic Presentation
Docker Basic PresentationDocker Basic Presentation
Docker Basic Presentation
 
Discussing the difference between docker dontainers and virtual machines
Discussing the difference between docker dontainers and virtual machinesDiscussing the difference between docker dontainers and virtual machines
Discussing the difference between docker dontainers and virtual machines
 
Docker
DockerDocker
Docker
 
Docker
DockerDocker
Docker
 
Containerization
ContainerizationContainerization
Containerization
 
Docker - Frank Maounis
Docker - Frank MaounisDocker - Frank Maounis
Docker - Frank Maounis
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Introduction to Docker Compose | Docker Intermediate Workshop
Introduction to Docker Compose | Docker Intermediate WorkshopIntroduction to Docker Compose | Docker Intermediate Workshop
Introduction to Docker Compose | Docker Intermediate Workshop
 
Dockers and containers basics
Dockers and containers basicsDockers and containers basics
Dockers and containers basics
 
Intro to Docker (hands-on session)
Intro to Docker (hands-on session)Intro to Docker (hands-on session)
Intro to Docker (hands-on session)
 
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...
 
Containerization Report
Containerization ReportContainerization Report
Containerization Report
 
Docker
DockerDocker
Docker
 

Ähnlich wie Modernizing Your Application With Containers

Ähnlich wie Modernizing Your Application With Containers (20)

DockerCon EU 2015: Day 1 General Session
DockerCon EU 2015: Day 1 General SessionDockerCon EU 2015: Day 1 General Session
DockerCon EU 2015: Day 1 General Session
 
HPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerHPC Cloud Burst Using Docker
HPC Cloud Burst Using Docker
 
Containers - Portable, repeatable user-oriented application delivery. Build, ...
Containers - Portable, repeatable user-oriented application delivery. Build, ...Containers - Portable, repeatable user-oriented application delivery. Build, ...
Containers - Portable, repeatable user-oriented application delivery. Build, ...
 
Docker Roadshow 2016
Docker Roadshow 2016Docker Roadshow 2016
Docker Roadshow 2016
 
Docker Bday #5, SF Edition: Introduction to Docker
Docker Bday #5, SF Edition: Introduction to DockerDocker Bday #5, SF Edition: Introduction to Docker
Docker Bday #5, SF Edition: Introduction to Docker
 
The world of Docker and Kubernetes
The world of Docker and Kubernetes The world of Docker and Kubernetes
The world of Docker and Kubernetes
 
Docker Basic to Advance
Docker Basic to AdvanceDocker Basic to Advance
Docker Basic to Advance
 
DCEU 18: How To Build Your Containerization Strategy
DCEU 18: How To Build Your Containerization StrategyDCEU 18: How To Build Your Containerization Strategy
DCEU 18: How To Build Your Containerization Strategy
 
DCSF19 How To Build Your Containerization Strategy
DCSF19 How To Build Your Containerization Strategy  DCSF19 How To Build Your Containerization Strategy
DCSF19 How To Build Your Containerization Strategy
 
Docker OpenStack Cloud Foundry
Docker OpenStack Cloud FoundryDocker OpenStack Cloud Foundry
Docker OpenStack Cloud Foundry
 
Docker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationDocker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - Presentation
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small business
 
Overview of Docker
Overview of DockerOverview of Docker
Overview of Docker
 
What is Docker & Why is it Getting Popular?
What is Docker & Why is it Getting Popular?What is Docker & Why is it Getting Popular?
What is Docker & Why is it Getting Popular?
 
Docker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & BluemixDocker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & Bluemix
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
 
Axigen on docker
Axigen on dockerAxigen on docker
Axigen on docker
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of Technology
 
Container on azure
Container on azureContainer on azure
Container on azure
 
.docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ....docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ...
 

Mehr von Jay Gordon

Mehr von Jay Gordon (6)

Checklists ✅​ Good enough for NASA and Van Halen?​ ​ Good enough for your app!​
Checklists  ✅​ Good enough for NASA and Van Halen?​ ​ Good enough for your app!​Checklists  ✅​ Good enough for NASA and Van Halen?​ ​ Good enough for your app!​
Checklists ✅​ Good enough for NASA and Van Halen?​ ​ Good enough for your app!​
 
MongoDB Charts Meetup - 7-24-2018
MongoDB Charts Meetup - 7-24-2018MongoDB Charts Meetup - 7-24-2018
MongoDB Charts Meetup - 7-24-2018
 
Solving the Database Problem
Solving the Database ProblemSolving the Database Problem
Solving the Database Problem
 
On Being A Developer Advocate
On Being A Developer AdvocateOn Being A Developer Advocate
On Being A Developer Advocate
 
My First Cluster with MongoDB Atlas
My First Cluster with MongoDB AtlasMy First Cluster with MongoDB Atlas
My First Cluster with MongoDB Atlas
 
MongoDB and DigitalOcean Automation with Cloud Manager
MongoDB and DigitalOcean Automation with Cloud ManagerMongoDB and DigitalOcean Automation with Cloud Manager
MongoDB and DigitalOcean Automation with Cloud Manager
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

Modernizing Your Application With Containers

  • 1.
  • 2.
  • 4. Goals for this session Docker, containers, registries + more. Modernize our app with containers Review available endpoints for migration. Demo!
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11. Drawbacks to your datacenter hosted application.
  • 12. VM’s are great but do you need the whole thing?
  • 13. Modernization with containers! A new way to package, version and manage software releases.
  • 14. So what’s a container? • Clear boundaries for your applications, allowing you to know which assets belong to which application and who owns it. • No more leftover cruft from previous installations or versions. • Provides resource isolation, without the overhead of more VMs. • Better resource utilization. • Repeatable builds
  • 17. How do containers work? • Containers are basically highly configured processes. • They leverage kernel features to isolate processes. • Cgroups control the resources it can consume. (cpu, memory, blkio, devices, net_prio, etc) • Namespaces control what the process can see. (net, mnt, pid, user, ipc, etc) • The image format is used to move the root directory the process sees around with the container image.
  • 18.
  • 19. What’s Docker? The most popular container runtime! You can start building applications, testing them in local Docker environments on your computer and deploy the same exact image to the cloud.
  • 20.
  • 21. So what’s a Dockerfile? A text file that contains instructions for how to build a Docker image. It's like a batch script, the first line states the base image to begin with and then follow the instructions to install required programs, copy files and so on, until you get the working environment you need.
  • 22. FROM python:2.7-slim WORKDIR /app COPY . /app RUN pip install --trusted-host pypi.python.org -r requirements.txt EXPOSE 80 ENV NAME World CMD ["python", "app.py"] Dockerfile https://github.com/moby/mob y/blob/master/image/spec/v1. md
  • 23. So What’s a Build? The action of building a container image based on the information and context provided by its Dockerfile, plus additional files in the folder where the image is built.
  • 24.
  • 25. So What’s a Repo? A collection of related Docker images, labeled with a tag that indicates the image version. A single repo can contain platform variants, such as a Linux image and a Windows image.
  • 26.
  • 27. So What’s a Docker Manifest? A manifest list is a list of image layers that is created by specifying one or more (ideally more than one) image names. It can then be used in the same way as an image name in docker pull and docker run commands, for example.
  • 28.
  • 29. So What’s Azure Container Registry? A public resource for working with Docker images and its components in Azure. This provides a registry that is close to your deployments in Azure and that gives you control over access, making it possible to use your Azure Active Directory groups and permissions.
  • 30.
  • 31.
  • 32. So What’s Azure Container Instance? • Containers on demand • Per-second billing (!) • Integrations with other Azure services • No need to provision VM’s or clusters • Hypervisor level isolation • Public IP • Persistent Storage • Supports both Linux and Windows containers
  • 33. az group create az container create Create an instance using the Azure CLI Azure CLI
  • 34. Hold a minute… big news.
  • 35. Tailwind Traders Acquires Northwind REDMOND, WA - Tailwind Traders, Inc announced that it has agreed to acquire Northwind Traders, the venerable "old guard" international foods company, in an effort to bolster its virtual hardware offerings with some international culinary flare. Tailwind agreed to acquire Northwind for an undisclosed sum and is assuming control of all of Northwind's virtual assets, not excluding the company's flagship product: Aniseed Syrup/ "This is a profoundly wonderful development for for all involved, and will help to bring our food products to a whole new sector of the market" stated Nancy Daviolo, Executive Vice President of Operations. "We really couldn't be happier with the arrangement". The recently- promoted Daviolo will join the Tailwind executive team along with two of her close associates, Margaret Peacock and Michael Suyama. Daviolo took over Northwind’s company sales operations in 2012 after Andrew Fuller was THE DAILY NEWS theuselessweb.com THE WORLD’S MOST MEH NEWSPAPER - Since 5 seconds ago Continued on page 8
  • 36. “The more money we come across, the more problems we see”
  • 37. Meet Jill, she’s the new CTO
  • 39. Jill made a decision
  • 42.
  • 43. Azure SQL Database Fully Managed Database Platform Scalable compute for your databases. Auto-tuning recommendations for your biggest scale 100 TB availability! 99.995% SLA Highly Available Managed Databases
  • 44. Migration path • Hint - Azure Cloud Shell contains the “az cli” tool that allows you to create docker images without installing docker on your computer.
  • 45. Demo
  • 46. Notice the lack of discussion around Kubernetes?

Hinweis der Redaktion

  1. Welcome to Modernizing your Application with containers
  2. My twitter and github are both @jaydestro
  3. Today we’re going to discuss a pretty big topic – Docker, Containers and how to start deploying applications in the cloud We’ll discuss modernization of our application, review available endpoints and demo the process. But before we get started, I need to ask you…. (pause for effect)
  4. (QUESTION TO CROWD): WHERE ARE YOUR APPS? And don’t let me hear you say “the app store”
  5. For some of you, your applications may be still hosted in big pretty datacenters, with tons of redundant power, air conditioning, security and all those really important features we think about when we build apps. But are you really in the business of maintaining hardware?
  6. Or maybe you’ve progressed a bit, but you’re using Virtual Machines for your applications. You’ve lifted and shifted your applications… they are running, but how much time are you spending on managing the backups, patching systems and ensuring your deployment method works.
  7. While everyone else is enjoying life, you’re spending your time patching, checking alerts and monitoring your applications. Why make it more difficult for you, your team and your customers?
  8. Make peace with your infrastructure, make that feeling of deployment bring calm to you… Let’s discuss why we want to change our environment for deploying our application
  9. Let’s get you on that path toward application zen. We’ll begin by asking, what are the big problems we want to solve in our existing environment?
  10. First, let’s discuss cost.  No more large capital expenditure to begin working 
  11. If you peel away all the hype behind containers all that’s left is the simple truth: Containers are a standardized way to package your application, its dependencies, and the runtime environment into a portable “container” that can be run anywhere with the same outcome. Containers allow for repeatable deployments, regardless of the host environment. Containers only need to be provided with runtime data (like connection strings), in order to run.
  12. Containers give developers the ability to create predictable environments, isolated from other applications. Every dependency needed by the application, versions of the runtime, libraries etc., are included in the container and guaranteed to be consistent regardless of where the image is deployed This equals productivity. Developers and Ops teams spend less cycles debugging or diagnosing environment issues and more time pushing features and enhancements to the users.
  13. Containers run anywhere, easing the development and deployment of applications. Windows, Mac, Linux, datacenters, cloud and even IoT. The widespread popularity of the Docker image format for containers helps with the portability. Wherever you want to run your software, you can likely use containers.
  14. Hint at Container orchestration and remind them it will be talked about in greater detail in a later talk The container format is an open standard – called OCI – not constrained to a single vendor Less overhead, higher performance, because they share many resources with the host rather than duplicate them like a VM But fewer isolation guarantees Containers use “namespaces” and “cgroups” to provide isolated resources to the contained application Shared OS kernel is the key differentiator Windows containers are Virtual Machines and some container runtimes isolate containers using VMs as well Kata Containers as an example
  15. - This is a Type 2 Hypervisor in this example (also known as a VMM), a Type 1 Hypervisor would interact with the hardware directly, essentially serving as the host OS
  16. Great API over their runtime – made it simpler for Developers Dockerfile – made it beautiful They came up with the portable image format – zip file. Containers weren’t made for shipping rather made for isolation – eventually containerization became a cloud architecture strategy Dotcloud becomes docker They didn’t create it, they just made it more elegant for devs
  17. Since there is no such thing as Linux containers in the kernelspace, containers are various kernel features tied together, when you are building a large platform or distributed system you want an abstraction layer between your management code and the syscalls and duct tape of features to run a container.  That is where containerd lives.  It provides a client layer of types that platforms can build on top of without ever having to drop down to the kernel level.  It’s so much nicer towork with Container, Task, and Snapshot types than it is to manage calls to clone() or mount().
  18. - Each line is either making changes to the root filesystem or the metadata associated with the image (in the case of commands like ENV or EXPOSE) - Each line in the file also results in a new layer being created in the image - If you're interested in more details about the container image format and metadata stored within the container you can find them here https://github.com/moby/moby/blob/master/image/spec/v1.md
  19. Our Dockerfile is created to make it simple and elegant for developers to deploy applications anywhere.
  20. Here's an example of running a build from the commandline.
  21. Here's an example of listing all the docker images from the commandline.
  22. Here's an example of viewing a docker manifest. You can see that each layer has a hash, information on the arch and os and then the layers that make up the container.
  23. Here's an example of the ACR when you're in the Azure portal1.
  24. Here's an example of how easy it is to login and start your build in your custom registry.
  25. ¸ Containers as a service – a new take on serverless … with VM quality isolation The same as 'docker run' but in the cloud
  26. -n is the shorthand for --name, as is –g for --resource-group Creating an instance is easy in single command. Well in this case, 2 commands because we must create a resource group ( a logical grouping of assets or objects) The ip-address option is set to public so the instance is available externally.
  27. EVERYONE STOP Hold on a minute - iIjust got an alert on my handy dandy smart phone  (shows phone) Look I know it's a cool phone but let me tell you the news...
  28. THE WORLD'S BIGGEST FAKE COMPANY IS UPON US EVERYONE. I'd like to announce that Tailwind Traders has announced that it has come to an agreement to purchase Northwind Traders. Any big fans of these fake companies? Well great, now you all can root for them to be successful together! But there's a catch...
  29. Sure there's a ton of money associated with the deal, but for the money to go the furthest, the board of this new giant fake company has a mandate. SAVE MONEY.
  30. This is Jill, the newly minted CTO of this newly minted mega-fake-corp Jill has informed the IT organization of the mandate and has informed them that the following must be done in the next 12 months in order to see greater profitability by reducing overhead.
  31. The work ahead of this new team is to migrate these services all off of VM’s and into a containerized application. This will help the team reduce the day to day work and help provide a much more rapid and streamlined method of deployment.
  32. The deployment endpoints have been decided upon based on Jill’s investigation into managed platforms that will work best.
  33. The web app’s front end and API Will run in Azure app service. A fully managed application platform, also known as a PaaS (platform as a service) This will remove the need to manage any full operating systems and package management associated with it. Less dependencies by abstracting away the management associated with running this container in the cloud with Azure.
  34.  Azure Cosmos DB is Microsoft's globally distributed, multi-model database service. – This will replace what we were previously using MongoDB on a VM for. Rather we’ll use the multi-model database service with MongoDB API support to store our document data.
  35. Azure SQL Database service will provide us with a similar service for our MS SQL data hosted as part of the tailwind traders web app. We’ll move everything here to continue to simply our solution.
  36. Lets review our migration path before we get started, ok?
  37. And that’s a statement around how we feel about Azure. We want to invent with purpose in how we think about it what we deliver to you but also enable you to invent with purpose. And we do that in some key ways. TRANSITION: I talk about these ways as our promises to you on what Azure will always deliver and why we’ll help you.