SlideShare a Scribd company logo
1 of 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

More Related Content

Similar to Azure WebJobs

APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)
Walanem Figueiredo
 

Similar to Azure WebJobs (20)

Windows Phone 7 & Windows Azure
Windows Phone 7 & Windows AzureWindows Phone 7 & Windows Azure
Windows Phone 7 & Windows Azure
 
Meteor - TechParty 2015
Meteor - TechParty 2015Meteor - TechParty 2015
Meteor - TechParty 2015
 
Descomplicando o Android
Descomplicando o AndroidDescomplicando o Android
Descomplicando o Android
 
Desktop App Converter: Trazendo Apps Win32 para a Windows Store
Desktop App Converter: Trazendo Apps Win32 para a Windows StoreDesktop App Converter: Trazendo Apps Win32 para a Windows Store
Desktop App Converter: Trazendo Apps Win32 para a Windows Store
 
Workshop web realtime
Workshop web realtimeWorkshop web realtime
Workshop web realtime
 
APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)
 
Docker | Minicurso Gratuito - Azure na Prática
Docker | Minicurso Gratuito - Azure na PráticaDocker | Minicurso Gratuito - Azure na Prática
Docker | Minicurso Gratuito - Azure na Prática
 
TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...
 
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
 

More from Vinicius Quaiato

More from Vinicius Quaiato (20)

Me interessei por Xamarin, e agora?
Me interessei por Xamarin, e agora?Me interessei por Xamarin, e agora?
Me interessei por Xamarin, e agora?
 
Throughput, escalabilidade e distribuição global com Cosmos DB
Throughput, escalabilidade e distribuição global com Cosmos DBThroughput, escalabilidade e distribuição global com Cosmos DB
Throughput, escalabilidade e distribuição global com Cosmos DB
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to Xamarin
 
Meetup Delivering Software - Microsoft Build 2017
Meetup Delivering Software - Microsoft Build 2017Meetup Delivering Software - Microsoft Build 2017
Meetup Delivering Software - Microsoft Build 2017
 
Microsoft loves open source
Microsoft loves open sourceMicrosoft loves open source
Microsoft loves open source
 
Testes de A a Z (em 30 minutos)
Testes de A a Z (em 30 minutos)Testes de A a Z (em 30 minutos)
Testes de A a Z (em 30 minutos)
 
IdentityServer 4
IdentityServer 4IdentityServer 4
IdentityServer 4
 
Universos Paralelos (saindo da zona de conforto)
Universos Paralelos (saindo da zona de conforto)Universos Paralelos (saindo da zona de conforto)
Universos Paralelos (saindo da zona de conforto)
 
Arquitetura de Software e o Arquiteto - Secomp Londrina - Vinicius Quaiato
Arquitetura de Software e o Arquiteto - Secomp Londrina - Vinicius QuaiatoArquitetura de Software e o Arquiteto - Secomp Londrina - Vinicius Quaiato
Arquitetura de Software e o Arquiteto - Secomp Londrina - Vinicius Quaiato
 
Arquitetura de Software e o Arquiteto - Secomp Londrina - Vinicius Quaiato
Arquitetura de Software e o Arquiteto - Secomp Londrina - Vinicius QuaiatoArquitetura de Software e o Arquiteto - Secomp Londrina - Vinicius Quaiato
Arquitetura de Software e o Arquiteto - Secomp Londrina - Vinicius Quaiato
 
Orientacao a objetos e design patterns - Secomp Londrina
Orientacao a objetos e design patterns - Secomp LondrinaOrientacao a objetos e design patterns - Secomp Londrina
Orientacao a objetos e design patterns - Secomp Londrina
 
.Net e arquiteturas modernas - qconsp 2011 - vinicius quaiato
.Net e arquiteturas modernas - qconsp 2011 - vinicius quaiato.Net e arquiteturas modernas - qconsp 2011 - vinicius quaiato
.Net e arquiteturas modernas - qconsp 2011 - vinicius quaiato
 
Patterns para Windows Azure e Cloud Computing
Patterns para Windows Azure e Cloud ComputingPatterns para Windows Azure e Cloud Computing
Patterns para Windows Azure e Cloud Computing
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Mono - .NET além do Windows
Mono - .NET além do WindowsMono - .NET além do Windows
Mono - .NET além do Windows
 
Mono - .NET além do Windows
Mono - .NET além do WindowsMono - .NET além do Windows
Mono - .NET além do Windows
 
YAGNI, KISS e Over Patternization
YAGNI, KISS e Over PatternizationYAGNI, KISS e Over Patternization
YAGNI, KISS e Over Patternization
 
MSTechDay Lavras - Orientação a Objetos e Princípios Solid
MSTechDay Lavras - Orientação a Objetos e Princípios SolidMSTechDay Lavras - Orientação a Objetos e Princípios Solid
MSTechDay Lavras - Orientação a Objetos e Princípios Solid
 
Orientação a Objetos e Design Patterns
Orientação a Objetos e Design PatternsOrientação a Objetos e Design Patterns
Orientação a Objetos e Design Patterns
 
TDD no ASP.NET MVC
TDD no ASP.NET MVCTDD no ASP.NET MVC
TDD no ASP.NET MVC
 

Recently uploaded

Recently uploaded (9)

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 

Azure WebJobs

Editor's Notes

  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