Pesquisar este blog

segunda-feira, 30 de janeiro de 2017

Arquitetura para a nuvem: Melhores Práticas

Arquitetura para a nuvem: Melhores Práticas


Essas melhores práticas para a Nuvem AWS, conforme descrito no documento técnico da AWS de fevereiro de 2016, "Arquitetando para a Nuvem: Melhores Práticas da AWS", destinam-se a arquitetos e desenvolvedores de soluções que estão desenvolvendo soluções que serão implantadas nos Serviços Amazon Web Services. Ao longo deste curso, as melhores práticas serão ensinadas e reforçadas usando uma variedade de serviços e recursos da AWS, bem como implementadas dentro de muitos exemplos e padrões arquitetônicos diferentes. 


Ativar a escalabilidade

A escalabilidade fácil e uniforme da infra-estrutura é uma das maiores razões para executar suas cargas de trabalho na nuvem AWS. Certifique-se de que sua infra-estrutura está aproveitando a escalabilidade em cada camada.


 Automatize seu ambiente

A AWS oferece ferramentas integradas de monitoramento e automação em praticamente todas as camadas de sua infraestrutura. Aproveite esses recursos para garantir que sua infra-estrutura possa responder rapidamente à medida que suas necessidades mudam. Detectar recursos insalubres e substituir recursos de substituição podem ser automatizados e você pode criar ferramentas para que a AWS envie um e-mail ou mensagem de texto quando os recursos especificados forem alterados.


Usar recursos descartáveis

 Melhor prectica # 3 remonta à ideia de pensar em sua infra-estrutura como software em vez de hardware. Com hardware, é fácil "comprar" muito em componentes específicos, o que torna mais difícil atualizar quando necessário, porque você tem alto custo.
Em AWS, recomendamos que você pense em seus recursos da maneira oposta: migrar entre instâncias ou outros recursos discretos é bastante simples, o que significa que você pode (um deve) adicionar seus recursos como facilmente substituíveis. Isso permite que você responda mais rapidamente a mudanças nas necessidades de capacidade e atualize aplicativos e softwares.


Junte seus componentes de forma elástica

As infra-estruturas tradicionais resolvem-se em torno de cadeias de servidores fortemente integrados, cada um com um propósito específico. Quando um desses componentes / camadas cair, a interrupção do sistema pode, em última instância, ser fatal. Adicionalmente, impede a escala; Se você adicionar ou remover servidores em uma camada, cada servidor em cada camada de conexão deve ser conectado adequadamente também.
Com o acoplamento elástico, sempre que possível, você consegue soluções de alavancagem como intermediários entre as camadas de seu sistema. Desta forma, as falhas e dimensionamento de um componente ou uma camada são manipulados automaticamente por aplicativo.
Duas das principais soluções para desacoplar seus componentes são os Load balancers e fila de mensagens.


Projete Serviços e não servidores.

Embora a Amazon EC2 oferece uma quantidade enorme de flexibilidade sobre como configurar sua solução e que soluções são possíveis, que não deve o primeiro resort para todas as suas necessidades. Soluções sem servidor e serviços gerenciados oferecidos pela AWS pode resolver várias de suas necessidades sempre à disposição, configurar e gerenciar uma instância do Amazon EC2. Soluções lambda como AWS, Amazon Simple Queue Service, DynamoDB, Elastic Load balacing, Simple Emalis Service, e Amazon Cognito podem substituir soluções baseadas em servidor gerenciados, com perfis menores, apresentam maior performance, e têm um custo baixo.


Escolha a melhor solução para Banco de Dados

Nos centros de dados tradicionais e no local ambientes, limitações sobre o que hardware e licenças são disponível podem limitar a sua escolha de solução de armazenamento de dados. AWS oferece opções de armazenamento de dados que fornecem mais flexibilidade na forma como você escolher o seu armazenamento de dados. Consequentemente, recomendamos que "escolher o armazenamento de dados com base nas necessidades do seu ambiente de aplicação.


Sempre que possível, eliminar os pontos únicos de falha de suas arquiteturas. Isso não significa que cada componente tem de ser repetido em todos os momentos, apesar de tudo. Dependendo de seus SLAs de tempo de inatividade, você pode alavancar soluções automatizadas que funcionam apenas o necessário ou um serviço gerenciado da AWS onde substitui o mau funcionamento de hardware automaticamente para você.
Este sistema (simples) mostra dois servidores de aplicativos conectados a um servidor de banco de dados único. O servidor de banco de dados representa um único ponto de falha. Quando ele vai para baixo, o mesmo acontece com o aplicativo. O único ponto de falha é exatamente o que você quer evitar. Reiterar o objetivo mostrado no slide: Deverão aplicativos continuar a funcionar mesmo se o hardware físico subjacente falhar ou for removido / substituído.


Otimize seus custos

Outra vantagem para a plataforma flexível do AWS é a capacidade de combinar seus custos às suas necessidades específicas; uma vez que estamos substituindo sua despesa com despesa de capital variável, a melhor maneira de construir o seu custo de infra-estrutura para se ter certeza de que você está pagando somente para o que você precisa.
Além de otimizar seus custos, combinando suas necessidades com o serviço certo, você também deve diferentes níveis de preços e modelos de alavancagem em muitos serviços, e testar diferentes configurações. Maneiras específicas para implementar essas estratégias serão apresentados e discutidos ao longo deste curso.


Caching é o processo de armazenamento temporário de dados ou arquivos em um local intermediário entre o solicitante e o armazenamento permanente, com a finalidade de marcar futuras solicitações mais rapidamente e reduzir a taxa de transferência da rede.
Isso reduz a latência e o custo, porque nos pedidos após o primeiro, você não está mais pagando pelo arquivo a ser transferido para fora de seu local original...


Segurança não é apenas sobre como atravessar o limite externo de sua infra-estrutura; É também sobre garantir que seus ambientes individuais e seus componentes estão protegidos uns dos outros.
Por exemplo, no Amazon EC2, você pode configurar grupos de segurança que permitem determinar quais portas em suas instâncias podem enviar e receber tráfego e de onde esse tráfego pode vir ou ir. Você pode usar isso para reduzir a probabilidade de uma ameaça de segurança em uma instância se espalhar para todas as outras instâncias em seu ambiente. Precauções semelhantes podem e devem ser tomadas com outros serviços. Discutiremos maneiras específicas de implementar essa prática ao longo do curso.


Fonte: AWS

Nenhum comentário:

Postar um comentário