Começando com um servidor gratuito e avançando até cenários complexos de canary releases, telemetria e testes A/B. Tudo proporcionado por uma só plataforma, totalmente integrada ao pipeline de produção do ecossistema .NET e que permite interoperabilidade com diversas tecnologias. Esse é o Azure App Services e nessa palestras vou apresentar as principais funcionalidades da plataforma, e como começar a utilizar. Serão abordados as principais funcionalidades da plataforma, exemplificando modos de utilização e conceitos por trás de algumas funcionalidades. Serão abordados os seguintes tópicos: -Linguagens suportadas -Arquitetura do serviço -Formas de publicar -Escalabilidade -WebJobs -Site Slots -Roteamento de trafego -Gerenciamento de trafego -Backup -Conexões Hibridas -Application Insights -Segredos: Kudu Services e Monaco
2. 2
João Bosco SeixasProgramador, Empreendedor, Curioso e viciado em cafeína.
Tentando abandonar o vício da cafeína. Hoje já foram 3 cafés e 1
energetico até o momento.
Programador de sistemas web desde 2005. Maior parte do tempo com
Stack Microsoft. Mas acredito que para todo problema existe uma
ferramenta ideal
Empreendedor, seja lá o que isso quer dizer. Sócio do Push Questões,
plataforma de educação que funciona no Azure.
Consultor e Arquiteto de software
Formado em computação e MBA em Gestão Empresarial pela FGV
3. 3
Agenda da apresentação
O que é Azure App
Service Web
Publicação
Escalabilidade
WebJobs
3
Com quais tecnologias
podemos trabalhar?
Afinal todo mundo quer saber quando começa a palestra do Elemar
9. 9
Fortune 500 usando Azure
% 250k
Websites ativos
Mais de
1,000,000
SQL Databases no Azure
Trilhões
storage
objects >300Milhões
Usuários AD
>13Bilhões
autenticação/
semana
Milhões
requests/sec
Milhão
Desenvolvedores
Registrados
com
Visual Studio
Online
10. 10Arquitetura de Serviços do WebSites
Microsoft Azure
Load Balancer
Runtime
Database
Banco de dados
da sua aplicação
API
Endpoint
Frontend (IIS ARR)
Publish Endpoint Blob Storage
File Server
“Medidor”
Deployment
Server(s)
11. 11
11
Idea
Comece com pouco
Comece gastando pouco e
aumente a medida que se negócio
crescer T2M
Economize tempo no
desenvolvimento e ganhe em
time to market
Ferramentas
Ferramentas profissionais de
monitoramento e troubleshooting
Sucesso
Finalmente respondendo a pergunta
Azure App Web
12. 12
Pra começar
Quais tecnologias podemos trabalhar?
Tudo nativo e pronto para ser usado no Azure
.NET, Node.js, PHP e Python
Afinal não seria um PaaS sem esses recursos
Auto Escala e Balanceamento de Carga
Easy install das principais ferramentas do mercado.
Wordpress, Joomla, Drupal
Não são tão nativos assim, mas rodam bem graças
ao HttpPlatformHandler. Com ele você pode rodar
quase tudo no Azure App Service Web
E o F#, Java, Ruby e Go?
Facilitando a vida do desenvolvedor de diversas
formas.
Implantação contínua com TFS e VSO
Um editor de texto online com suporte a syntax
coloring , acesso ao console e integração com GIT.
Desenvolvimento direto na nuvem!
13. 13
Publicação
Escolha seu favorito e seja feliz
É possível publicar de diversas outras formas como FTP e MS Web Deploy. Além disso ainda podemos aplicar
implantação contínua com todos esses meios citados.
Visual Studio Online
GIT
GitHub
Dropbox
Bit Bucket
OneDrive
20. 20
Automática x Manual
Escala apenas a camada Web
*Bancos e outros recursos vinculados
não escalam junto
Escalabilidade não é automática.
*~5min
21. 21
1
2
3
4
Permite agendamento de execução
Permite execução contínua.
[CUIDADO] Segue o ciclo de vida do
seu website no IIS
Acesso a estruturas de
armazenamento do Azure como filas,
banco de dados e blobs.
WEB JOBS – Processar em background ficou fácil
22. 22
WebJobs = Windows Service
#SQN
Para quem gosta de Windows
.cmd .bat .exe .ps11
Para os amantes do Bash
.sh
Para quem gosta do PHP
.php
Para os que gostam de Java
.jar
De presente ainda vem Python e
Node.JS
2
3
4
5
23. 23
FAIL OVER
Crie redundancia em uma região
diferente e esteja protegido contra
eventuais instabilidades do serviço
23
ROUND ROBIN
Checagem de saúde e divisão
igualitaria do trafego entre as
instancias saudaveis.
PERFORMANCE
(GEO LOCALIZADO)
Deixe que o Azure decida para
você qual é a melhor zona para
responder pela requisição
GERENCIAMENTO DE TRÁFEGO
27. 27
Unindo o Visual Studio Online
e o Azure é possível criar um
pipeline campeão
CI & CD
Possível dividir o trafego que
chega ao seu site entre
diversas publicações e medir
os resultados
Teste A/B
Publique para parte de seus
usuários e acompanhe os
resultados
Canary Release
Site Slot + Traffic Route
28. 28
Facilita o trabalho manual de backup e é mais um passo para dedicar menos tempo a sua “Infraestrutura”
e mais tempo a gerar valor para o seu negócio.
SOBRE BACKUP
Backup de conteúdo do aplicativo
Backup da configuração do aplicativo
Bancos de dados de SQL Server ou
MySQL conectados ao seu aplicativo
(você pode escolher quais incluir no
backup)
É possível definir quais arquivos serão
excluídos ou não do backup
Tamanho máximo do backup de arquivos é 10GB
Todo backup vai para um blob storage no Azure
É possível agendar o backup
31. 31
Application
Insights
Detecte problemas e acompanhe o uso de sua
aplicação
Monitore page views, eventos e interações dos
usuários.
Monitore código client-side
Track de eventos e metricas, usuários, crashes, perf
counters e tempo de resposta dos requests
Monitore código server-side
Acompanhe exceptions e falhas na
resposta das requisições.
ASP.NET, J2EE, Android, iOS, Windows Apps e
mais…
Monitore multi-plataforma
33. 33
Visual Studio Monaco
Um dos melhores recursos do Azure App Web
Live edit de código
Integração com GIT
Console diponível online
https://seusite.scm.azurewebsites.net/D
ev/
Speaking Points:
Just to recap
When I’m running shared, multiple web sites from multiple customers are use the same virtual machine instances
Speaking Points:
In shared mode the web sites can be scaled out to run on multiple shared instances,
In this case Windows Azure provides load balancing of incoming requests resulting in better response time and performance for your application and higher availability
Speaking Points:
If we really need to scale our application or we want to isolate our application, perhaps to use more memory, we can switch our app to reserved mode
In this case Windows Azure will use an instance out of the pool of available instances, deploy your site, and continue to serve up requests
Speaking Points:
Just like with shared mode, we can also scale out with reserved mode, in which case the machine instances are registered with the load balancer for your web application.
This can result in better response time, performance, and availability for your web application.
Speaking Points:
What’s also cool is that you can have multiple sites in a reserved instance.
So if you have three or four sites as I had in the demo, they can all run in my reserved instance, so I can be more efficient with using the resources.
This is great if you want to run multiple sites for others or sites you want to run isolated
Drag your picture and Send to Back
In this slide there is a background placeholder. Click to the small icon on the center of the slide and choose an image from computer. When add an image, you must sent it to back with Right Click on Image -> Send to Back -> Send to Back.
Este slide apresenta mais alguns detalhes de como isso realmente funciona. O que acontece é que o serviço Web local (que vai realizar chamadas para outros sistemas locais) precisa estar registrado no Relay do BS e usar o protocolo/canal específico dele (pura mágica do WCF). Quando isso acontece, o serviço Web interno não escuta as solicitações no ponto de extremidade do Relay do BS nem na rede interna (ele pode fazer as duas coisas se você associar vários protocolos ao serviço).
Quando um cliente faz uma chamada para o ponto de extremidade do Relay do BS, o BS retransmite a chamada para o serviço, que executa a solicitação e devolve o resultado de volta ao Relay e, então, ao cliente.