SlideShare ist ein Scribd-Unternehmen logo
1 von 16
AzureWebJobs
Vinicius Quaiato e Wennder Santos
• ViniciusQuaiato
• Ninja developer na Lambda3
• twitter.com/vquaiato
• github.com/vquaiato
• vquaiato.github.io
• facebook.com/vquaiato
• Wennder Santos
• Microsoft MVP vindo da roça / developer na
Lambda3
• twitter.com/wenndersantos
• github.com/wenndersantos
• wenndersantos.github.io
• facebook.com/wennder.santos
Cenário atual
• Web apps
• Mobile apps
• Desktop apps
• IoT apps
• Wearable apps
• Whatever apps
Cenário atual
• Diferentes tipos de apps tem diferentes necessidades
• Processamento mobile é diferente de desktop, que é diferente de wearable,
etc
Os problemas
• Timeout
• Request de uma app online
• Processamento
• Grande consumo de CPU em uma app mobile
• Wearable… nem se fala
• Scheduled
• Consolidação de dados a cada X tempo
Soluções
• Timeout
• Aumentar o limite de tempo do request
• Processamento
• newThread()
• Scheduled
• Scheduled task doWindows
• Timers nas apps desktop
Soluções
• Existem N soluções diferentes
• Cada solução pode ser boa em um determinado cenário e não tão bom em
outro
• É preciso analisar cada caso e entender os trade offs
AzureWebJobs
AzureWebJobs
“AzureWebJobs provide an easy way to run scripts or programs as background
processes in the context of an App Service web app, API app, or mobile app.”
Hora da demo
• Criação de umWebJob comVisual Studio
Hora da demo
• Publicação de umWebJob comVisual Studio
Tipos deWebJob
• Triggered WebJob
• Sua execução é disparada a cada X tempo
• Pode ser configurado utilizando um arquivo CRON
Hora da demo
• Triggered WebJob
Tipos deWebJob
• ContinuousWebJob
• Está sempre em execução
• As funções são executadas quando condições específicas são satisfeitas
Hora da demo
• ContinuousWebJob
Azure WebJobs: Uma solução para processamento assíncrono em nuvem

Weitere ähnliche Inhalte

Ähnlich wie Azure WebJobs: Uma solução para processamento assíncrono em nuvem

Compartilhando código entre frontend e backend com Node.js
Compartilhando código entre frontend e backend com Node.jsCompartilhando código entre frontend e backend com Node.js
Compartilhando código entre frontend e backend com Node.jsGiovanni Bassi
 
Do monolito aos microserviços com Docker (PHPSP+IMA)
Do monolito aos microserviços com Docker (PHPSP+IMA)Do monolito aos microserviços com Docker (PHPSP+IMA)
Do monolito aos microserviços com Docker (PHPSP+IMA)Wellington Silva
 
Microsoft opensource
Microsoft opensourceMicrosoft opensource
Microsoft opensourceCDS
 
Apresentação da Spin no SIMPASE 2013
Apresentação da Spin no SIMPASE 2013Apresentação da Spin no SIMPASE 2013
Apresentação da Spin no SIMPASE 2013SpinEngenharia
 
Microsoft opensource
Microsoft opensourceMicrosoft opensource
Microsoft opensourceCDS
 
Por dentro do .NET Core
Por dentro do .NET CorePor dentro do .NET Core
Por dentro do .NET CoreGiovanni Bassi
 
Application Insights
Application InsightsApplication Insights
Application InsightsCDS
 
Novidades da API do Windows 7 usando o Delphi 2010
Novidades da API do Windows 7 usando o Delphi 2010Novidades da API do Windows 7 usando o Delphi 2010
Novidades da API do Windows 7 usando o Delphi 2010Bernardo Porto
 
Application Insights - III Encontro Metropolitano de Tecnologia - Baixada San...
Application Insights - III Encontro Metropolitano de Tecnologia - Baixada San...Application Insights - III Encontro Metropolitano de Tecnologia - Baixada San...
Application Insights - III Encontro Metropolitano de Tecnologia - Baixada San...Renato Groff
 
.Net Community Summit 2018 - Analisando dumps de memória de aplicações .NET -...
.Net Community Summit 2018 - Analisando dumps de memória de aplicações .NET -....Net Community Summit 2018 - Analisando dumps de memória de aplicações .NET -...
.Net Community Summit 2018 - Analisando dumps de memória de aplicações .NET -...iMasters
 
Arquitetura de IoT na prática com Google Cloud - Join Community 2018
Arquitetura de IoT na prática com Google Cloud - Join Community 2018Arquitetura de IoT na prática com Google Cloud - Join Community 2018
Arquitetura de IoT na prática com Google Cloud - Join Community 2018Alvaro Viebrantz
 
Nuvem em 2021: primeiros passos, Azure, tecnologias, carreira - UniFOA | Abri...
Nuvem em 2021: primeiros passos, Azure, tecnologias, carreira - UniFOA | Abri...Nuvem em 2021: primeiros passos, Azure, tecnologias, carreira - UniFOA | Abri...
Nuvem em 2021: primeiros passos, Azure, tecnologias, carreira - UniFOA | Abri...Renato Groffe
 
Enterterprise Mobile Managment - Citrix XenMobile
Enterterprise Mobile Managment - Citrix XenMobileEnterterprise Mobile Managment - Citrix XenMobile
Enterterprise Mobile Managment - Citrix XenMobileRui Lopes
 
Cloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BHCloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BHRenato Groff
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Renato Groff
 
Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma AndroidÉdipo Souza
 
Projeto arrastão projeto fábrica de software
Projeto arrastão   projeto fábrica de softwareProjeto arrastão   projeto fábrica de software
Projeto arrastão projeto fábrica de softwareAlan Correa Morais
 
Montando ambiente de desenvolvimento android em um tablet
Montando ambiente de desenvolvimento android em um tabletMontando ambiente de desenvolvimento android em um tablet
Montando ambiente de desenvolvimento android em um tabletHeider Lopes
 

Ähnlich wie Azure WebJobs: Uma solução para processamento assíncrono em nuvem (20)

Compartilhando código entre frontend e backend com Node.js
Compartilhando código entre frontend e backend com Node.jsCompartilhando código entre frontend e backend com Node.js
Compartilhando código entre frontend e backend com Node.js
 
Do monolito aos microserviços com Docker (PHPSP+IMA)
Do monolito aos microserviços com Docker (PHPSP+IMA)Do monolito aos microserviços com Docker (PHPSP+IMA)
Do monolito aos microserviços com Docker (PHPSP+IMA)
 
Microsoft opensource
Microsoft opensourceMicrosoft opensource
Microsoft opensource
 
Apresentação da Spin no SIMPASE 2013
Apresentação da Spin no SIMPASE 2013Apresentação da Spin no SIMPASE 2013
Apresentação da Spin no SIMPASE 2013
 
Microsoft opensource
Microsoft opensourceMicrosoft opensource
Microsoft opensource
 
Por dentro do .NET Core
Por dentro do .NET CorePor dentro do .NET Core
Por dentro do .NET Core
 
Software
SoftwareSoftware
Software
 
Application Insights
Application InsightsApplication Insights
Application Insights
 
Novidades da API do Windows 7 usando o Delphi 2010
Novidades da API do Windows 7 usando o Delphi 2010Novidades da API do Windows 7 usando o Delphi 2010
Novidades da API do Windows 7 usando o Delphi 2010
 
Application Insights - III Encontro Metropolitano de Tecnologia - Baixada San...
Application Insights - III Encontro Metropolitano de Tecnologia - Baixada San...Application Insights - III Encontro Metropolitano de Tecnologia - Baixada San...
Application Insights - III Encontro Metropolitano de Tecnologia - Baixada San...
 
.Net Community Summit 2018 - Analisando dumps de memória de aplicações .NET -...
.Net Community Summit 2018 - Analisando dumps de memória de aplicações .NET -....Net Community Summit 2018 - Analisando dumps de memória de aplicações .NET -...
.Net Community Summit 2018 - Analisando dumps de memória de aplicações .NET -...
 
Web Tools Pt Br
Web Tools Pt BrWeb Tools Pt Br
Web Tools Pt Br
 
Arquitetura de IoT na prática com Google Cloud - Join Community 2018
Arquitetura de IoT na prática com Google Cloud - Join Community 2018Arquitetura de IoT na prática com Google Cloud - Join Community 2018
Arquitetura de IoT na prática com Google Cloud - Join Community 2018
 
Nuvem em 2021: primeiros passos, Azure, tecnologias, carreira - UniFOA | Abri...
Nuvem em 2021: primeiros passos, Azure, tecnologias, carreira - UniFOA | Abri...Nuvem em 2021: primeiros passos, Azure, tecnologias, carreira - UniFOA | Abri...
Nuvem em 2021: primeiros passos, Azure, tecnologias, carreira - UniFOA | Abri...
 
Enterterprise Mobile Managment - Citrix XenMobile
Enterterprise Mobile Managment - Citrix XenMobileEnterterprise Mobile Managment - Citrix XenMobile
Enterterprise Mobile Managment - Citrix XenMobile
 
Cloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BHCloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BH
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
 
Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma Android
 
Projeto arrastão projeto fábrica de software
Projeto arrastão   projeto fábrica de softwareProjeto arrastão   projeto fábrica de software
Projeto arrastão projeto fábrica de software
 
Montando ambiente de desenvolvimento android em um tablet
Montando ambiente de desenvolvimento android em um tabletMontando ambiente de desenvolvimento android em um tablet
Montando ambiente de desenvolvimento android em um tablet
 

Mehr von Wennder Santos

Do desenvolvimento à store com React Native e VSTS
Do desenvolvimento à store com React Native e VSTSDo desenvolvimento à store com React Native e VSTS
Do desenvolvimento à store com React Native e VSTSWennder Santos
 
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)Wennder Santos
 
Curso: Desenvolvimento de aplicativos híbridos (dia 1)
Curso: Desenvolvimento de aplicativos híbridos (dia 1)Curso: Desenvolvimento de aplicativos híbridos (dia 1)
Curso: Desenvolvimento de aplicativos híbridos (dia 1)Wennder Santos
 
Aplicativos híbridos e Xamarin Test Cloud
Aplicativos híbridos e Xamarin Test CloudAplicativos híbridos e Xamarin Test Cloud
Aplicativos híbridos e Xamarin Test CloudWennder Santos
 
Azure Mobile Engagement
Azure Mobile EngagementAzure Mobile Engagement
Azure Mobile EngagementWennder Santos
 
Aplicativos híbridos e o Apache Cordova
Aplicativos híbridos e o Apache CordovaAplicativos híbridos e o Apache Cordova
Aplicativos híbridos e o Apache CordovaWennder Santos
 
HockeyApp: A Plataforma para seus apps
HockeyApp: A Plataforma para seus appsHockeyApp: A Plataforma para seus apps
HockeyApp: A Plataforma para seus appsWennder Santos
 
HockeyApp: A plataforma para seus apps
HockeyApp: A plataforma para seus appsHockeyApp: A plataforma para seus apps
HockeyApp: A plataforma para seus appsWennder Santos
 
Contruindo Aplicações móveis com o Cordova e o Visual Studio
Contruindo Aplicações móveis com o Cordova e o Visual StudioContruindo Aplicações móveis com o Cordova e o Visual Studio
Contruindo Aplicações móveis com o Cordova e o Visual StudioWennder Santos
 

Mehr von Wennder Santos (12)

Testes de a a z
Testes de a a zTestes de a a z
Testes de a a z
 
Por que Xamarin?
Por que Xamarin?Por que Xamarin?
Por que Xamarin?
 
Meetup build 2017
Meetup build 2017Meetup build 2017
Meetup build 2017
 
Do desenvolvimento à store com React Native e VSTS
Do desenvolvimento à store com React Native e VSTSDo desenvolvimento à store com React Native e VSTS
Do desenvolvimento à store com React Native e VSTS
 
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
 
Curso: Desenvolvimento de aplicativos híbridos (dia 1)
Curso: Desenvolvimento de aplicativos híbridos (dia 1)Curso: Desenvolvimento de aplicativos híbridos (dia 1)
Curso: Desenvolvimento de aplicativos híbridos (dia 1)
 
Aplicativos híbridos e Xamarin Test Cloud
Aplicativos híbridos e Xamarin Test CloudAplicativos híbridos e Xamarin Test Cloud
Aplicativos híbridos e Xamarin Test Cloud
 
Azure Mobile Engagement
Azure Mobile EngagementAzure Mobile Engagement
Azure Mobile Engagement
 
Aplicativos híbridos e o Apache Cordova
Aplicativos híbridos e o Apache CordovaAplicativos híbridos e o Apache Cordova
Aplicativos híbridos e o Apache Cordova
 
HockeyApp: A Plataforma para seus apps
HockeyApp: A Plataforma para seus appsHockeyApp: A Plataforma para seus apps
HockeyApp: A Plataforma para seus apps
 
HockeyApp: A plataforma para seus apps
HockeyApp: A plataforma para seus appsHockeyApp: A plataforma para seus apps
HockeyApp: A plataforma para seus apps
 
Contruindo Aplicações móveis com o Cordova e o Visual Studio
Contruindo Aplicações móveis com o Cordova e o Visual StudioContruindo Aplicações móveis com o Cordova e o Visual Studio
Contruindo Aplicações móveis com o Cordova e o Visual Studio
 

Azure WebJobs: Uma solução para processamento assíncrono em nuvem

Hinweis der Redaktion

  1. Image processing or other CPU-intensive work. Queue processing. RSS aggregation. File maintenance, such as aggregating or cleaning up log files. Other long-running tasks that you want to run in a background thread, such as sending emails
  2. Tempo do request - O usuário precisa esperar mais tempo - O servidor fica sobrecarregado com vários requests não finalizados e eventualmente para de responder - Chegará um momento que o request que era de 30 segundos vai subir para 1min, depois 2min, 5min, até quando? Threads - Quantas threads podemos criar em uma app mobile antes que o processamento pare? - Quantas threads podem ser criadas até que o SO informe que o seu app parou? - Quantas threads até o processador começar a fritar o device? Timers / Scheduled Tasks - Como escalar os timers? - Como isolar a execução de um Timer na sua aplicação? - Como dar manutenção e versionar uma scheduled task? - Quando for necessário alterar a task, como fazer um deploy com CI e CD?
  3. There is no additional cost to use WebJobs.
  4. Rotinas como Serviço Rodar em context do XPTO app Geralmente vai ter uma StorageAccount vinculada Poderia ao invés disso se comunicar com uma API https://code.msdn.microsoft.com/Azure-App-Calling-a-WebJob-c41ccf5d
  5. Explicar a criação de um WebJob com o Visual Studio - Template de projeto - SDK do Azure - MÉTODOS ESTÁTICOS!!!!
  6. - Explicar como vincular a conta do Azure - Configurar as variáveis no app.settings que o projeto define - Deploy vinculado a um projeto de website asp.net
  7. USAR A DEFINIÇÃO DO CRON {second} {minute} {hour} {day} {month} {day of the week} A definição da MS não é recomendada pelo time do Azure Caracteres proibidos em uma RowKey ou PartitionKey - The forward slash (/) character - The backslash (\) character - The number sign (#) character - The question mark (?) character https://docs.microsoft.com/pt-br/rest/api/storageservices/fileservices/Understanding-the-Table-Service-Data-Model?redirectedfrom=MSDN Mostrar no portal do Azure como fica sinalizado que é um Schduled job Mostrar logs
  8. RunMode: OnDemand Main: RunAndBlock Função só é executada quando critérios forem satisfeitos QueueTrigger FileTrigger BlogTrigger - https://github.com/Azure/azure-webjobs-sdk-extensions