SlideShare una empresa de Scribd logo
1 de 12
Running Flask apps on
Azure App Service
simon.waight@microsoft.com
@simonwaight
blog.siliconvalve.com
Quickly build, deploy and scale applications
without worrying about infrastructure
Azure App Service
High productivity
Python, Node, Java, .NET
Docker, PHP, Ruby
Staging &
deployment
Testing in
production
App gallery
marketplace
Fully managed
Auto scale &
load balancing
High availability
w/ auto patching
Reduced
operations costs
Backup &
recovery
Enterprise grade
Global data
center footprint
Hybrid
support
Azure AD
integration
Secure &
compliant
App
Service
High
productivity
Your choice of languages,
pre-built packages, and tools
Develop
A
Build
</>
Deploy
Monitor
High
productivity
Your choice of languages,
pre-built packages, and tools
Develop
IDE
tools
Language
Pre-built
packages
.NET
High
productivity
Your choice of languages,
pre-built packages, and tools
Build
z
z
Source
code
CI
engines
Container
registry
Web
ARM
Docker
k8s
Docker
Compose
Zip
war
High
productivity
Your choice of languages,
pre-built packages, and tools
Deploy
z
Slots
CD
tools
Deploy
packages
High
productivity
Your choice of languages,
pre-built packages, and tools
Monitor
Monitoring
Tools
Debug
tools
P R O V I S I O N I N G A P Y T H O N W E B A P P H O S T
Demo Time
Understanding App Service CI / CD
• Kudu and Oryx are the two App Service engines controlling CI and CD
• Kudu does a web-hook triggered pull from source control and performs
local compile and deployment
• Kudu recognises Python apps based on *.py, requirements.txt
or runtime.txt
• Kudu automatically:
• Activates a virtual environment
• Uses PIP to restore modules in requirements.txt.
• Configure via Azure Portal easiest, but also possible via CLI
• Both Kudu and Oryx are open source and available on GitHub.
Python features on App Service
• The Python runtime is deployed from a baseline Docker image
• Docker image:
• Uses Gunicorn WSGI HTTP Server
• Includes Flask web framework. Run Django (or other) frameworks by using
requirements.txt for installation
• Is built using a Dockerfile published on GitHub
• App Settings can be accessed as environment variables using os.eviron
• Troubleshoot runtime issues via web SSH and streaming logs
• Utilise Managed Service Identities (MSI) to access other Azure resources.
Running Flask apps on
Azure App Service
simon.waight@microsoft.com
@simonwaight
blog.siliconvalve.com
https://wp.me/p26dla-T6

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

A Pathway to Continuous Integration/Continuous Delivery on AWS
A Pathway to Continuous Integration/Continuous Delivery on AWSA Pathway to Continuous Integration/Continuous Delivery on AWS
A Pathway to Continuous Integration/Continuous Delivery on AWS
 
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer ToolsA Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
 
Amit_Resume
Amit_ResumeAmit_Resume
Amit_Resume
 
Tour of Azure DevOps
Tour of Azure DevOpsTour of Azure DevOps
Tour of Azure DevOps
 
Kubernetes VS. App Service: When the orchestrator challenges the platform
Kubernetes VS. App Service: When the orchestrator challenges the platformKubernetes VS. App Service: When the orchestrator challenges the platform
Kubernetes VS. App Service: When the orchestrator challenges the platform
 
.NET Online TechTalk “Azure Cloud for DEV”
.NET Online TechTalk “Azure Cloud for DEV”.NET Online TechTalk “Azure Cloud for DEV”
.NET Online TechTalk “Azure Cloud for DEV”
 
Azure, DevOps and the Commodore 64
Azure, DevOps and the Commodore 64Azure, DevOps and the Commodore 64
Azure, DevOps and the Commodore 64
 
LaunchingYourAppTheAmazonWay_SFStartupDay
LaunchingYourAppTheAmazonWay_SFStartupDayLaunchingYourAppTheAmazonWay_SFStartupDay
LaunchingYourAppTheAmazonWay_SFStartupDay
 
CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
 
PowerShell and Azure DevOps
PowerShell and Azure DevOpsPowerShell and Azure DevOps
PowerShell and Azure DevOps
 
The parallel universes of DevOps and cloud developers
The parallel universes of DevOps and cloud developersThe parallel universes of DevOps and cloud developers
The parallel universes of DevOps and cloud developers
 
CI/CD on pure AWS
CI/CD on pure AWSCI/CD on pure AWS
CI/CD on pure AWS
 
The Power of Azure DevOps - Global Azure Day 2020
The Power of Azure DevOps - Global Azure Day 2020The Power of Azure DevOps - Global Azure Day 2020
The Power of Azure DevOps - Global Azure Day 2020
 
Getting Started with Azure DevOps
Getting Started with Azure DevOpsGetting Started with Azure DevOps
Getting Started with Azure DevOps
 
DevOps Resume of Sanu Panji
DevOps Resume of Sanu PanjiDevOps Resume of Sanu Panji
DevOps Resume of Sanu Panji
 
NativeScript Developer Day Keynote - Todd Anglin & Burke Holland
NativeScript Developer Day Keynote - Todd Anglin & Burke HollandNativeScript Developer Day Keynote - Todd Anglin & Burke Holland
NativeScript Developer Day Keynote - Todd Anglin & Burke Holland
 
Serguei_Kouzmine_Resume
Serguei_Kouzmine_ResumeSerguei_Kouzmine_Resume
Serguei_Kouzmine_Resume
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
DCEU 18: Making Legacy Legendary - A Windows 2003 Application Journey to the ...
DCEU 18: Making Legacy Legendary - A Windows 2003 Application Journey to the ...DCEU 18: Making Legacy Legendary - A Windows 2003 Application Journey to the ...
DCEU 18: Making Legacy Legendary - A Windows 2003 Application Journey to the ...
 
AWS CDK Introduction
AWS CDK IntroductionAWS CDK Introduction
AWS CDK Introduction
 

Similar a Running Python Flask web apps on Azure App Service

Maria Tverdostup Resume 2017
Maria Tverdostup Resume 2017Maria Tverdostup Resume 2017
Maria Tverdostup Resume 2017
Maria Tverdostup
 

Similar a Running Python Flask web apps on Azure App Service (20)

Microsoft Innovation Summit
Microsoft Innovation SummitMicrosoft Innovation Summit
Microsoft Innovation Summit
 
Evolution of VS code Java ecosystem
Evolution of VS code Java ecosystemEvolution of VS code Java ecosystem
Evolution of VS code Java ecosystem
 
Azure DevOps työkalut - Roundtable 14.3.2019
Azure DevOps työkalut - Roundtable 14.3.2019Azure DevOps työkalut - Roundtable 14.3.2019
Azure DevOps työkalut - Roundtable 14.3.2019
 
DevOps e a transformação digital de aplicações
DevOps e a transformação digital de aplicaçõesDevOps e a transformação digital de aplicações
DevOps e a transformação digital de aplicações
 
Deploy multi-environment application with Azure DevOps
Deploy multi-environment application with Azure DevOpsDeploy multi-environment application with Azure DevOps
Deploy multi-environment application with Azure DevOps
 
Modern Development with Microsoft
Modern Development with MicrosoftModern Development with Microsoft
Modern Development with Microsoft
 
Azure DevOps CI/CD For Beginners
Azure DevOps CI/CD  For BeginnersAzure DevOps CI/CD  For Beginners
Azure DevOps CI/CD For Beginners
 
Drive business outcomes using Azure Devops
Drive business outcomes using Azure DevopsDrive business outcomes using Azure Devops
Drive business outcomes using Azure Devops
 
DevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software DeliveryDevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software Delivery
 
Escape the Walls of PaaS: Unlock the Power & Flexibility of DigitalOcean App ...
Escape the Walls of PaaS: Unlock the Power & Flexibility of DigitalOcean App ...Escape the Walls of PaaS: Unlock the Power & Flexibility of DigitalOcean App ...
Escape the Walls of PaaS: Unlock the Power & Flexibility of DigitalOcean App ...
 
Let's banish "it works on my machine"
Let's banish "it works on my machine"Let's banish "it works on my machine"
Let's banish "it works on my machine"
 
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
 
Continuous Delivery with a PaaS Application
Continuous Delivery with a PaaS ApplicationContinuous Delivery with a PaaS Application
Continuous Delivery with a PaaS Application
 
Webinar: Automate Your Environment Provisioning for Mobile App Development
Webinar: Automate Your Environment Provisioning for Mobile App Development Webinar: Automate Your Environment Provisioning for Mobile App Development
Webinar: Automate Your Environment Provisioning for Mobile App Development
 
Google Drive Integration
Google Drive IntegrationGoogle Drive Integration
Google Drive Integration
 
Embarcadero's Connected Development
Embarcadero's Connected DevelopmentEmbarcadero's Connected Development
Embarcadero's Connected Development
 
Automate Software Deployments on EC2 with AWS CodeDeploy
Automate Software Deployments on EC2 with AWS CodeDeployAutomate Software Deployments on EC2 with AWS CodeDeploy
Automate Software Deployments on EC2 with AWS CodeDeploy
 
Dload mobile development
Dload mobile developmentDload mobile development
Dload mobile development
 
Maria Tverdostup Resume 2017
Maria Tverdostup Resume 2017Maria Tverdostup Resume 2017
Maria Tverdostup Resume 2017
 
.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp
 

Último

Último (20)

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
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
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...
 
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
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Running Python Flask web apps on Azure App Service

  • 1. Running Flask apps on Azure App Service simon.waight@microsoft.com @simonwaight blog.siliconvalve.com
  • 2. Quickly build, deploy and scale applications without worrying about infrastructure Azure App Service High productivity Python, Node, Java, .NET Docker, PHP, Ruby Staging & deployment Testing in production App gallery marketplace Fully managed Auto scale & load balancing High availability w/ auto patching Reduced operations costs Backup & recovery Enterprise grade Global data center footprint Hybrid support Azure AD integration Secure & compliant
  • 3. App Service High productivity Your choice of languages, pre-built packages, and tools Develop A Build </> Deploy Monitor
  • 4. High productivity Your choice of languages, pre-built packages, and tools Develop IDE tools Language Pre-built packages .NET
  • 5. High productivity Your choice of languages, pre-built packages, and tools Build z z Source code CI engines Container registry
  • 6. Web ARM Docker k8s Docker Compose Zip war High productivity Your choice of languages, pre-built packages, and tools Deploy z Slots CD tools Deploy packages
  • 7. High productivity Your choice of languages, pre-built packages, and tools Monitor Monitoring Tools Debug tools
  • 8. P R O V I S I O N I N G A P Y T H O N W E B A P P H O S T
  • 10. Understanding App Service CI / CD • Kudu and Oryx are the two App Service engines controlling CI and CD • Kudu does a web-hook triggered pull from source control and performs local compile and deployment • Kudu recognises Python apps based on *.py, requirements.txt or runtime.txt • Kudu automatically: • Activates a virtual environment • Uses PIP to restore modules in requirements.txt. • Configure via Azure Portal easiest, but also possible via CLI • Both Kudu and Oryx are open source and available on GitHub.
  • 11. Python features on App Service • The Python runtime is deployed from a baseline Docker image • Docker image: • Uses Gunicorn WSGI HTTP Server • Includes Flask web framework. Run Django (or other) frameworks by using requirements.txt for installation • Is built using a Dockerfile published on GitHub • App Settings can be accessed as environment variables using os.eviron • Troubleshoot runtime issues via web SSH and streaming logs • Utilise Managed Service Identities (MSI) to access other Azure resources.
  • 12. Running Flask apps on Azure App Service simon.waight@microsoft.com @simonwaight blog.siliconvalve.com https://wp.me/p26dla-T6