Iniciando estudos sobre o tema: Amazon Web Services

Iniciando os estudo no seguinte tema: Amazon Web Services.
O livro que comprei para ter base é ‘AWS para desenvolvedores do Ricardo Lecheta. Novatec.
Nesse post que irei fazer, a maior parte estará no livro. Portanto, recomendo a compra do mesmo para aprofundamento no assunto.

1) SAAS, IAAS e PAAS

Conforme Lecheta cita, SAAS(Software as a Service) é um software que você pode utilizar na nuvem como serviço. Um exemplo disso é o Gmail e o Google Docs.
IAAS(Infrastructure as a Service), acontece quando empresas fornecem a sua infraestrutura para você hospedar um computador. Neste modelo de negócio, você não precisa se preocupar com questões de hardware, todos os recursos serão providos da empresa que está cedendo, como é o caso da Amazon AWS. Um dos serviços mais conhecidos da Amazon AWS é o EC2(Amazon Elastic Compute Cloud), que basicamente permite criar instâncias de servidores virtuais dentro da infraestrutura e de datacenters da AWS.
PAAS(Plataform as a Service), que significa oferecer uma plataforma como serviço. Este é o caso do Amazon Beanstalk, que é um serviço que facilita a instalação e manutenção das aplicações na nuvem e oferece um ambiente para você controlar suas aplicações.

Conforme Lecheta cita no livro, basicamente você tem duas opções:
– A primeira opção é criar uma instância de um servidor dentro da infraestrutura da Amazon AWS e ter o controle total. Neste caso, você pode instalar os softwares necessários para executar as aplicações, como servidores web e servidores de aplicação, banco de dados etc. Assim, quem está no comando do servidor é você, pois apenas está sendo utilizada a infraestrutura como serviço (IAAS).
– A segunda opção é utilizar um ambiente controlado que já disponibiliza este servidor web e de aplicação para você, assim como o banco de dados. Desta forma você não precisa ter muito know-how dessa parte de instalação, configuração e manutenção e pode simplesmente usufruir de uma plataforma disponibilizada como serviço (PAAS).

O livro tem como base nas explicações componentes parecidos com a imagem a seguir:
Arquitetura de uma aplicação web de alta disponibilidade e escalabilidade

Alguns dos importantes serviços ofertados na Amazon AWS:
Os seguintes conteúdos podem ser encontrados neste link.
– Amazon Elastic Compute Cloud(EC2)
Fornece uma infraestrutura de servidores on-demand, escalável e que se paga pelo uso.
Possibilita a escolha de tamanho de instâncias, modelo de pagamento, sistema operacional e linguagem de programação.
– Amazon Simple Storage Service(S3)
Fornece uma estrutura de storage escalável projetada para oferecer próximo a 100% de durabilidade e disponibilidade.
Alega-se que é simples e rápido de usar, e também tem um custo baixo.
– Amazon Cloud Front
É uma rede global de distribuição de conteúdo.
Entrega conteúdo estático e em streaming de baixa latência.
Alega-se que é fácil e rápido de usar, sem contratos, sem multas ou compromentimentos de longo prazo.
– Amazon Relational Database Service(RDS)
É uma banco de dados ‘as a service’.
Escala recursos de computação e storage em minutos.
Fornece backups automáticos, snapshots dos bancos de dados e alta disponibilidade com Multi-AZ.

Alguns pontos interessantes referente ao nível de uso gratuito:
– Elastic Compute Cloud (EC2)
750 horas do EC2 com Linux/Unix ou RHEL.
750 horas de Microsoft Windows Server no Amazon EC2.
750 horas de um ELB(Elastic Load Balancer), mais 15GB de processamento de dados.
2 milhões de operações Entrada e Saída e 1GB de armazenamento de snapshots.

– Simple Storage Service (S3)
5GB de armazenamento padrão do S3.
20.000 solicitações GET e 2.000 solicitações PUT.

– Relational Database Service (RDS)
750 horas de microinstâncias de banco de dados Single-AZ para execução de MySQL ou PostgreSQL.
20GB de armazenamento de banco de dados.
10 milhões de operações E/S.
20GB de armazenamento de backup para seus backups de banco de dados automatizados e quaisquer snapshots de banco de dados iniciados por usuário.

– Transferência de dados
15GB de largura de banda agregada para fora em todos os serviços da AWS.
Transferência de dados é um conceito importante na definição de custo dos serviços da AWS. Por exemplo, se você cria um servidor EC2 na nuvem e decide chamar outro serviço como o RDS, é necessário fazer a comunicação entre o servidor EC2 e o banco de dados RDS. Para esta comunicação naturalmente, é feito o tráfego de informações na rede. Esse tráfego, na maioria das vezes de um serviço para outro dentro da rede da AWS, é gratuito, mas para fora desta rede não.

Estou iniciando a leitura deste livro, mas já recomendo-o.
O objetivo do livro é apresentar os principais serviços da AWS, desde o básico ao avançado, em uma metodologia passo a passo e de forma prática.

O livro pode ser encontrado nesse link, no site da Novatec.

Até a próxima.

Anúncios

5 comentários sobre “Iniciando estudos sobre o tema: Amazon Web Services

  1. victordeveloper disse:

    Muito bom Gustavo! Também estou começando a estudar sobre a AWS e tive algumas dificuldades em conseguir rodar minhas aplicações JSF pelo EC2, e acabei utilizando o Elastic Beanstalk e as aplicações rodaram em um minuto, porém queria fazer o processo de integração continua com o Jenkins e acredito que se usasse o EC2 seria mais fácil para isso(não tenho certeza), esse livro chega a abordar esses temas? Ou tem algum outro material para recomendar sobre isso?

    Forte abraço!

  2. Cassiano disse:

    Parabéns pelo texto, já me ajudou um pouco. Acho que vou comprar o livro. Também sou de Florianópolis. Estou com uma startup e quero lançar o MVP logo, estou estudando pra usar a AWS. É um projeto em Symfony (framework php). Trabalho com um repositório privado github.

    Estou bem perdido na ideia do AWS, só tive experiência com VPS normais.

    • Gustavobit disse:

      Olá Cassiano,
      Obrigado pelo feedback.

      Estamos compartilhando da mesma experiência. Irei iniciar um projeto Android com um colega. Iremos comprar também um repositório privado do github.
      Na ponta de armazenamento do aplicativo ainda estou decidindo se irei utilizar os serviços da Amazon ou Google App Engine.

      Referente a sua situação, caso não possua necessidade de configurações específicas, recomendo você a dar uma olhada nas especificações do Elastic Beanstalk pois neste o processo de iniciação acredito ser mais ráipdio devido a Amazon ter o controle dos detalhes da implementação do seu código, como capacidade, provisionamento, balanceamento de carga, escalabilidade automática e monitoramento da saúde do aplicativo.

      Dê uma olhada nos seguintes links:
      http://aws.amazon.com/pt/elasticbeanstalk/?nc1=h_l2_dm
      ou
      http://aws.amazon.com/pt/php/?nc1=f_dr

      Se tiveres dúvida de alguma parte, podes me comunicar que tento providenciar um resumo do livro para auxiliá-lo.

      Mas claro, recomendo a compra do livro até pra servir depois como consulta rápida, pois ele é bem didático e focado nos assuntos pertinentes aos devs.

      Recomendo-te também um contato diretamente com o auto do livro caso tenha uma dúvida mais avançada, Ricardo Lecheta; um ótimo profissional e escritor.

      • Cassiano disse:

        Legal Gustavo! Muito breve precisaremos dos apps pra android e ios…

        Eu vi alguns bons vídeos dos webinar que tiveram em http://awshub.com.br/resource-category/videos/ muito bons por sinal. No dia que vi teu post já comprei o livro, esperando chegar. Pelo que vi nos vídeos o Elastic Beanstalk é mais pra aplicações simples, talvez esteja enganado. Mas configurar um framework Symfony mais todas bibliotecas não é uma tarefa tão simples. Pelo que vi o ideal no meu caso seria uma combinação de EC2 + S3 + RDS e Route 53. Trabalheremos com muitas fotos por isso o S3. Mas estou um pouco assustado com o que calculei em http://calculator.s3.amazonaws.com/index.html

        Uma instância onDemand de um m3.medium com 90% de utilização mais um S3 pra armazenar uns 5GB e o Route 53 já fechou ali em $121! Achei muito caro…

Obrigado pelo 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 )

Imagem do Twitter

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

Foto do Facebook

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

Foto do Google+

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

Conectando a %s