Por que a Atlassian usa um PaaS interno para gerenciar o acesso dos funcionários à AWS
(blog.developer.atlassian.com)Mais de 1.000 serviços estão hospedados por meio de um PaaS chamado Micros.
Inclui desde código criado em hackathons até produtos principais em produção.
É um serviço muito importante, mas na prática sua configuração é simples.
-
Imagem Docker: lógica do serviço
-
YAML com a descrição do serviço
== definição dos recursos necessários, como DB, filas e cache
== várias configurações, como características de autoscaling
Todo o restante é tratado pelo Micros
= agregação de logs, monitoramento, alertas
= multi-AZ, configurações de backup/restore/retenção etc.
Não há tantas partes desenvolvidas internamente; a maior parte aproveita recursos da própria AWS.
** Motivos para estruturar esse PaaS
-
A integração com ferramentas e processos padrão internos facilita o desenvolvimento
-
Mudanças que precisam ser aplicadas amplamente aos serviços se tornam mais simples e previsíveis
-
As competências especializadas de um pequeno número de engenheiros são multiplicadas várias vezes
(há poucos especialistas em PostgreSQL na empresa, mas se isso for aplicado só no Micros, a empresa inteira se beneficia)
-
Pequenas tentativas de melhorar a plataforma passam a impactar a empresa inteira
-
Novos recursos da AWS também podem ser adicionados gradualmente, mantendo a segurança e a conformidade já existentes.
Claro que essa abordagem não é perfeita: às vezes é difícil experimentar novos recursos da AWS, e em alguns casos outras ferramentas de terceiros podem não se integrar ao Micros. Por isso, foi criado internamente um processo para adicionar novas funcionalidades ao PaaS.
Esse PaaS não é uma barreira entre os engenheiros internos e a AWS; ele ajuda a expor mais da infraestrutura da AWS. E continuará evoluindo.
1 comentários
O texto é bem longo, então anotei apenas alguns trechos.
Se você opera AWS em uma organização um pouco maior, recomendo ler com calma.
Pelo que sei, no passado KTH e Daum também montaram e usaram uma nuvem interna parecida (se bem me lembro, era OpenStack).
Parece que essa forma de colocar uma camada fina sobre a AWS também é uma boa ideia.