O documento apresenta uma palestra sobre migração de aplicações legadas para a nuvem Azure. Aborda tópicos como escolha entre PaaS e IaaS, banco de dados, distribuição de carga e pontos de melhoria na arquitetura após a migração. O palestrante discute a importância de conhecer bem a aplicação, manter a simplicidade e realizar testes antes de qualquer mudança significativa.
2. Palestrante:
Categorias de premiação:
Microsoft Azure
Primeiro ano premiado:
2017
Número de prêmios MVPs:
1
rsantos@braziliandevs.com
Linkedin.com/rsantosdev
Facebook.com/rsantosdev
Instagran.com/rsantosdev
Twitter@rsantosdev
Biografia
Marido da Geysla, pai do Ted, desenvolvedor e nas horas vagas gosta de escrever
sobre arquitetura para Nuvem.
3. Agenda:
• First things first!
• Componentes de uma aplicação legada
• PaaS / IaaS
• Banco de Dados
• Distribuição de carga
• Pontos de melhoria
4. First things first, ou começando do começo:
• Conheça a aplicação que você quer migrar
- Conhecer a aplicação vai economizar muito tempo e dinheiro
- Vai te ajudar a tomar melhores decisões.
• O que funciona para mim, pode não funcionar para você.
- Faca testes, a melhor solução em um cenário, pode não ser em outro.
- Testes de adequação e de carga são os seus melhores amigos.
5. First things first, ou começando do começo:
• Mantenha as coisas simples e funcionais
- Lift and Shift pode ser o seu melhor amigo.
- Evite otimizações desnecessárias em um primeiro momento.
• Vamos começar!
6.
7. First things first, ou começando do começo:
• Escolha do Data Center
- Azure conta com mais de 50 regiões disponíveis.
- Teste a latência: http://www.azurespeed.com/
8. First things first, ou começando do começo:
• Escolha do Data Center
- Pesquise as features que você deseja usar no data center escolhido.
- O ideal eh uma combinação de velocidade e recursos.
9. Componentes de uma aplicação legada:
• Banco de dados
• Servidor Web
• Load Balancer
10. PaaS vs IaaS:
• Nem sempre a decisão eh feita por afinidade
- Leve em conta componentes customizados (COM+)
- PCI Compliance
• PaaS
- Muito mais simples de usar, modelo: faz pra mim que eu pago e te culpo se der
algo errado.
- Azure App Service / Azure App Service Environment
• IaaS
- Muito mais controle, modelo: deixa que eu mesmo faço.
- Exige mais trabalho na configuração inicial, mas por outro lado te da muito
mais poder e flexibilidade.
11. PaaS vs IaaS:
• App Services
- Suporte a mais diversas linguagens/plataformas
- Integração com ferramentas CI/CD
- Plataforma totalmente gerenciada
- Suporte para apps: Windows / Linux / Containers
- Slots
- Application Insights
- Integração on-premises via Gateway (ou outbound ips)
• App Service Environment
- Deploy direto para vnet
- Load Balancer interno ou externo.
12. PaaS vs IaaS:
• Virtual Machine
- Inifitos “sabores” e tamanhos. Bom e Ruim!
- Suporte imagens customizadas (.vhd)
- Azure Automation
- Custom Script Extension
- Vnet / NSG / Public IP
- Managed Disks (SSD!)
- Otimizacao para algumas imagens (sql server)
• Virtual Machine Scale Set
- Facilita gerenciamento de múltiplas VMs
- Load Balancer ou Application Gateway
- Update automático, lote ou manual.
13. Banco de Dados:
• PaaS vs IaaS
- Mesmas regras do servidor de aplicação.
- Em geral VMs facilitam a migração pois permitem rodar a mesma versão e
configuração do ambiente atual.
- Por outro lado PaaS fornece maior escalabilidade e facilidades.
• Azure SQL Managed Instance
- Excelente meio termo. Melhor dos 2 mundos.
• AzCopy
- Ferramenta indispensável para fazer upload / download de backups
- https://docs.microsoft.com/pt-br/azure/storage/common/storage-use-azcopy
14. Distribuição de Carga:
• Traffic Manager
- Roteamento de tráfego para melhor desempenho e disponibilidade.
- Facilita migração com integração entre Azure e On-Premises (outros providers).
- Podem ser combinados para alta disponibilidade.
• Application Gateway
- Distribuição de carga HTTP(s)
- Cookie Affinity para persistência de sessão.
- Integração com serviços do Azure e On-Premises (outros providers).
- Concentra certificados SSL. Gerenciamento e Performance.
- Firewall web integrado.
15. Distribuição de Carga:
• Load Balancer
- Mais simples para fornecer balanceamento.
- Regras TCP e UDP
- Suporte nativo para IPv6
- Integra somente com VMs Azure.
- Pode ser combinado com APP Gateway.
• Ferramentas uteis para teste de rede:
- PsPing: https://docs.microsoft.com/en-us/sysinternals/downloads/pstools
16. Pontos de melhoria:
• Blog Storage para arquivos estáticos.
• CDN para cache e distribuição global de arquivos.
• Redis Cache para dados de Cache/Session do Servidor WEB.
• Queues para processamento em segundo plano.