Índice:
- Hospedar os serviços localmente
- Hospedando os serviços na nuvem
- Definir um bom ambiente de desenvolvimento
Vídeo: AWS June 2016 Webinar Series - Best Practices for Architecting Cloud Backup and Recovery Solutions 2024
Independentemente da quantidade de serviços que a AWS oferece, você ainda precisa de uma certa quantidade de hardware para usar os serviços. A quantidade de hardware que você precisa ao trabalhar com serviços na nuvem é mínima porque o hardware AWS faz todo o levantamento pesado. Ao trabalhar com serviços localmente, você precisa de hardware adicional porque a AWS já não está fazendo o trabalho pesado para você. Portanto, você deve considerar diferentes requisitos de hardware dependendo de onde você hospeda o serviço AWS.
Hospedar os serviços localmente
Oculto na documentação AWS é todo tipo de informações úteis sobre vários serviços. Por exemplo, o AWS Storage Gateway conectará um dispositivo de software no local (um aplicativo combinado com apenas capacidade de sistema operacional suficiente para ser executado em hardware ou em uma máquina virtual) com armazenamento baseado em nuvem.
Em outras palavras, você usa o gateway para conectar seu aplicativo ao armazenamento de dados que ele requer. Pode parecer que a execução do gateway na nuvem seria uma boa ideia, porque você não precisaria investir em hardware adicional. No entanto, quando você olha os requisitos, você vê que o AWS Storage Gateway vem com requisitos específicos de hardware, instância e armazenamento. O importante para entender é que a nuvem apresenta limites que você deve considerar durante qualquer fase de planejamento.
Depois de se certificar de que você pode executar a configuração pretendida, você pode começar a considerar as vantagens e desvantagens de trabalhar na nuvem. Por exemplo, ao hospedar o serviço na nuvem, você obtém a escala automática conforme necessário, e a Amazon executa muitas das tarefas administrativas para você. No entanto, para uma perspectiva realista, você deve compensar essas vantagens com a consciência das desvantagens, tais como:
- Potencial para menor velocidade de aplicação
- Precisa manter uma conexão confiável com a Internet
- Perda de flexibilidade
- Vendedores que saem do mercado
Embora as necessidades básicas de hardware se tornem menos dispendiosas, você precisa considerar despesas adicionais sob a forma de redundâncias. A maioria das organizações descobre que os custos de hardware de mover para a nuvem são substancialmente menores do que manter um departamento de TI completo, e é por isso que eles fazem o movimento. No entanto, você deve fazer o movimento com a compreensão de que você tem outros assuntos a serem considerados quando você faz.
Hospedando os serviços na nuvem
Ao hospedar serviços localmente, você precisa fornecer toda a infra-estrutura necessária, o que pode resultar caro.A AWS fornece orientação sobre os requisitos mínimos para hospedar um serviço localmente.
Uma boa regra geral ao hospedar serviços localmente é ver todos os requisitos fornecidos pelo fornecedor como mínimos. Se você não planeja carregar o serviço com força, esses mínimos geralmente funcionam. No entanto, quando você clica no link Otimizar o desempenho do gateway, a primeira sugestão que você vê é adicionar recursos ao seu gateway. O planejamento de muita capacidade é melhor do que não é suficiente, mas obter a configuração o mais próximo possível do que você precisa sempre ajudará financeiramente.
Planeje com antecedência recursos suficientes.Nem todos os serviços funcionam localmente, mas você pode se surpreender ao descobrir que muitos o fazem. O problema é definir de forma precisa como você planeja usar um determinado serviço e os trade-offs que você está disposto a fazer. Por exemplo, ao hospedar um serviço localmente, você pode achar difícil fornecer o mesmo nível de conectividade que você poderia fornecer a terceiros ao hospedar o mesmo serviço na nuvem.
Definir um bom ambiente de desenvolvimento
Depois de conhecer os recursos necessários para a AWS e ter considerado os conceitos básicos da sua configuração, você deve considerar seu ambiente de desenvolvimento. A primeira questão que você deve considerar é uma linguagem. A AWS não se importa com o IDE que você usa (embora a escolha do IDE determine quais recursos você possui para acesso remoto), mas se preocupa com a linguagem. Você deve verificar se o AWS suporta o idioma escolhido pelo serviço para o qual deseja acessar. Por exemplo, aqui estão as opções para Simple Queue Service (SQS).
Certifique-se de que a AWS oferece suporte para o idioma que deseja usar.Você pode criar um ambiente de implantação usando EC2. Este tutorial descreve como executar esta tarefa. A principal vantagem dessa abordagem é que, teoricamente, você pode desenvolver aplicações AWS de qualquer lugar porque o desenvolvimento não requer mais um sistema local com recursos específicos.
No entanto, esta abordagem definitivamente não é gratuita, e isso significa que você deve ter uma conexão de Internet confiável de onde quer que você faça tarefas de desenvolvimento - o que não é um problema no trabalho, mas possivelmente um problema em casa. A abordagem de desenvolvimento baseada em nuvem usa a interface de linha de comando AWS (CLI).
O principal motivo para usar um ambiente de desenvolvimento localizado é que você retém o acesso a recursos locais e as bibliotecas de códigos que sua organização atualmente conta para executar tarefas de desenvolvimento.
Esta opção também possui uma vantagem na confiabilidade porque você não confia em uma conexão remota para usá-la. Se a sua conexão com a Internet for baixada, você pode continuar a desenvolver o código (mas o teste não é possível até a conexão ser restaurada). Ao usar esta opção, você precisa de largura de banda adicional - pelo menos para fins de teste e permissões para o acesso da AWS através do firewall da organização.
Você não está limitado a apenas duas opções quando trabalha com AWS. Por exemplo, você pode usar um ambiente de desenvolvimento local, mas coloque seu código no S3.O uso de armazenamento de dados baseado em nuvem significa que você pode ter configurações localizadas em vários locais (para que você mantenha o acesso aos recursos locais) e ainda ganhe vantagens do desenvolvimento baseado em nuvem, como ter acesso ao seu código de qualquer local onde você ter um ambiente de desenvolvimento configurado.
Este tutorial também é interessante porque ele diz como configurar o seu ambiente de desenvolvimento para usar o Elastic Beanstalk para o projeto, controle de origem e uso do repositório. Tal como acontece com um ambiente de desenvolvimento localizado, você ainda precisa de permissões necessárias para acesso à Internet e largura de banda suficiente para lidar com o aumento das solicitações de dados para que essa opção funcione bem. Na verdade, os requisitos de largura de banda são maiores do que uma configuração local, e o ambiente de desenvolvimento deve funcionar com recursos remotos.
Escolher o ambiente de desenvolvimento correto não é fácil. Em muitos casos, a escolha se torna uma das preferências pessoais e requisitos organizacionais. Por exemplo, usar uma solução de desenvolvimento baseada em nuvem pode não ser uma opção ao lidar com tarefas de desenvolvimento sensíveis; as necessidades de segurança poderiam superar outras necessidades.