No final de 2012, seis mil pessoas do mundo inteiro foram a Las Vegas para a primeira edição da conferência Amazon Web Services (AWS) re:Invent. Aqui apresentamos as principais tendências e novidades que foram destaque no evento.
A conferência de dois dias foi organizada em 15 trilhas, incluindo os temas Arquitetura, Big Data, Bancos de dados, TI Empresarial, Jogos, Mobilidade, Segurança e Ferramentas. Embora tenha havido diversas palestras introdutórias sobre produtos, destacaram-se a utilização de melhores práticas, a construção de arquiteturas escaláveis e seguras e o valor de negócio dos serviços em nuvem.
Dois arquitetos japoneses do AWS falaram para uma sala lotada sobre Padrões arquiteturais de nuvem, apresentando uma forma independente de fornecedor para descrever padrões de disponibilidade, processamento em lote, replicação de dados, caching, rede e manutenção, entre outros. Depois mostraram uma página wiki que inclui diversos padrões de projeto em nuvem que investigaram até então. Esta foi uma de várias sessões que visaram à utilização dos diversos componentes que o AWS oferece para construção e manutenção de sistemas distribuídos.
Outras sessões tiveram foco na incorporação de melhores práticas, incluindo as apresentações (títulos traduzidos) Arquitetura para alta disponibilidade, Acelerando o amazon RDS com o ElasticCache, Falhas em escala e como correr delas e Construindo aplicações escaláveis com o Amazon S3. Adrian Cockcroft da Netflix conduziu um debate sobre Alta disponibilidade na arquitetura da Netflix.
Entre as apresentações voltadas a estratégias, destacaram-se Definindo a estratégia em nuvem para a empresa, Migração da Amazon para o AWS e Abraçando a nuvem. As várias palestras de abertura tiveram como foco principal casos de estudo, demonstrando como clientes estão utilizando o AWS para operar de maneira mais eficiente ou enfrentar problemas. A palestra de Andy Jassy, vice-presidente do AWS, tratou do projeto Mars Curiosity, que utilizou o AWS como plataforma de processamento de vídeos e imagens do pouso do robô. E representantes das empresas Netflix, Pinterest e Animoto descreveram como conseguiram escalar seus sistemas de maneira rápida e operar globalmente utilizando serviços de nuvem.
Houve ainda diversos anúncios do AWS, tais como a redução de preços do serviço de armazenamento de dados S3, um novo serviço de data warehouse chamado Redshift, a ferramenta de importação e exportação de dados "Data Pipeline", e novos tipos de instâncias para servidores grandes no EC2.
Em uma das apresentações de abertura do evento, Werner Vogels, CTO do AWS, falou do que chamou de "arquitetura do século 21", em que custos são incorporados no desenho arquitetural. Vogels utilizou a mesma expressão em um post recente.
A ideia mais importante é que, quando se está crescendo, os custos devem poder crescer na mesma dimensão que suas receitas. Para a Amazon.com, esta dimensão é o número de pedidos. Se o número de pedidos aumenta os custos devem poder subir também. Com uma boa arquitetura, está-se apto a explorar economia de escala, e os custos subirão menos que o aumento das receitas. Se a arquitetura foi projetada levando em conta os custos corretamente, a escala se torna uma verdadeira aliada.
Vogels afirma que agora os clientes podem construir os sistemas que sempre desejaram, mas sempre foram impedidos de fazê-lo no passado. Ele diz que fatores como capital, capacidade, geografia, física, pessoas e escopo não são mais restrições para se desenvolver sistemas seguros, escaláveis, tolerantes a falhas, com alta performance e rentáveis. Vogels vê tudo como recursos programáveis: data centers, rede, poder computacional, armazenamento físico, bancos de dados e balanceamento de carga. A arquitetura do século 21 adota a automação como uma maneira de aumentar a eficiência e reduzir os custos e tem quatro principais características:
- Controlável. Novos sistemas devem ser decompostos em blocos que sejam pequenos, desacoplados e sem dependência de estado um do outro. O software deve ser composto de unidades individuais que podem ser controladas. Estas unidades devem se concentrar em escalabilidade, tolerância a falhas e outras dimensões técnicas críticas. Vogels mencionou o exemplo do site IMDB, que inicialmente utilizou uma arquitetura de integração muito acoplada com a Amazon, e que forçava o IMDB a escalar seus sistemas sempre que a Amazon o fazia. Ao invés disso, o site desacoplou e decompôs os sistemas utilizando o S3 como sistema intermediário. Isso possibilita que cada uma das camadas dos sistemas seja escalada de forma independente uma da outra.
- Resiliente. Vogels diz que a prioridade número um de qualquer software é proteger o cliente. Qualquer informação delicada deve ser criptografada. Por exemplo, a Amazon.com criptografa toda e qualquer informação em disco ou em trânsito pela rede. Além disso, sistemas em produção devem ser geograficamente distribuídos para garantir a disponibilidade nos casos de falhas em um data center específico. Vogels lembrou que as falhas são inevitáveis, e encorajou os arquitetos a pensar sobre as falhas não como exceções, mas sim como outra forma de publicação de aplicações.
- Adaptativo. Os softwares modernos não devem depender de recursos fixos. Devem adaptar-se a diferentes circunstâncias, mas não ser limitados por elas. Como exemplo, o S3 foi originalmente projetado para armazenar 20 bilhões de objetos e rapidamente foi refatorado para tratar de uma explosão no crescimento de armazenamento de dados. Atualmente, o serviço armazena mais de um trilhão de objetos. Tudo isso foi feito sem grandes perturbações para a base de clientes existentes. Vogels recomenda para não fazer pressuposições e evitar a utilização de restrições que possam evitar alterações futuras.
- Ser orientado a dados. Instrumente tudo. Não confie em previsões mas utilize a realidade dos dados para a tomada de decisões. Se dados não forem coletados, Vogels destaca, não se pode tomar decisões consistentes. Serviços de rede como o AWS Elastic Load Balancer tomam decisões baseadas em métricas de sistemas de baixo nível, além de dados no nível de negócio. Vogels sugere que arquitetos e equipes de operações coletem o máximo possível de dados e que tirem vantagem das ferramentas como o Data Pipeline para agregar dados para análise.
A Amazon já anunciou planos de repetir o evento em novembro de 2013 em Las Vegas. Visite o site da conferência para informações adicionais e veja no repositório SlideShare os slides das apresentações do evento.