Utilizável para construir aplicações e serviços altamente fiáveis, escaláveis e seguros dentro da nuvem, os Cloud Design Patterns (CDP) são definidos por especialistas da indústria de Cloud Computing como “solução geral reutilizável para problemas comuns na arquitectura da nuvem”. Aparentemente uma definição ampla, pode ajudar a entender que os CPDs são múltiplos e não de tamanho único. Considerando que os CDPs são usados para resolver “problemas comuns”, pode-se dizer que, no conjunto, esses padrões são uma biblioteca de soluções reutilizáveis para problemas únicos ou individuais que muitos construtores de nuvens encontram.
Neste post, discutiremos os CDPs com mais detalhes. Além disso, nos esforços para ajudar na arquitetura do Amazon Web Service, enquanto exploramos o que são padrões de design e como usá-los, vamos dar uma olhada nos CDPs AWS e o futuro das tecnologias de design AWS.
Uma visão geral do que um CDP implica
Muito parecido com assentar um piso em mosaico com cuidado com padrões e design, construir aplicações de nuvem requer que cada linha (nível) seja disposta (codificada) perfeitamente antes da próxima. Se o nível inferior for instável, os níveis anteriores também serão instáveis. Imagine colocar um pavimento sem se preocupar com o aspecto de cada ladrilho, provavelmente acabaria muito mal. Ao desenhar uma aplicação de nuvem, um engenheiro está sempre atento aos problemas. À medida que surgem problemas gerais, o engenheiro procura resolvê-los de forma fiável e segura com uma solução comprovada. Os CDPs poupam tempo e possíveis resultados confusos para todos.
Vindo geralmente em um formato padrão, aqui está o que você vai encontrar em um único Padrão de Design de Nuvem:
- Nome do padrão e uma breve descrição
- Identificação do problema típico e desafios
- Um esboço de solução do problema na nuvem
- Os benefícios que vêm da aplicação do padrão
- Ainda notas extras incluindo vantagens, desvantagens, explicações das notas
- Outra coisa que o arquiteto se importa em adicionar
Por que usar CDPs?
Além do simples uso de padrões para impulsionar a arquitetura de nuvens para migrar facilmente e desenvolver rapidamente aplicações altamente escaláveis, existem alguns outros benefícios para esta biblioteca de soluções. Grandes empresas, bem como startups, estão usando CDPs para desbloquear um valor incrível em grande escala. Trabalhando para garantir resultados 100% repetíveis em todo o ciclo de vida de uma plataforma e para remover a manutenção dos aplicativos implantados, os padrões gerais de frustração de executar um sistema em nuvem são reduzidos enquanto a produtividade é aumentada.
Para além dos benefícios ao nível do sistema, os arquitetos também experimentam vantagens dos CDPs. Imagine que enquanto trabalha numa aplicação AWS, se depara com um problema enquanto aumenta a eficiência do armazenamento na Internet. Descreve o problema a outro arquitecto e ele responde: “O padrão de índice de armazenamento funcionará para isso”. Conhecendo o nome do padrão, você tem o direito de trabalhar. Esta é uma linguagem usada para comunicar facilmente e corrigir problemas. Tendo uma ideia clara de todas as aplicações na nuvem antes de iniciar qualquer projecto, com a ajuda dos CDPs não há necessidade de começar do zero ao criar um sistema de software.
O que são CDPs AWS?
Como a Amazon é uma das três grandes da indústria de Cloud Computing juntamente com o Google e a Microsoft, não será um choque que, com todos os seus componentes, a AWS tenha um conjunto de CDPs. Apesar de não estar listado oficialmente com nenhuma referência específica pelo AWS, os padrões para AWS foram desenhados de forma não oficial por três arquitetos da Amazon. Deixando os detalhes de cada CDP AWS em um Wiki, além deste recurso é bom notar que a maioria dos CDPs são bastante intercambiáveis para vários serviços em nuvem. Os nomes de cada CDP podem ser diferentes, no entanto, com os detalhes acima mencionados, a descrição do padrão incluirá como resolvê-lo no AWS ou no serviço específico de nuvem.
Top AWS Basic Patterns
- Snapshot Pattern (backups de dados) – Garantindo que os dados são seguros, este padrão é ideal para quando se realizam verificações de atualização de programas que requerem cortes transversais de dados e o coping do SO, bem como os dados. Permitindo que um ‘snapshot’ seja tirado, quando cópias usadas de cada SO serão tiradas.
- Stamp Pattern (replicação de servidor) – Reduzindo a mão-de-obra, tempo e despesa que leva para configurar um servidor virtual, este padrão essencialmente copia o servidor virtual com funções já configuradas para ir. É ótimo para criar grandes quantidades de servidores virtuais.
- Scale-Up Pattern (especificação dinâmica do servidor acima/abaixo) – Este padrão permite que os construtores ajustem as especificações do servidor para uso sem substituir o servidor e reinstalar o sistema operacional.
- Scale-Out Pattern (aumentando dinamicamente o número de servidores) – Combine variações inesperadas no volume de tráfego sem aumentar o custo para uma alta especificação em um servidor de alta especificação. Este padrão faz o “escalonamento” para alterar o número de servidores virtuais que lidam com o processamento mais fácil.
- Padrão On-demand Dish (aumentando/diminuindo dinamicamente a capacidade do disco) – Pare de fazer estimativas elaboradas da capacidade do disco antes de construir e reduza os custos do investimento inicial em hardware. A instalação de discos virtuais com este padrão fornece capacidade ilimitada.
AWS Pattern Categories
Embora com os cinco CDPs AWS básicos e mais usados, cada área da seguinte aplicação de nuvem também tem múltiplas soluções de padrão:
- Alta Disponibilidade
- Processamento de Conteúdo Dinâmico
- Processamento de Conteúdo Estático
- Carregamento de Dados
- Base de Dados Relacionais
- Batch Processamento
- Operação e Manutenção
- Rede
Lambda e o futuro do AWS CDP
Como as tecnologias em serviços na nuvem crescem e inovações são implementadas, é possível que os CDPs não se apliquem mais. Além disso, num futuro próximo, poderão nem sequer ser necessários, graças a tecnologias como a Lambda by AWS. Como plataforma de computação sem servidor, “é um serviço de computação que executa código em resposta a eventos e gerencia automaticamente os recursos computacionais exigidos por esse código”. Isso significa que a Lambda pode corrigir certos problemas de design da nuvem sem a atenção de um arquiteto da nuvem. Embora atualmente não resolva todos os problemas do CDP, há uma chance de que em breve a arquitetura orientada por eventos substitua as soluções ativadas manualmente.
Não importa onde o futuro conduza para o CDP, uma coisa é certa, a expansão e o crescimento dos serviços de nuvem é inevitável. Actualmente, para lidar com este crescimento, a AWS tem um serviço chamado Cloud Pattern Studio. Essencialmente uma funcionalidade de template onde as soluções em um padrão são combinadas com Cloud Formation e depois inseridas em um template, ele é projetado para projetar visualmente e implantar pilhas de software de ambiente no AWS.
Se você está pensando em migrar para a nuvem ou já executar sua organização na nuvem, entender como executar cargas de trabalho baseadas na nuvem e desbloquear o verdadeiro poder de uma plataforma irá economizar dinheiro e esforço a longo prazo. Alavancar padrões bem conhecidos para resolver os problemas que os construtores encontraram durante a execução de software na nuvem é altamente valioso nesta era de evolução.