SlideShare uma empresa 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

Mais conteúdo relacionado

Mais procurados

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 AWSBhuvaneswari Subramani
 
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 ToolsAmazon Web Services
 
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 platformLorenzo Barbieri
 
.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”GlobalLogic Ukraine
 
Azure, DevOps and the Commodore 64
Azure, DevOps and the Commodore 64Azure, DevOps and the Commodore 64
Azure, DevOps and the Commodore 64Todd Whitehead
 
LaunchingYourAppTheAmazonWay_SFStartupDay
LaunchingYourAppTheAmazonWay_SFStartupDayLaunchingYourAppTheAmazonWay_SFStartupDay
LaunchingYourAppTheAmazonWay_SFStartupDayAmazon Web Services
 
PowerShell and Azure DevOps
PowerShell and Azure DevOpsPowerShell and Azure DevOps
PowerShell and Azure DevOpsMatteo Emili
 
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 developersDonnie Berkholz
 
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 2020Jeff Bramwell
 
Getting Started with Azure DevOps
Getting Started with Azure DevOpsGetting Started with Azure DevOps
Getting Started with Azure DevOpsJessica Deen
 
DevOps Resume of Sanu Panji
DevOps Resume of Sanu PanjiDevOps Resume of Sanu Panji
DevOps Resume of Sanu PanjiSanu 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 HollandBrian Rinaldi
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as CodePrasant Kumar
 
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 ...Docker, Inc.
 

Mais procurados (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
 

Semelhante a Running Python Flask web apps on Azure App Service

Microsoft Innovation Summit
Microsoft Innovation SummitMicrosoft Innovation Summit
Microsoft Innovation SummitMayur Tendulkar
 
Evolution of VS code Java ecosystem
Evolution of VS code Java ecosystemEvolution of VS code Java ecosystem
Evolution of VS code Java ecosystem Adi Polak
 
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.2019Janne Mattila
 
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çõesRamon Durã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 DevOpsAndrea Tosato
 
Modern Development with Microsoft
Modern Development with MicrosoftModern Development with Microsoft
Modern Development with MicrosoftJoshua Drew
 
Azure DevOps CI/CD For Beginners
Azure DevOps CI/CD  For BeginnersAzure DevOps CI/CD  For Beginners
Azure DevOps CI/CD For BeginnersRahul Nath
 
Drive business outcomes using Azure Devops
Drive business outcomes using Azure DevopsDrive business outcomes using Azure Devops
Drive business outcomes using Azure DevopsBelatrix Software
 
DevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software DeliveryDevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software DeliveryAmazon Web Services
 
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 ...DigitalOcean
 
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"Stephanie Locke
 
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 2017Amazon Web Services
 
Continuous Delivery with a PaaS Application
Continuous Delivery with a PaaS ApplicationContinuous Delivery with a PaaS Application
Continuous Delivery with a PaaS ApplicationMark Rendell
 
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 Skytap Cloud
 
Embarcadero's Connected Development
Embarcadero's Connected DevelopmentEmbarcadero's Connected Development
Embarcadero's Connected DevelopmentJim McKeeth
 
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 CodeDeployAmazon Web Services
 
Dload mobile development
Dload mobile developmentDload mobile development
Dload mobile developmentSayed Ahmed
 
Maria Tverdostup Resume 2017
Maria Tverdostup Resume 2017Maria Tverdostup Resume 2017
Maria Tverdostup Resume 2017Maria Tverdostup
 
.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp.NET Cloud-Native Bootcamp
.NET Cloud-Native BootcampVMware Tanzu
 

Semelhante 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

Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 

Último (20)

Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 

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