Cloud

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

Compartilhe:

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,

 

Fonte: https://thiagoviola.wordpress.com/2019/03/15/cloud-native-ou-cloudable-quais-as-orientacoes-para-minha-aplicacao/

Head of Cloud Platform Enterprise Business

Leia mais sobre Cloud

7 Motivos para Iniciar sua Jornada FinOps AGORA!

7 motivos para iniciar sua jornada em FinOps agora mesmo tanto na sua empresa como nos seus estudos! Neste vídeo você aprenderá por que FinOps é essencial para o sucesso empresarial, como pode transformar seus estudos e impulsionar seus resultados financeiros. Não perca esta oportunidade de dominar uma habilidade crucial para o mundo dos negócios […]

Introdução à Integração: APIs, Gateways e Streaming para Iniciantes

Descubra o fascinante mundo da integração de sistemas com meu novo vídeo! Neste tutorial explorei os conceitos fundamentais de integração, incluindo APIs, gateways de aplicativos, streaming de arquivos e gerenciamento de eventos. Se você é novo no assunto ou procura aprimorar seu conhecimento, este vídeo é para você. Aprenda como esses elementos se interconectam para […]

Estratégias de FinOps: Insights do FinOps Day da IBM no Rio de Janeiro

Descubra as estratégias de FinOps que estão revolucionando a gestão de custos de TI! Nossa cobertura exclusiva do FinOps Day da IBM no Rio de Janeiro apresenta insights sobre como otimizar recursos, reduzir gastos e impulsionar a inovação financeira. Assista agora para aprender com líderes de TI da IBM e parceiros de negócios e clientes […]