Saindo do Monolítico para um
ambiente de Micro Serviços no
Microsoft Azure
Quem sou?
• Microsoft MVP desde 2013
• Desenvolvedor Web desde 2005
• Atuação em projetos nacionais e internacionais
• Atuação em projetos pequenos, médios e grandes
• Consultor independente desde 2012
• CIO do balta.io
Agenda
• Entendendo o monolítico
• Segmentação em Serviços
• Estratégias de migração
• Micro Serviços
• DevOps
• Infraestrutura
• Desenvolvimento
• Nuvem
Monolíticos
O que são? Como nascem? O que comem?
• Famoso tudo em um
• Overengineering
• Ou escala tudo ou não escala
Monolíticos
Segmentação em Serviços
Lembram do SOA?
Segmentação em Serviços
• Segmentação das funcionalidades em
serviços
• Cada parte pode ser atacada
individualmente
• Pode ser construído gradativamente
E como migrar?
A parte legal, só que ao contrário
Estratégias de Migração
• Green Field
• Árvore de Figueira
Micro Serviços
Bem micro, mas bem micro mesmo!
Micro Serviços
• Granularização dos serviços
• Pequenos e fáceis de gerenciar
• Fáceis de Testar
• Se comunicam via HTTP
• Realizam transação através de um BUS
• Escalonamento individual
• Deploy individual
• Manutenção fácil
• Não dá preguiça de reescrever
• Times menores
• Menor Batch Size
• São independentes
Serverless
• Sem server?
• A granularização da granulariazação
• Exposição de funções via HTTP
• Netflix é um bom exemplo
Data
• Cada serviço tem seu Data
Storage
• Um serviço não acessa o Storage
de outro
• O tipo do Storage indifere
• DocumentDb/Mongo/NoSQL
• Relacional
• Elastic Search
DevOps
• Imagina o deploy de 50 serviços!
• AO MESMO TEMPO!
• Redução no Downtime
• Deploy automatizado
• Testes automatizados
• Micro Serviços não funcionam sem um bom
DevOps
• DevOps não funcionam sem uma boa
cultura interna na sua empresa
• VSTS
• Rancher
Infraestrutura
• Quer Paz, vá para o PaaS!
• Deploy em diversos formatos
• WebApps
• Serverless
• CloudService
• VM
• Containers sempre são uma boa
estratégia (CaaS)
• Docker/Docker Swarm
• Kubernates
Desenvolvimento
• Livre!! Isto mesmo, livre!
• Não importa o modelo ou arquitetura
• .NET
• Java
• NodeJs
• Até PHP!!!!!!!!!!!
Micro Serviços no Azure
• Soluções PaaS
• Web Apps
• Cloud Services
• API Gateway
• Azure Service Hub
• Redis
• Mongo/DocumentDb
• SQL Server
• Entre outros
• Soluções IaaS
• VMs com Windows e Linux
Passo 1
APIs Monolíticas
Passo 2
Divisão em Micro Serviços
Passo 3
Resource Group
Modelos de Host
• IaaS
• Containers
• Publicação Direta
• PaaS
• WebApps
• Cloud Service
• CaaS
• Container Services
• Docker Swarm
• Kunbernates
Passo 4
Publicação dos Micro Serviços
Passo 5
DevOps
Passo 6
API Gateway e gerenciamento de Micro Serviços no Azure
Obrigado
Do Monolítico aos Micro Serviços no Azure
Do Monolítico aos Micro Serviços no Azure
Do Monolítico aos Micro Serviços no Azure

Do Monolítico aos Micro Serviços no Azure

  • 2.
    Saindo do Monolíticopara um ambiente de Micro Serviços no Microsoft Azure
  • 3.
    Quem sou? • MicrosoftMVP desde 2013 • Desenvolvedor Web desde 2005 • Atuação em projetos nacionais e internacionais • Atuação em projetos pequenos, médios e grandes • Consultor independente desde 2012 • CIO do balta.io
  • 4.
    Agenda • Entendendo omonolítico • Segmentação em Serviços • Estratégias de migração • Micro Serviços • DevOps • Infraestrutura • Desenvolvimento • Nuvem
  • 5.
    Monolíticos O que são?Como nascem? O que comem?
  • 6.
    • Famoso tudoem um • Overengineering • Ou escala tudo ou não escala Monolíticos
  • 7.
  • 8.
    Segmentação em Serviços •Segmentação das funcionalidades em serviços • Cada parte pode ser atacada individualmente • Pode ser construído gradativamente
  • 9.
    E como migrar? Aparte legal, só que ao contrário
  • 10.
    Estratégias de Migração •Green Field • Árvore de Figueira
  • 11.
    Micro Serviços Bem micro,mas bem micro mesmo!
  • 12.
    Micro Serviços • Granularizaçãodos serviços • Pequenos e fáceis de gerenciar • Fáceis de Testar • Se comunicam via HTTP • Realizam transação através de um BUS • Escalonamento individual • Deploy individual • Manutenção fácil • Não dá preguiça de reescrever • Times menores • Menor Batch Size • São independentes
  • 13.
    Serverless • Sem server? •A granularização da granulariazação • Exposição de funções via HTTP • Netflix é um bom exemplo
  • 14.
    Data • Cada serviçotem seu Data Storage • Um serviço não acessa o Storage de outro • O tipo do Storage indifere • DocumentDb/Mongo/NoSQL • Relacional • Elastic Search
  • 15.
    DevOps • Imagina odeploy de 50 serviços! • AO MESMO TEMPO! • Redução no Downtime • Deploy automatizado • Testes automatizados • Micro Serviços não funcionam sem um bom DevOps • DevOps não funcionam sem uma boa cultura interna na sua empresa • VSTS • Rancher
  • 16.
    Infraestrutura • Quer Paz,vá para o PaaS! • Deploy em diversos formatos • WebApps • Serverless • CloudService • VM • Containers sempre são uma boa estratégia (CaaS) • Docker/Docker Swarm • Kubernates
  • 17.
    Desenvolvimento • Livre!! Istomesmo, livre! • Não importa o modelo ou arquitetura • .NET • Java • NodeJs • Até PHP!!!!!!!!!!!
  • 18.
    Micro Serviços noAzure • Soluções PaaS • Web Apps • Cloud Services • API Gateway • Azure Service Hub • Redis • Mongo/DocumentDb • SQL Server • Entre outros • Soluções IaaS • VMs com Windows e Linux
  • 20.
  • 21.
    Passo 2 Divisão emMicro Serviços
  • 22.
  • 23.
    Modelos de Host •IaaS • Containers • Publicação Direta • PaaS • WebApps • Cloud Service • CaaS • Container Services • Docker Swarm • Kunbernates
  • 24.
    Passo 4 Publicação dosMicro Serviços
  • 25.
  • 26.
    Passo 6 API Gatewaye gerenciamento de Micro Serviços no Azure
  • 27.