SlideShare a Scribd company logo
1 of 61
Introducing
Microsoft Azure
What is the cloud?
Cloud Computing
Cloud Services (a.k.a Cloud Models)On Premises
Storage
Servers
Networking
O/S
Middleware
Virtualization
Data
Applications
Runtime
Youmanage
Infrastructure
(as a Service)
Storage
Servers
Networking
O/S
Middleware
Virtualization
Data
Applications
Runtime
ManagedbyMicrosoft
Youmanage
Platform
(as a Service)
ManagedbyMicrosoft
Youmanage
Storage
Servers
Networking
O/S
Middleware
Virtualization
Applications
Runtime
Data
Software
(as a Service)
ManagedbyMicrosoft
Storage
Servers
Networking
O/S
Middleware
Virtualization
Applications
Runtime
Data
Cloud Services hungry kya!On Premises
Made at home
Toppings
Tomato Sauce
Cheese
Fire
Owen
Pizza Dough
Soda
Dining Table
Electricity/Gas
Youmanage
IaaS
Take and Bake
Topping
Tomato Sauce
Cheese
Fire
Owen
Pizza Dough
Soda
Dining Table
Electricity/Gas
ManagedbyVendor
Youmanage
PaaS
Pizza delivered
ManagedbyVendor
Youmanage
Topping
Tomato Sauce
Cheese
Fire
Owen
Pizza Dough
Dinning Table
Electricity/Gas
Soda
SaaS
Dine out
ManagedbyVendor
Topping
Tomato Sauce
Cheese
Fire
Owen
Pizza Dough
Dinning Table
Electricity/Gas
Soda
Why the cloud?
Why the
cloud?
• Rapidly setup environments to drive business priorities
• Scale to meet peak demands
• Increase daily activities, efficiency and reduced cost.
Infrastructure
designed for Scale
Demo: Azure Portal
ASP.NET Core High-Level Overview
Demo: .Net Core with Azure
Speaker Name
you@email.com
@twitter
Azure Functions
For Serverless computing
Mohit Chhabra
mohitchhabra@techie.com
Mohit_techy
Azure Functions
For Serverless computing
The “Evolution” of Application Platforms
What is Serverless?
Serverless is Great!
Serverless Application Platform Components
Common Scenarios
Web Glue
Bots IoT
Azure Functions
Create a “serverless”
event-driven
experience that
extends the existing
Azure App Service
platform by building
“nanoservices” that can
scale based on
demand
Supported Languages and Tools
Create functions in
JavaScript, C#, Python,
and PHP, as well as
scripting options such as
Bash, Batch, and
PowerShell, that can be
triggered by virtually
any event in Azure, 3rd
party services, or on
premise systems
Common Scenarios
Your App or
Service
Office
365
Office
Graph
Azure
Storage
Other
Functions
Legacy
Systems
Web
Services
• Timer-based processing
• Azure service event processing
• SaaS event processing
• Serverless web application
architectures
• Serverless mobile backends
• Real-time stream processing
• Real-time bot messaging
Function App Templates
Function App templates are
categorized into general areas of
Timer, Data Processing, and
Webhook & API
• BlobTrigger
• EventHubTrigger
• Generic webhook
• GitHub webhook
• HTTPTrigger
• QueueTrigger
• ServiceBusQueueTrigger
• ServiceBusTopicTrigger
• TimerTrigger
• Blank & Experimental
Timer Function Apps
• Run at explicitly specified intervals, like every day at 2:00 am
using CRON expressions, like “0 */5 * * * *“ (every 5 minutes)
• Can send information to other systems, but typically don’t
“return” information, only write to logs
• Great for redundant cleanup and data management
• Great for checking state of services
• Can be combined with other functions
Data Processing Function Apps
• Run when triggered by a data event, such as an item being
added to a queue or container
• Typically have in and out parameters
• Great for responding to CRUD events
• Great for performing CRUD events
• Great for moving content
• Access data across services
Webhook & API Function Apps
• Triggered by events in other services, like GitHub, Team
Foundation Services, Office 365, OneDrive, Microsoft
PowerApps
• Takes in a request and sends back a response
• Often mimic Web API and legacy web services flows
• Typically need CORS settings managed
• Best for exposing functionality to other apps and services
• Great for building Logic Apps
code
Anatomy of a Function
• A “Run” file that containing the
function code
• A “Function” file containing all
service and trigger bindings and
parameters
• A “Project” file containing project
assembly and NuGet package
references
• App Service settings, such as
connection strings and API keys
.NET Core and
Project references
Function
configuration
Executable code
Function Bindings
Type Service Trigger Input Output
Schedule Azure Functions ✔
HTTP (REST or webhook) Azure Functions ✔ ✔*
Blob Storage Azure Storage ✔ ✔ ✔
Events Azure Event Hubs ✔ ✔
Queues Azure Storage ✔ ✔
Tables Azure Storage ✔ ✔
Tables Azure Mobile Apps ✔ ✔
No-SQL DB Azure DocumentDB ✔ ✔
Push Notifications Azure Notification Hubs ✔
Bindings serve as the basis for all connections to and from a
function. Many bindings can be “bi-directional” as well.
Testing Functions
• Command-line tools
• 3rd party products such as
Postman and Swagger
• Direct web calls via cURL
• Nested functions
• Microsoft Azure Storage
Explorer
• Visual Studio Cloud
Explorer
References
• https://azure.microsoft.com
• https://azure.microsoft.com/en-in/services/functions/
• https://info.microsoft.com/microsoft-serverless-approach-webinar-
on-demand.html
• https://docs.microsoft.com
The “Evolution” of Application Platforms
What is Serverless?
Serverless is Great!
Serverless Application Platform Components
Common Scenarios
Web Glue
Bots IoT
Azure Functions
Create a “serverless”
event-driven experience
that extends the existing
Azure App Service
platform by building
“nanoservices” that can
scale based on demand
Supported Languages and Tools
Create functions in
JavaScript, C#, Python,
and PHP, as well as
scripting options such as
Bash, Batch, and
PowerShell, that can be
triggered by virtually any
event in Azure, 3rd party
services, or on premise
systems
Common Scenarios
Your App or
Service
Office 365
Office
Graph
Azure
Storage
Other
Functions
Legacy
Systems
Web
Services
• Timer-based processing
• Azure service event processing
• SaaS event processing
• Serverless web application
architectures
• Serverless mobile backends
• Real-time stream processing
• Real-time bot messaging
Function App Templates
Function App templates are
categorized into general areas of
Timer, Data Processing, and
Webhook & API
• BlobTrigger
• EventHubTrigger
• Generic webhook
• GitHub webhook
• HTTPTrigger
• QueueTrigger
• ServiceBusQueueTrigger
• ServiceBusTopicTrigger
• TimerTrigger
• Blank & Experimental
Timer Function Apps
• Run at explicitly specified intervals, like every day at 2:00 am using
CRON expressions, like “0 */5 * * * *“ (every 5 minutes)
• Can send information to other systems, but typically don’t
“return” information, only write to logs
• Great for redundant cleanup and data management
• Great for checking state of services
• Can be combined with other functions
Data Processing Function Apps
• Run when triggered by a data event, such as an item being added
to a queue or container
• Typically have in and out parameters
• Great for responding to CRUD events
• Great for performing CRUD events
• Great for moving content
• Access data across services
Webhook & API Function Apps
• Triggered by events in other services, like GitHub, Team
Foundation Services, Office 365, OneDrive, Microsoft PowerApps
• Takes in a request and sends back a response
• Often mimic Web API and legacy web services flows
• Typically need CORS settings managed
• Best for exposing functionality to other apps and services
• Great for building Logic Apps
code
Anatomy of a Function
• A “Run” file that containing the
function code
• A “Function” file containing all service
and trigger bindings and parameters
• A “Project” file containing project
assembly and NuGet package
references
• App Service settings, such as
connection strings and API keys
.NET Core and Project
references
Function configuration
Executable code
Function Bindings
Type Service Trigger Input Output
Schedule Azure Functions ✔
HTTP (REST or webhook) Azure Functions ✔ ✔*
Blob Storage Azure Storage ✔ ✔ ✔
Events Azure Event Hubs ✔ ✔
Queues Azure Storage ✔ ✔
Tables Azure Storage ✔ ✔
Tables Azure Mobile Apps ✔ ✔
No-SQL DB Azure DocumentDB ✔ ✔
Push Notifications Azure Notification Hubs ✔
Bindings serve as the basis for all connections to and from a function.
Many bindings can be “bi-directional” as well.
References
• https://azure.microsoft.com
• https://azure.microsoft.com/en-in/services/functions/
• https://info.microsoft.com/microsoft-serverless-approach-webinar-
on-demand.html
• https://docs.microsoft.com
Mohit Chhabra
Mohitchhabra@techie.com
@Mohit_techy
Overview
Containerization
with Microsoft Azure
Containers
• Lightweight alternative to virtual machines
• Smaller, less expensive, faster to start up, and self-contained
Host Operating System
Hypervisor
Guest OS
Libraries
App
Guest OS
Libraries
App
Guest OS
Libraries
App
Operating System
Container Engine
Libraries
App
Libraries
App
Libraries
App
Virtual Machines
Containers
Docker
• Leading open-source
containerization platform
• Supported natively in Azure
Docker containers wrap up a piece of software
in a complete filesystem that contains
everything it needs to run: code, runtime,
system tools, system libraries – anything you
can install on a server. This guarantees that it
will always run the same, regardless of the
environment it is running in
Docker Architecture
Docker CLI
• Command-line interface for Docker, available for Linux, OS X, and
Windows (available separately or as part of Docker Toolbox)
Running a Container
docker run -i -t ubuntu /bin/bash
Common Docker CLI Commands
docker run - Use an image to run a container
docker pull - Pull an image from a registry
docker build - Build a Docker image
docker exec - Execute a command in a container
docker stop - Stop a running container
docker images - List available Docker images
docker ps - List running Docker containers
Azure Container Service
• Provides robust, ready-to-use Docker hosting environment
• Uses open-source orchestration tools (DC/OS and Swarm)
Container Orchestration
• Facilitates deployment and management of containers
• Containers by design are intended to be deployed in large volumes
with some applications using dozens to even thousands of containers
• With this type of scale, automating container deployment and
management with orchestration software becomes necessary
• Azure Container service supports Kubernetes, DC/OS, and Docker
Swarm
Container Clusters
• Facilitate load balancing, scalability, and high availability
• A cluster is composed of master nodes which control the
orchestration, and agent nodes that host the containers
Kubernetes
• Open-source orchestration engine from Google
• Provides a robust framework for container orchestration, yet remains
lightweight and scalable
• Supported by Azure Container Service and tightly integrated with ACS,
allowing Kubernetes to modify deployments
DC/OS
• Datacenter Operating System built on Apache Mesos
• Creates logical data centers and abstracts underlying hardware
• Provides resources traditionally provided by infrastructure, including
networking, DNS, and load balancing
• Natively supported by Azure Container Service
Docker Swarm
• Docker’s own orchestration engine
• Current releases of the Docker engine have
“Swarm Mode” built in and can many of the
same things that other orchestration engines do
• Lacks a GUI, but makes up for it with tight
integration with Docker
• Natively supported by Azure Container Service
http://azureguy.azurewebsites.net/working-azure-container-registry-azure-kubernetes-service/

More Related Content

What's hot

Dealing with and learning from the sandbox
Dealing with and learning from the sandboxDealing with and learning from the sandbox
Dealing with and learning from the sandbox
Elaine Van Bergen
 
Share point 2013 in a hybrid world
Share point 2013 in a hybrid worldShare point 2013 in a hybrid world
Share point 2013 in a hybrid world
Jethro Seghers
 

What's hot (20)

CoLabora - Identity in a World of Cloud - June 2015
CoLabora - Identity in a World of Cloud - June 2015CoLabora - Identity in a World of Cloud - June 2015
CoLabora - Identity in a World of Cloud - June 2015
 
ECS19 - Patrick Curran, Eric Shupps - SHAREPOINT 24X7X365: ARCHITECTING FOR H...
ECS19 - Patrick Curran, Eric Shupps - SHAREPOINT 24X7X365: ARCHITECTING FOR H...ECS19 - Patrick Curran, Eric Shupps - SHAREPOINT 24X7X365: ARCHITECTING FOR H...
ECS19 - Patrick Curran, Eric Shupps - SHAREPOINT 24X7X365: ARCHITECTING FOR H...
 
[Vončina] Configuring SharePoint 2016 for BI Scenarios
[Vončina] Configuring SharePoint 2016 for BI Scenarios[Vončina] Configuring SharePoint 2016 for BI Scenarios
[Vončina] Configuring SharePoint 2016 for BI Scenarios
 
2 Speed IT powered by Microsoft Azure and Minecraft
2 Speed IT powered by Microsoft Azure and Minecraft2 Speed IT powered by Microsoft Azure and Minecraft
2 Speed IT powered by Microsoft Azure and Minecraft
 
O365Con19 - Developing Timerjob and Eventhandler Equivalents - Adis Jugo
O365Con19 - Developing Timerjob and Eventhandler Equivalents - Adis JugoO365Con19 - Developing Timerjob and Eventhandler Equivalents - Adis Jugo
O365Con19 - Developing Timerjob and Eventhandler Equivalents - Adis Jugo
 
ECS19 - Mike Ammerlaan - Integrate with OneDrive and SharePoint Files
ECS19 - Mike Ammerlaan - Integrate with OneDrive and SharePoint FilesECS19 - Mike Ammerlaan - Integrate with OneDrive and SharePoint Files
ECS19 - Mike Ammerlaan - Integrate with OneDrive and SharePoint Files
 
ECS19 - Mike Ammerlaan - Microsoft Graph Data Connect
ECS19 - Mike Ammerlaan - Microsoft Graph Data ConnectECS19 - Mike Ammerlaan - Microsoft Graph Data Connect
ECS19 - Mike Ammerlaan - Microsoft Graph Data Connect
 
Azure PaaS (WebApp & SQL Database) workshop solution
Azure PaaS (WebApp & SQL Database) workshop solutionAzure PaaS (WebApp & SQL Database) workshop solution
Azure PaaS (WebApp & SQL Database) workshop solution
 
Windows Azure Workflows Manager - Running Durable Workflows in the Cloud and ...
Windows Azure Workflows Manager - Running Durable Workflows in the Cloud and ...Windows Azure Workflows Manager - Running Durable Workflows in the Cloud and ...
Windows Azure Workflows Manager - Running Durable Workflows in the Cloud and ...
 
Rev Your Engines: SharePoint Performance Best Practices
Rev Your Engines: SharePoint Performance Best PracticesRev Your Engines: SharePoint Performance Best Practices
Rev Your Engines: SharePoint Performance Best Practices
 
Toyko azure meetup # 1 azure paa s overview
Toyko azure meetup # 1   azure paa s overviewToyko azure meetup # 1   azure paa s overview
Toyko azure meetup # 1 azure paa s overview
 
ECS19 - Paul Collinge - Transforming enterprise network connectivity in a clo...
ECS19 - Paul Collinge - Transforming enterprise network connectivity in a clo...ECS19 - Paul Collinge - Transforming enterprise network connectivity in a clo...
ECS19 - Paul Collinge - Transforming enterprise network connectivity in a clo...
 
Comparison and mapping between various cloud services 2019
Comparison and mapping between various cloud services 2019Comparison and mapping between various cloud services 2019
Comparison and mapping between various cloud services 2019
 
No SQL, No Problem: Use Azure DocumentDB
No SQL, No Problem: Use Azure DocumentDBNo SQL, No Problem: Use Azure DocumentDB
No SQL, No Problem: Use Azure DocumentDB
 
Dealing with and learning from the sandbox
Dealing with and learning from the sandboxDealing with and learning from the sandbox
Dealing with and learning from the sandbox
 
Integrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service PlatformIntegrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service Platform
 
Alfresco Transform Service DevCon 2019
Alfresco Transform Service DevCon 2019Alfresco Transform Service DevCon 2019
Alfresco Transform Service DevCon 2019
 
Azure Functions @ global azure day 2017
Azure Functions  @ global azure day 2017Azure Functions  @ global azure day 2017
Azure Functions @ global azure day 2017
 
Ecs19 - Hans Brender - Is OneDrive Really Enterprise Ready
Ecs19 - Hans Brender -  Is OneDrive Really Enterprise ReadyEcs19 - Hans Brender -  Is OneDrive Really Enterprise Ready
Ecs19 - Hans Brender - Is OneDrive Really Enterprise Ready
 
Share point 2013 in a hybrid world
Share point 2013 in a hybrid worldShare point 2013 in a hybrid world
Share point 2013 in a hybrid world
 

Similar to Azure full

Azure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish KalamatiAzure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish Kalamati
Girish Kalamati
 

Similar to Azure full (20)

Azure Functions & Serverless Computing
Azure Functions & Serverless ComputingAzure Functions & Serverless Computing
Azure Functions & Serverless Computing
 
Azure Functions 101
Azure Functions 101Azure Functions 101
Azure Functions 101
 
2014.10.22 Building Azure Solutions with Office 365
2014.10.22 Building Azure Solutions with Office 3652014.10.22 Building Azure Solutions with Office 365
2014.10.22 Building Azure Solutions with Office 365
 
Microsoft Azure Platform-as-a-Service (PaaS)
Microsoft Azure Platform-as-a-Service (PaaS)Microsoft Azure Platform-as-a-Service (PaaS)
Microsoft Azure Platform-as-a-Service (PaaS)
 
Getting started with development in azure
Getting started with development in azureGetting started with development in azure
Getting started with development in azure
 
Microservices in Azure
Microservices in AzureMicroservices in Azure
Microservices in Azure
 
Microservices in Azure
Microservices in AzureMicroservices in Azure
Microservices in Azure
 
2015-12-02 - WebCamp - Microsoft Azure Logic Apps
2015-12-02 - WebCamp - Microsoft Azure Logic Apps2015-12-02 - WebCamp - Microsoft Azure Logic Apps
2015-12-02 - WebCamp - Microsoft Azure Logic Apps
 
Azure Functions Hands-on lab | Global Azure Bootcamp | Radu Vunvulea
Azure Functions Hands-on lab | Global Azure Bootcamp | Radu VunvuleaAzure Functions Hands-on lab | Global Azure Bootcamp | Radu Vunvulea
Azure Functions Hands-on lab | Global Azure Bootcamp | Radu Vunvulea
 
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
 
ArchitectNow - Designing Cloud-Native apps in Microsoft Azure
ArchitectNow  -  Designing Cloud-Native apps in Microsoft AzureArchitectNow  -  Designing Cloud-Native apps in Microsoft Azure
ArchitectNow - Designing Cloud-Native apps in Microsoft Azure
 
Azure Functions Real World Examples
Azure Functions Real World Examples Azure Functions Real World Examples
Azure Functions Real World Examples
 
Azure DevOps Best Practices Webinar
Azure DevOps Best Practices WebinarAzure DevOps Best Practices Webinar
Azure DevOps Best Practices Webinar
 
Moving from SBS to Azure
Moving from SBS to AzureMoving from SBS to Azure
Moving from SBS to Azure
 
An Azure of Things, a developer’s perspective
An Azure of Things, a developer’s perspectiveAn Azure of Things, a developer’s perspective
An Azure of Things, a developer’s perspective
 
Tokyo azure meetup #8 azure update, august
Tokyo azure meetup #8   azure update, augustTokyo azure meetup #8   azure update, august
Tokyo azure meetup #8 azure update, august
 
Tokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, AugustTokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, August
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing Microservices
 
Azure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish KalamatiAzure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish Kalamati
 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
 

More from Mohit Chhabra

More from Mohit Chhabra (19)

Azure Sentinel.pptx
Azure Sentinel.pptxAzure Sentinel.pptx
Azure Sentinel.pptx
 
Azure Governance for Enterprise
Azure Governance for EnterpriseAzure Governance for Enterprise
Azure Governance for Enterprise
 
Virtual assistant with azure ai
Virtual assistant with azure ai Virtual assistant with azure ai
Virtual assistant with azure ai
 
Azure bastion
Azure bastionAzure bastion
Azure bastion
 
Secure hybrid workload with azure
Secure hybrid workload with azureSecure hybrid workload with azure
Secure hybrid workload with azure
 
Azure functions
Azure functionsAzure functions
Azure functions
 
Convert your sketches to code with microsoft ai
Convert your sketches to code with microsoft aiConvert your sketches to code with microsoft ai
Convert your sketches to code with microsoft ai
 
Intro to docker and kubernetes
Intro to docker and kubernetesIntro to docker and kubernetes
Intro to docker and kubernetes
 
Net overview-and-roadmap
Net overview-and-roadmapNet overview-and-roadmap
Net overview-and-roadmap
 
Azure BluePrint
Azure BluePrintAzure BluePrint
Azure BluePrint
 
Azure devops
Azure devopsAzure devops
Azure devops
 
Containerization in microsoft azure
Containerization in microsoft azureContainerization in microsoft azure
Containerization in microsoft azure
 
Cosmosdb graph
Cosmosdb graphCosmosdb graph
Cosmosdb graph
 
App innovationcircles azure
App innovationcircles azureApp innovationcircles azure
App innovationcircles azure
 
App innovationcircles xamarin
App innovationcircles xamarinApp innovationcircles xamarin
App innovationcircles xamarin
 
Cloud based programming
Cloud based programmingCloud based programming
Cloud based programming
 
Azure document db/Cosmos DB
Azure document db/Cosmos DBAzure document db/Cosmos DB
Azure document db/Cosmos DB
 
Azure cli2.0
Azure cli2.0Azure cli2.0
Azure cli2.0
 
DevOps in Microsoft Azure
DevOps in Microsoft Azure DevOps in Microsoft Azure
DevOps in Microsoft Azure
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+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@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

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
 
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
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
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
 
"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 ...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
+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...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
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, ...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
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...
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Azure full

  • 1.
  • 3. What is the cloud?
  • 5. Cloud Services (a.k.a Cloud Models)On Premises Storage Servers Networking O/S Middleware Virtualization Data Applications Runtime Youmanage Infrastructure (as a Service) Storage Servers Networking O/S Middleware Virtualization Data Applications Runtime ManagedbyMicrosoft Youmanage Platform (as a Service) ManagedbyMicrosoft Youmanage Storage Servers Networking O/S Middleware Virtualization Applications Runtime Data Software (as a Service) ManagedbyMicrosoft Storage Servers Networking O/S Middleware Virtualization Applications Runtime Data
  • 6. Cloud Services hungry kya!On Premises Made at home Toppings Tomato Sauce Cheese Fire Owen Pizza Dough Soda Dining Table Electricity/Gas Youmanage IaaS Take and Bake Topping Tomato Sauce Cheese Fire Owen Pizza Dough Soda Dining Table Electricity/Gas ManagedbyVendor Youmanage PaaS Pizza delivered ManagedbyVendor Youmanage Topping Tomato Sauce Cheese Fire Owen Pizza Dough Dinning Table Electricity/Gas Soda SaaS Dine out ManagedbyVendor Topping Tomato Sauce Cheese Fire Owen Pizza Dough Dinning Table Electricity/Gas Soda
  • 8. Why the cloud? • Rapidly setup environments to drive business priorities • Scale to meet peak demands • Increase daily activities, efficiency and reduced cost.
  • 12. Demo: .Net Core with Azure
  • 15. The “Evolution” of Application Platforms
  • 20. Azure Functions Create a “serverless” event-driven experience that extends the existing Azure App Service platform by building “nanoservices” that can scale based on demand
  • 21. Supported Languages and Tools Create functions in JavaScript, C#, Python, and PHP, as well as scripting options such as Bash, Batch, and PowerShell, that can be triggered by virtually any event in Azure, 3rd party services, or on premise systems
  • 22. Common Scenarios Your App or Service Office 365 Office Graph Azure Storage Other Functions Legacy Systems Web Services • Timer-based processing • Azure service event processing • SaaS event processing • Serverless web application architectures • Serverless mobile backends • Real-time stream processing • Real-time bot messaging
  • 23. Function App Templates Function App templates are categorized into general areas of Timer, Data Processing, and Webhook & API • BlobTrigger • EventHubTrigger • Generic webhook • GitHub webhook • HTTPTrigger • QueueTrigger • ServiceBusQueueTrigger • ServiceBusTopicTrigger • TimerTrigger • Blank & Experimental
  • 24. Timer Function Apps • Run at explicitly specified intervals, like every day at 2:00 am using CRON expressions, like “0 */5 * * * *“ (every 5 minutes) • Can send information to other systems, but typically don’t “return” information, only write to logs • Great for redundant cleanup and data management • Great for checking state of services • Can be combined with other functions
  • 25. Data Processing Function Apps • Run when triggered by a data event, such as an item being added to a queue or container • Typically have in and out parameters • Great for responding to CRUD events • Great for performing CRUD events • Great for moving content • Access data across services
  • 26. Webhook & API Function Apps • Triggered by events in other services, like GitHub, Team Foundation Services, Office 365, OneDrive, Microsoft PowerApps • Takes in a request and sends back a response • Often mimic Web API and legacy web services flows • Typically need CORS settings managed • Best for exposing functionality to other apps and services • Great for building Logic Apps
  • 27. code Anatomy of a Function • A “Run” file that containing the function code • A “Function” file containing all service and trigger bindings and parameters • A “Project” file containing project assembly and NuGet package references • App Service settings, such as connection strings and API keys .NET Core and Project references Function configuration Executable code
  • 28. Function Bindings Type Service Trigger Input Output Schedule Azure Functions ✔ HTTP (REST or webhook) Azure Functions ✔ ✔* Blob Storage Azure Storage ✔ ✔ ✔ Events Azure Event Hubs ✔ ✔ Queues Azure Storage ✔ ✔ Tables Azure Storage ✔ ✔ Tables Azure Mobile Apps ✔ ✔ No-SQL DB Azure DocumentDB ✔ ✔ Push Notifications Azure Notification Hubs ✔ Bindings serve as the basis for all connections to and from a function. Many bindings can be “bi-directional” as well.
  • 29. Testing Functions • Command-line tools • 3rd party products such as Postman and Swagger • Direct web calls via cURL • Nested functions • Microsoft Azure Storage Explorer • Visual Studio Cloud Explorer
  • 30.
  • 31. References • https://azure.microsoft.com • https://azure.microsoft.com/en-in/services/functions/ • https://info.microsoft.com/microsoft-serverless-approach-webinar- on-demand.html • https://docs.microsoft.com
  • 32. The “Evolution” of Application Platforms
  • 37. Azure Functions Create a “serverless” event-driven experience that extends the existing Azure App Service platform by building “nanoservices” that can scale based on demand
  • 38. Supported Languages and Tools Create functions in JavaScript, C#, Python, and PHP, as well as scripting options such as Bash, Batch, and PowerShell, that can be triggered by virtually any event in Azure, 3rd party services, or on premise systems
  • 39. Common Scenarios Your App or Service Office 365 Office Graph Azure Storage Other Functions Legacy Systems Web Services • Timer-based processing • Azure service event processing • SaaS event processing • Serverless web application architectures • Serverless mobile backends • Real-time stream processing • Real-time bot messaging
  • 40. Function App Templates Function App templates are categorized into general areas of Timer, Data Processing, and Webhook & API • BlobTrigger • EventHubTrigger • Generic webhook • GitHub webhook • HTTPTrigger • QueueTrigger • ServiceBusQueueTrigger • ServiceBusTopicTrigger • TimerTrigger • Blank & Experimental
  • 41. Timer Function Apps • Run at explicitly specified intervals, like every day at 2:00 am using CRON expressions, like “0 */5 * * * *“ (every 5 minutes) • Can send information to other systems, but typically don’t “return” information, only write to logs • Great for redundant cleanup and data management • Great for checking state of services • Can be combined with other functions
  • 42. Data Processing Function Apps • Run when triggered by a data event, such as an item being added to a queue or container • Typically have in and out parameters • Great for responding to CRUD events • Great for performing CRUD events • Great for moving content • Access data across services
  • 43. Webhook & API Function Apps • Triggered by events in other services, like GitHub, Team Foundation Services, Office 365, OneDrive, Microsoft PowerApps • Takes in a request and sends back a response • Often mimic Web API and legacy web services flows • Typically need CORS settings managed • Best for exposing functionality to other apps and services • Great for building Logic Apps
  • 44. code Anatomy of a Function • A “Run” file that containing the function code • A “Function” file containing all service and trigger bindings and parameters • A “Project” file containing project assembly and NuGet package references • App Service settings, such as connection strings and API keys .NET Core and Project references Function configuration Executable code
  • 45. Function Bindings Type Service Trigger Input Output Schedule Azure Functions ✔ HTTP (REST or webhook) Azure Functions ✔ ✔* Blob Storage Azure Storage ✔ ✔ ✔ Events Azure Event Hubs ✔ ✔ Queues Azure Storage ✔ ✔ Tables Azure Storage ✔ ✔ Tables Azure Mobile Apps ✔ ✔ No-SQL DB Azure DocumentDB ✔ ✔ Push Notifications Azure Notification Hubs ✔ Bindings serve as the basis for all connections to and from a function. Many bindings can be “bi-directional” as well.
  • 46.
  • 47. References • https://azure.microsoft.com • https://azure.microsoft.com/en-in/services/functions/ • https://info.microsoft.com/microsoft-serverless-approach-webinar- on-demand.html • https://docs.microsoft.com
  • 49. Containers • Lightweight alternative to virtual machines • Smaller, less expensive, faster to start up, and self-contained Host Operating System Hypervisor Guest OS Libraries App Guest OS Libraries App Guest OS Libraries App Operating System Container Engine Libraries App Libraries App Libraries App Virtual Machines Containers
  • 50. Docker • Leading open-source containerization platform • Supported natively in Azure Docker containers wrap up a piece of software in a complete filesystem that contains everything it needs to run: code, runtime, system tools, system libraries – anything you can install on a server. This guarantees that it will always run the same, regardless of the environment it is running in
  • 52. Docker CLI • Command-line interface for Docker, available for Linux, OS X, and Windows (available separately or as part of Docker Toolbox)
  • 53. Running a Container docker run -i -t ubuntu /bin/bash
  • 54. Common Docker CLI Commands docker run - Use an image to run a container docker pull - Pull an image from a registry docker build - Build a Docker image docker exec - Execute a command in a container docker stop - Stop a running container docker images - List available Docker images docker ps - List running Docker containers
  • 55. Azure Container Service • Provides robust, ready-to-use Docker hosting environment • Uses open-source orchestration tools (DC/OS and Swarm)
  • 56. Container Orchestration • Facilitates deployment and management of containers • Containers by design are intended to be deployed in large volumes with some applications using dozens to even thousands of containers • With this type of scale, automating container deployment and management with orchestration software becomes necessary • Azure Container service supports Kubernetes, DC/OS, and Docker Swarm
  • 57. Container Clusters • Facilitate load balancing, scalability, and high availability • A cluster is composed of master nodes which control the orchestration, and agent nodes that host the containers
  • 58. Kubernetes • Open-source orchestration engine from Google • Provides a robust framework for container orchestration, yet remains lightweight and scalable • Supported by Azure Container Service and tightly integrated with ACS, allowing Kubernetes to modify deployments
  • 59. DC/OS • Datacenter Operating System built on Apache Mesos • Creates logical data centers and abstracts underlying hardware • Provides resources traditionally provided by infrastructure, including networking, DNS, and load balancing • Natively supported by Azure Container Service
  • 60. Docker Swarm • Docker’s own orchestration engine • Current releases of the Docker engine have “Swarm Mode” built in and can many of the same things that other orchestration engines do • Lacks a GUI, but makes up for it with tight integration with Docker • Natively supported by Azure Container Service

Editor's Notes

  1. Speaking Points: There are numerous terms and definitions floating around in the industry for “the cloud”, “cloud computing”, “cloud services”, etc. Microsoft thinks of the cloud as simply an approach to computing that enables applications to be delivered at scale for a variety of workloads and client devices. The cloud can help deliver IT as a standardized service…freeing you up to focus on your business
  2. Slide Objectives: Explain the three established industry terms for cloud services Speaker Notes: There is a lot of talk in the industry about different terms like Platform as a Service, Infrastructure as a Service, and Software as a Service. Since PDC08 when we first announced the Windows Azure our focus has been on delivering a platform as a service offering where you can build applications. Where the platform abstracts you from the complexities of building and running applications. We fundamentally believe that the future path forward for development is by providing a platform. In fact, as you’ll see in a few minutes, we believe that there are a number of new capabilities that should be delivered as services to the platform. Notes: There is a lot of confusion in the industry when it comes to the cloud. It’s important that you understand both what is happening in the industry and how we think about the cloud. This is the most commonly used taxonomy for differentiating between types of cloud services. The industry has defined three categories of services: IaaS – a set of infrastructure level capabilities such as an operating system, network connectivity, etc. that are delivered as pay for use services and can be used to host applications. PaaS – higher level sets of functionality that are delivered as consumable services for developers who are building applications. PaaS is about abstracting developers from the underlying infrastructure to enable applications to quickly be composed. SaaS – applications that are delivered using a service delivery model where organizations can simply consume and use the application. Typically an organization would pay for the use of the application or the application could be monetized through ad revenue. It is important to note that these 3 types of services may exist independently of one another or combined with one another.
  3. Slide Objectives: Explain the differences and relationship between IaaS, PaaS, and SaaS in more detail. Speaking Points: Here’s another way to look at the cloud services taxonomy and how this taxonomy maps to the components in an IT infrastructure. Packaged Software With packaged software a customer would be responsible for managing the entire stack – ranging from the network connectivity to the applications. IaaS With Infrastructure as a Service, the lower levels of the stack are managed by a vendor. Some of these components can be provided by traditional hosters – in fact most of them have moved to having a virtualized offering. Very few actually provide an OS The customer is still responsible for managing the OS through the Applications. For the developer, an obvious benefit with IaaS is that it frees the developer from many concerns when provisioning physical or virtual machines. This was one of the earliest and primary use cases for Amazon Web Services Elastic Cloud Compute (EC2). Developers were able to readily provision virtual machines (AMIs) on EC2, develop and test solutions and, often, run the results ‘in production’. The only requirement was a credit card to pay for the services. PaaS With Platform as a Service, everything from the network connectivity through the runtime is provided and managed by the platform vendor. The Windows Azure best fits in this category today. In fact because we don’t provide access to the underlying virtualization or operating system today, we’re often referred to as not providing IaaS. PaaS offerings further reduce the developer burden by additionally supporting the platform runtime and related application services. With PaaS, the developer can, almost immediately, begin creating the business logic for an application. Potentially, the increases in productivity are considerable and, because the hardware and operational aspects of the cloud platform are also managed by the cloud platform provider, applications can quickly be taken from an idea to reality very quickly. SaaS Finally, with SaaS, a vendor provides the application and abstracts you from all of the underlying components.
  4. And you get all the goodness shown in the previous slides across the WW
  5. Azure Functions are part of the Azure Web + Mobile suite of App Services and are designed to enable the creation of small pieces of meaningful, reusable methods, easily shared across services. These serverless, event-driven methods are often referred to as “nanoservices” due to their small size. Although an Azure Function can contain quite a bit of code, they are typically designed to serve a single purpose, and respond to events in connected services.
  6. Azure Functions can be created in most common development and scripting languages, and can be “triggered” by events in other Azure App Services, such as Web, Mobile, Logic, and API apps. Azure Functions can also be exposed via HTTP URL schemes for easy integration into legacy systems.
  7. Azure Functions are “event-driven” meaning they run based on associated and configure events, or “triggers”. For example an Azure Function could be triggered by a simple timer, such as running a process once every 24-hours, or triggered by an event in a document management system, such as when a new document is uploaded to a SharePoint library. Azure Functions can also respond to Azure-specific events, such as an image added to a Storage Blob or a notification arriving in a Message Queue.
  8. Although Azure Functions can be created from scratch”, the Azure Portal exposes a large number of ever-growing templates to help get developers started. These templates are typically designed with specific triggers in mind, such as a Blob Storage event, or a GitHub webhook event. Templates can easily form the basis for robust function creation, and are really designed just to get a developer started.
  9. Timer Functions are exactly what they sound like: Functions triggered by a specific time event. Timer Functions are perfect for clean up and maintenance processes and can easily be combined with other functions for more robust scenarios. Timer Functions us CRON expressions to configure schedules. It’s a good idea to get familiar with CRON syntax, but in the meantime there are a number of tools online to help you build CRON expressions.
  10. Data Processing Functions are triggered by activity in a datastore, such as a table, queue, or container. Data Processing Functions also typically have both “in” and “out” parameters, meaning they can accept an object as a parameter, and then process information and then return another object from within the function. This is not the same as a “return” value, as most Azure Functions either return void, or an HTTP response such as “created”, “accepted”, or “OK”.
  11. Webhook and API Functions are designed to easily integrate with 3rd party systems, like GitHub, Office 365, and especially Microsoft PowerApps. Since Webhook and API Functions are often exposed to external or legacy systems, they typically need CORS settings managed in order to “allow” external resources to “see” and execute the function. Most Azure Logic Apps leverage Webhook and API Functions directly.
  12. An Azure Function is really a group of a few files that work in harmony. All actual function logic resides in a “Run” file written in a language of choice. A “Project” file is similar to a project file in other technologies such as .NET Core or Universal Windows Platform and contains “secondary” assembly references such as NuGet packages. Finally a “Function” file contains information about triggers and parameters, such as locations of Storage Queue connection strings and whether the parameter is design as an “in”, “out” or “bi-directional”. Optionally, additional configuration is also found in the Function App Settings such as an API Key or database connection string.
  13. Without bindings, an Azure Function would just be a “disconnected” algorithm without any way to serve a purpose. Bindings server to connect functions and output to other services. Some of the most common binding types and features are listed in the table, however variations and adaptations can and do exist.
  14. Many Azure Functions are exposed via an actual URL that can be called directly from a web client or browser. When an Azure Function is not exposed via a URL its common practice to call the function from another function, such as a Timer-based Function for testing purposes only. Since Azure Functions can be nested, testing scenarios can be quite varied. For managing and testing Azure Functions that integrate with Storage Containers, Microsoft provides the Microsoft Azure Storage Explorer, as well as the Visual Studio Cloud Explorer. The Logs console in the Azure Function Designer is also a great way to view and trace function processing.
  15. Azure Functions are part of the Azure Web + Mobile suite of App Services and are designed to enable the creation of small pieces of meaningful, reusable methods, easily shared across services. These serverless, event-driven methods are often referred to as “nanoservices” due to their small size. Although an Azure Function can contain quite a bit of code, they are typically designed to serve a single purpose, and respond to events in connected services.
  16. Azure Functions can be created in most common development and scripting languages, and can be “triggered” by events in other Azure App Services, such as Web, Mobile, Logic, and API apps. Azure Functions can also be exposed via HTTP URL schemes for easy integration into legacy systems.
  17. Azure Functions are “event-driven” meaning they run based on associated and configure events, or “triggers”. For example an Azure Function could be triggered by a simple timer, such as running a process once every 24-hours, or triggered by an event in a document management system, such as when a new document is uploaded to a SharePoint library. Azure Functions can also respond to Azure-specific events, such as an image added to a Storage Blob or a notification arriving in a Message Queue.
  18. Although Azure Functions can be created from scratch”, the Azure Portal exposes a large number of ever-growing templates to help get developers started. These templates are typically designed with specific triggers in mind, such as a Blob Storage event, or a GitHub webhook event. Templates can easily form the basis for robust function creation, and are really designed just to get a developer started.
  19. Timer Functions are exactly what they sound like: Functions triggered by a specific time event. Timer Functions are perfect for clean up and maintenance processes and can easily be combined with other functions for more robust scenarios. Timer Functions us CRON expressions to configure schedules. It’s a good idea to get familiar with CRON syntax, but in the meantime there are a number of tools online to help you build CRON expressions.
  20. Data Processing Functions are triggered by activity in a datastore, such as a table, queue, or container. Data Processing Functions also typically have both “in” and “out” parameters, meaning they can accept an object as a parameter, and then process information and then return another object from within the function. This is not the same as a “return” value, as most Azure Functions either return void, or an HTTP response such as “created”, “accepted”, or “OK”.
  21. Webhook and API Functions are designed to easily integrate with 3rd party systems, like GitHub, Office 365, and especially Microsoft PowerApps. Since Webhook and API Functions are often exposed to external or legacy systems, they typically need CORS settings managed in order to “allow” external resources to “see” and execute the function. Most Azure Logic Apps leverage Webhook and API Functions directly.
  22. An Azure Function is really a group of a few files that work in harmony. All actual function logic resides in a “Run” file written in a language of choice. A “Project” file is similar to a project file in other technologies such as .NET Core or Universal Windows Platform and contains “secondary” assembly references such as NuGet packages. Finally a “Function” file contains information about triggers and parameters, such as locations of Storage Queue connection strings and whether the parameter is design as an “in”, “out” or “bi-directional”. Optionally, additional configuration is also found in the Function App Settings such as an API Key or database connection string.
  23. Without bindings, an Azure Function would just be a “disconnected” algorithm without any way to serve a purpose. Bindings server to connect functions and output to other services. Some of the most common binding types and features are listed in the table, however variations and adaptations can and do exist.
  24. A virtual machine is -- well -- a virtualized machine created and managed by a hypervisor such as VirtualBox or Hyper-V. Even though a VM runs on a machine that has an operating system, each VM requires its own complete operating system, even if it's the same operating system as the host OS. VMs offer a very high degree of isolation, but at a cost: longer startup times, lower portability (ever tried to move a 127 GB virtual hard disk, or VHD, from one PC to another?), and higher memory requirements. Containers, by contrast, leverage the operating system that is already in place but offer nearly as much separation. RAM requirements are lower since the OS isn't being duplicated in each container, and cost is lower, too, because while cloud platforms typically charge for each VM, a single VM can host multiple container instances.
  25. Docker (www.docker.com) isn't the world's only containerization platform, but it is the most popular. It is free, open-source, and Linux-based, with Windows support (Windows Server 2016) in the works. It has earned massive mindshare in the developer community. And with Azure Container Service, you can deploy Docker containers to Azure with minimal effort. Moreover, Docker containers are easily moved between Azure and Amazon Web Services (AWS), affording developers portability between cloud platforms.
  26. Docker utilizes a client-server architecture. You execute Docker commands through a Docker client such as the Docker CLI or Kitematic. The client uses REST commands to communicate with the Docker daemon running on a Docker host such as the Azure Container services. These commands can be used to push, pull (docker pull), and create Docker images, to run them in containers, and to manage those containers. Images can be built with the docker build command, and they can be stand-alone, or they can "inherit" from other images. Images are stored in Docker registries, which can be public or private, local or remote. Docker Hub is a popular public registry that is managed by Docker; it contains a "huge collection" of images that anyone may use. The docker run command runs a container using an image as a template.
  27. The Docker Client, also known as the Docker CLI, is the primary tool you use to manage Docker containers. You can download container images from repositories such as Docker Hub, build container images, run container instances, list container images and instances, and much more. After connecting to Azure Container Service using SSH, you can use port forwarding to execute commands locally that act on an Azure Container Service running in the cloud. In this example, the -H switch used with the docker commands forwards commands sent to port 22375 on localhost to the Azure Container Services via SSH.
  28. This command pulls the image named "Ubuntu" from Docker Hub (or a local registry if the image is cached there) and runs it interactively in a container. "Interactively" means standard input, output, and error are connected locally so you can provide input to the container and see its output. Of course, you are not limited to the "Ubuntu" image. You can specify other images and even create images of your own with docker build. Where the container runs depends on the context. The container can run locally in a docker host (for example, a VM on Windows), or it can remotely if you connect to a remote Docker daemon (for example, one running in Azure) via SSH tunneling and use port forwarding to forward docker commands to the daemon.
  29. These are some of the most commonly used docker commands. You can also use docker push to push an image to a registry such as Docker Hub. Also, docker ps is often accompanied by a -a switch to list all containers, including those that are no longer running, while docker rm and docker rmi are used to delete (remove) containers and images, respectively. The docker build command uses a Dockerfile (a text file containing build commands) and a "context" -- for example, a specified directory in the file system -- to build Docker images.
  30. From the documentation: "Azure Container Service makes it simpler for you to create, configure, and manage a cluster of virtual machines that are preconfigured to run containerized applications. It uses an optimized configuration of popular open-source scheduling and orchestration tools. This enables you to use your existing skills, or draw upon a large and growing body of community expertise, to deploy and manage container-based applications on Microsoft Azure." ACS supports Linux containers and Windows containers. The latter rely on Windows Server 2016.
  31. Orchestration in the context of containers is the deployment and management of containers across infrastructure and networks. It provides the tools and software defined infrastructure needed to deploy containers. Containers by design are intended to be deployed in large volumes with some applications using dozen to even thousands of containers. With this type of scale, automating deployment and management of containers with Orchestration Software becomes necessary.
  32. A container cluster is intended to have redundancy for load balancing, scalability, and high availability. A cluster is composed of one or more Master Nodes which control the orchestration for scaling and delegation of tasks to the agents as well as provide monitoring. The Agent Nodes actually run the container loads.
  33. Kubernetes is an open-source platform for automating deployment, scaling, and operations of application containers across clusters of hosts, providing container-centric infrastructure. With Kubernetes, you are able to quickly and efficiently respond to customer demand: Deploy your applications quickly and predictably. Scale your applications on the fly. Seamlessly roll out new features. Optimize use of your hardware by using only the resources you need.
  34. Datacenter Operating System is, as the name implies, an operating system for for a datacenter rather than for a phyiscal of virtual machine. DC/OS abstracts away the underlying hardware from applications and provides much of the needed infrastructure that would otherwise come from multiple disparate services on traditional networks. This enables operations and developers alike to deploy and maintain applications in a uniform fashion with less time and resources spent monitoring the supporting network and network services for those applications.
  35. Docker Swarm is the orchestration engine from Docker. It has tight integration with Docker, so many of the same paradigms and tools that used with Swarm seamlessly as well as some additional features like overlay networks and Docker services that can run multiple containers spread across multiple hosts. These containers can seamlessly communicate and rapidly scale.