Cloud Native ou Cloudable — Quais as orientações para minha aplicação ?

Olá Leitores,

Há uma crescente natural no uso de Cloud Computing para os próximos anos e as empresas estão se questionando sobre o nível de preparação que suas aplicações devem estar para serem rotuladas como Cloud Native ou Cloudable.

Vamos aos conceitos:

Screen Shot 2019-03-05 at 17.26.35

IaaS (ou Infraestrutura como Serviço):  Aqui você utilizará das vantagens e automações de infraestrutura e terá facilidade de realizar praticamente um AS-IS encontrando possibilidade de migrar aplicações sem grandes impactos, uma vez que podemos realizar a reprodução natural dos ambientes. Trata-se basicamente de um modelo que tem foco em redução de custo, flexibilidade e escalabilidade em recursos computacionais que tocam a infraestrutura.

Quando falamos de PaaS (Plataforma como Serviço), esqueçam o “manuseio” de infraestrutura, o cliente terá apenas a gestão do código de sua aplicação e seus dados. Sendo assim, não é possível se apoiar em funcionalidades de IaaS (como redução ou aumento de recursos computacionais, cluster de banco de dados) para que a aplicação tenha sua operação básica garantida e o princípio básico da escalabilidade é o horizontal.

E como aproveitar o melhor de cada modelo ? E como saber onde devo direcionar meu foco CLOUD NATIVE ou CLOUDABLE ?

O “X” da questão é que as aplicações em sua ampla maioria foram escritas com foco em escalabilidade horizontal, ou seja, fomos treinados a resolver problemas de instabilidade e performance focando sempre na infraestrutura, não é mesmo ?Adicione processadores, dobro o uso da memória, altere o número de IOPs e performance dos discos…

Mas será que é dessa maneira que devemos resolver os problemas atuais ?

Pensando hoje em uma transformação digital onde seu app, seu SW, sua aplicação poderá sair de 100 para 1.000.000.000 de usuários simultâneos, o jeito é tocar na arquitetura da aplicação.

Mas quais são as implicações? Já ouviram falar de Micro Serviços ?

microservicos_nutshell_126263a3524c13ca2476c08a14af4943

Aqui temos características e práticas que cercam esse estilo arquitetural, como: Aplicações devem ser capazes de fazer scale up(escalar verticalmente) e scale out(escalar horizontalmente), deployment automatizado, armazenamento de maneira a incentivar a flexibilidade, independência de linguagens de programação, etc.

Sendo assim, uma aplicação Cloudable / Cloud Native deve ser constituída como um conjunto de micro-serviços, com escalabilidade, ciclo de vida e métricas de performance independentes.

Um grande orientador deste modelo é o The Twelve Factor App, o qual traz recomendações para a atribuição de uma aplicação Cloud Native / Cloudable.

I. Base de Código
Uma base de código com rastreamento utilizando controle de revisão, muitos deploys

II. Dependências
Declare e isole as dependências

III. Configurações
Armazene as configurações no ambiente

IV. Serviços de Apoio
Trate os serviços de apoio, como recursos ligados

V. Build, release, run
Separe estritamente os builds e execute em estágios

VI. Processos
Execute a aplicação como um ou mais processos que não armazenam estado

VII. Vínculo de porta
Exporte serviços por ligação de porta

VIII. Concorrência
Dimensione por um modelo de processo

IX. Descartabilidade
Maximizar a robustez com inicialização e desligamento rápido

X. Dev/prod semelhantes
Mantenha o desenvolvimento, teste, produção o mais semelhante possível

XI. Logs
Trate logs como fluxo de eventos

XII. Processos de Admin
Executar tarefas de administração/gerenciamento como processos pontuais.

Para maiores detalhes sobre Making Architecture Matter
Martin Fowler Keynote
https://www.youtube.com/watch?v=DngAZyWMGR0

Obrigado e abraços,


Thiago Viola
Cloud Digital Sales Executive
MBA Cloud Computing Teacher

E-mail: thiagoviola@yahoo.com.br
LinkedIn: br.linkedin.com/in/thiagoviola
Blog: https://thiagoviola.wordpress.com/
Twitter: @ThiViola
YouTube Channel: https://www.youtube.com/user/tviola87
Slide Share: http://www.slideshare.net/ThiagoViola

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Blog no WordPress.com.

Acima ↑

%d blogueiros gostam disto: