AWS re:Invent 2017
Fomos ao AWS re:Invent e novamente trazemos as impressões e curiosidades. Este ano, segundo o AWS, foram mais de 40k participantes e 1.000 sessões técnicas.
Para os anos anteriores, confira: 2013 , 2014, 2015 e 2016.
Detalhes das informações técnicas podem ser encontradas no AWS – https://aws.amazon.com/new/reinvent/ e canal no Youtube – https://www.youtube.com/user/AmazonWebServices/videos
Disclaimer: os comentários abaixo foram criados pelo Cloud8 e não representam qualquer posição do AWS.
Resumo estratégico
Em termos de inovação, este re:Invent escolheu focar em Inteligência Artificial – para ser mais correto e preciso, em Machine Learning – e evangelizar Serverless. Destaques ainda para banco de dados e preenchimento de lacunas de funcionalidades de diversos produtos além de integração global (multi-região).
Os keynotes foram bem interessantes. O Andy Jassy sempre ressaltando a liderança do AWS com gráficos do Gartner, ritmo de inovação, números gigantescos e os novos lançamentos. Este ano ele fez uma analogia dos ‘builders’ (desenvolvedores) com os músicos e explorou temas como totalidade de funcionalidades, inovação, liberdade, etc com um tema musical para ponto ressaltado. Casos de sucesso como Expedia, Goldman Sachs estão com estratégia ‘All-In’. Interessante notar que instituições bancárias estão migrando 100% para Cloud.
Já o Werner focou em evangelizar o uso do Lambda e do Alexa. Contou sobre a evolução dos serviços e que o AWS não impõe uma forma de desenvolver e sim, possui diversas ferramentas para se criar do modo que for melhor dentro da sua cultura. Frisou que a realidade atual do mundo corporativo é a ‘digitalização’ com o exemplo clássico da General Electric (GE) – era uma empresa de manufatura e um dia acordaram uma empresa de software e o mesmo ocorre com o Goldman Sachs, onde 1 em 4 funcionários é um engenheiro desenvolvedor. Em mundo onde os recursos estão disponíveis para todos (pelo menos em termos técnicos e não financeiros), o diferencial é a estratégia e execução – o ‘como’ usar estes recursos. Outro ponto realmente válido é que hoje as interfaces são centradas em dispositivos (machine-centric) e quando migram para human-centric, o seu apelo é muito maior e mais abrangente. Pessoas que não possuem acesso digital, especialmente nos lugares mais pobres do planeta, teriam muito
mais acesso a serviços por meio da interação por voz. Um caso de uso entre agricultores de arroz das Filipinas foi mostrado onde após a adoção de aplicação de voz, o sistema de escolha de ajuda no plantio foi realmente utilizado e os objetivos do governo finalmente alcançados. O Alexa é a implementação desta visão e agora vem com a versão business: Alexa for business. Ou seja, investimento pesado no Alexa e consequentemente um ciclo virtuoso: automação corporativa e caseira que puxa IOT, que puxa EC2 e Lambda, banco de dados, analytics e assim gira o AWS.
Na área de IA e Machine Learning, o AWS excedeu expectativas novamente. Dado que para o estado da arte de ML são necessários conhecimento e experiência profundos, o AWS procura popularizar e massificar o seu uso. Por meio do lançamento do SageMaker e ML Labs, basta (teoricamente) possuir uma massa de dados de boa qualidade, o AWS ajuda a definir e treinar o modelo preditivo de redes neurais, dinamicamente avaliando e melhorando a parametrização. Particularmente acredito que deva funcionar na grande maioria dos casos, mas a aplicação específica de frameworks e algoritmos pré-definidos pode não representar o ponto ótimo – mas enfim, se você tem a capacidade de mexer em nível mais aprofundado ou um parceiro especializado, talvez o SageMaker não precise estar no seu radar. A polêmica sobre esta ‘terceirização’ de AI já começou a gerar bastante discussão.
Cobrindo alguns gaps de outros recursos de inteligência artificial, foram lançados ainda produtos para transcrição, tradução e compreensão de textos, bem como reconhecimento de vídeo. Agora está nivelado com as APIs que o Google já possui (apesar de o suporte a línguas ainda não contemplar nosso português). Dado o histórico de integração com outros produtos, imagine o que a automação de tarefas de linguagem poderá fazer quando for integrada ao serviço de Call Center (Connect) ou com a criação de bots?
O que particularmente impressionou foi na área de banco de dados e o Andy Jassy não podia deixar de fazer suas tradicionais piadas sobre a Oracle e o Larry Elisson… Esta motivação de destronar a Oracle, está trazendo uma gama enorme de novas funcionalidades para o Aurora e o DynamoDB. Pois bem, lançaram o Aurora Multi Master e em breve o Aurora Serverless (mais detalhes nos destaques). O DynamoDB vem replicação multi-região (global) e backup – não podemos esquecer do Cloud Spanner do Google e o do CosmosDB do Azure que já são globais. Vai dar pra fazer query (select) no S3 e acreditem… no Glacier! Nem GraphQL escapou – novo produto Amazon Neptune. Enfim, banco de dados está realmente bem servido no AWS.
Serverless, anunciado no fim de 2014, teve um salto no suporte e casos de uso. Já começa a ficar mais robusto e definido. Lambda é utilizado em funções simples de negócios, analytics, processamento de dados (imagens, textos, etc), mapeamento em APIs, devops e diversos outros tópicos. O suporte a linguagens foi estendido com a adição de .NET 2.0 Core e Go. Várias outras melhorias foram incorporadas, desde um novo ambiente de desenvolvimento online – Cloud9 (perguntem ao George Harrison e não a mim o porquê do nome 🙂 ), refatoração do console, SAM local, etc (mais detalhes neste newsletter). Enfim, facilitadores para a adoção do desenvolvimento. Entretanto, por mais claro que sejam os benefícios, Lambda não é solução para tudo – muito pelo contrário, sistemas com regras de negócios complexos e interações com banco de dados SQL, baixa latência por conta destas regras, legados, etc tem que ser estudados
cuidadosamente para implantar Lambda – possivelmente alguns processos, mas dificilmente o sistema inteiro. Por fim, há a questão do ‘Lock in’. Se existe a intenção de continuar com liberdade, deve-se avaliar usar funções que possam ser executadas em um Lambda e em um servidor independente. Logicamente há muito espaço para discussões e polêmicas sobre prós e contras, mas este não é o lugar – talvez em um futuro newsletter.
Destaques e lançamentos
Muitos serviços e melhorias. Veja a lista oficial completa. Abaixo, nosso resumo e comentários.
- EC2 Compute. Lançamento de novos tipos – c5, m5, h1, i3m (bare metal). Novo placement: ‘spread placement’ – garante que 2 ou mais VMs não caiam no mesmo servidor físico e assim evitar uma pane geral em caso de falha. Launch templates – pré-configurações de instâncias EC2 com todos os parâmetros possíveis e ainda permissionamento para usuários IAM de autorizar ou não o uso – simplifica muito o processo de gestão de criação dos servidores. Apesar de todo o hype em torno de Lambda, EC2 ainda é o principal serviço e o investimento continua. Os novos tipos rodam em cima de um novo
hypervisor e são muito mais performáticos em termos de rede e latência – em um mundo de microserviços e arquitetura distribuída, uma rede rápida é requisito básico. Estes tipos novos com ENA (Elastic Network Adapter) resolvem um problema de latência de rede e jitter e faz o AWS novamente competitivo frente a rede do Google; - T2 Unlimited. o AWS resolveu um problema que os usuários de instâncias T2 podem sofrer: servidor pode não funcionar bem uma vez que os créditos de CPU são consumidos. Para evitar que isto ocorra, agora você marcar uma instância T2 como ‘unlimited’. Se houver mais uso do que o permitido, AWS irá cobrar um ‘extra’ – logicamente ainda é necessário dimensionar o servidor. Um t2.nano com ‘unlimited’ usando picos o tempo todo, ficaria muito mais caro que um t2.medium por exemplo;
- EC2 Spot. o AWS facilitou a utilização do EC2 Spot Market – criar instâncias em um mercado de preço variável baseado na disponibilidade de computação. Já dá para lançar um novo servidor sincronamente sem especificar o preço e o AWS irá utilizar o melhor custo para você. Como é o AWS quem escolhe o preço, ele pode hibernar a instância no lugar de terminá-la (novidade!) a qualquer momento (a variação do preço do Spot também deve mudar para ficar menos sujeita a grandes variações – novidade também!). O efeito desta popularização do spot é que o preço médio do mercado já subiu… veja o histórico de uma instância c4.large em Virgínia pelo console. Os usuários pesados de Spots no modelo antigo não vão ficar muito felizes;
- Aurora Multi Master. o Aurora é um dos serviços que cresceu mais rapidamente dentro do AWS. Compatível com MySQL ou PostgreSQL, suporta qualquer software que faz uso destes bancos. A novidade é retirar da topologia atual o ponto único de falha (ainda que se tenha Multi-AZ e o chaveamento de falha leve alguns segundos) introduzindo o Multi Master – espalhar servidores que aceitam transações em diversas zonas de disponibilidade acabando com este problema. Estamos ansiosos para usar a versão global – multi-região – que deve vir em 2018;
- Aurora Serverless: versão do Aurora que escala automaticamente dependendo da quantidade de transações/requisições. O modelo é bem parecido com o DynamoDB, onde é definido a capacidade por ‘unidades’ e o AWS faz o auto-scaling automático. Será interessante testar como a escalabilidade acontecerá, já que a contrário de um Auto-Scaling de servidores onde a criação de novas instâncias pode levar alguns segundos, um pico de banco de dados tem que ser tratado de imediato, em milisegundos, caso contrário, a aplicação pode se perder;
- DynamoDB Global Tables e backup/restore: como o próprio nome já diz, as tabelas DynamoDB podem ser configuradas para serem globais (multi-região), não só read-only, mas transacional. O fim da replicação “manual”!. O benefício imediato é alta disponibilidade entre regiões e latência minimizada. O AWS preenche uma lacuna e não fica mais atrás do Cosmos DB da Microsoft e o do Cloud Spanner do Google (se bem que este último tem SQL, mas com o Aurora Multi-Master entre regiões, isto também deve ser resolvido). E finalmente, o imprescindível lançamento do backup/restore de tabelas – difícil imaginar como demorou tanto e como as empresas lidavam com suas soluções caseiras… – mas enfim, ponto extremamente positivo!
- S3 e Glacier Select. Capacidade de fazer queries dentro de objetos do S3 e do Glacier. Não é necessario acessar objeto por objeto e inspecionar o conteúdo. Com linguagem SQL, você pode encontrar dados mais facilmente. Imagine a quantidade de casos de uso que podem ser criados com esta função;
- Neptune e App-Sync. Suporte a GraphQL. Mais uma forma de manipular dados, especialmente mobile. Ajuda quando se tem vários “data sources” (banco de dados) e no push real-time de atualizações para diversos dispositivos;
- SageMaker: quem já experimentou criar modelos de Machine Learning ou análise preditiva, sabe que como é difícil, demorado e frustrante encontrar a parametrização com melhores resultados. Como mencionado na parte de ‘Estratégia’, o SageMaker procura resolver este ciclo treinando a massa de dados fornecida e criando o melhor modelo automaticamente. Acredito que seja interessante testar e dependendo do resultado e aprendizado, buscar descer um nível, compreender os frameworks e algoritmos ou buscar um parceiro para avançar no modelamento;
- IA: Translate, Transcribe e Comprehend: mais um conjunto de serviços para preencher a lacuna de linguagem natural. O AWS já possuia serviços de reconhecimento de voz e construção de bots (Lex) e agora fica mais completo, se igualando ao Google. Como o próprio nome indica são serviços de tradução, transcrição de voz para texto e compreensão (para não deixar muito aberto, o foco aparentemente é análise de sentimento, mas também há mapeamento de palavras chaves e entidades). O grande ponto pendente ainda é o suporte a Português que ainda não há previsão infelizmente;
- IA: Video Rekognition: reconhecimento de padrões dentro de vídeo. Como bem apontado pelo Matt Wood, reconhecimento dentro de vídeo é bem mais complexo do que imagem estática e a ideia é trazer os labels e as taxas de confiabilidade ao longo do tempo do vídeo. E dado que vídeo pode gerar um stream de dados realtime com muita informação, lançaram o Kinesis Video Stream para facilitar. Combinado com o Transcribe e Comprehend para análise de sentimento dá para pensar em muitos casos de uso. Aliás, fico imaginando se o Amazon Go não utiliza exatamente esta combinação de serviços e desta forma estaria viabilizando a implementação de clones…;
* Fargate: gestão automática dos containers. Retira a liberdade de se usar os tipos de instâncias que pode usar, mas se ganha escalabilidade automática. Também faz cobrança por segundo como no modelo de controle das tarefas com instâncias EC2. É perfeitamente possível ter um ambiente com tarefas/containers gerenciados via ECS e outro por Fargate; - Kubernetes: um dos anúncios mais comemorados foi o lançamento de gerenciamento de Kubernetes – o AWS gerencia, atualiza e escala automaticamente clusters de containers com Kubernetes. Segundo o AWS, como já rodam mais Kubernetes que qualquer outro provedor, é natural que façam a gestão. Na sessão ‘Deep dive in Kubernetes’, ficou claro que ainda há muito trabalho a fazer: melhor integração com rede, suporte a Windows, upgrades major, Multi-region, híbrido, etc, mas a sinalização de ter um componente a menos para gerenciar já deixou a comunidade animada. Vai ser integrado ao AWS Fargate;
- VPC Peering global: capacidade de fazer peering, isto é interconectar, VPC de diversas regiões e integrá-las sem a necessidade de roteamento para IPs públicos e outros componentes como gateways, NATs, que aumentam a complexidade e inserem pontos de falha na topologia de rede;
- Alexa for business: Utilização do Alexa em ambiente de negócios. Casos de uso principal é um assistente pessoal para o dia a dia: reuniões, calendário, alertas. Integrado a aplicativos como Office 365, G-Suite, Exchange, Salesforce, etc. Procura resolver o desafio que é sempre se juntar a um conference call – PINs, URLs, softwares, etc. O vídeo exemplo mostrou que este processo é transparente no momento da reunião. Não funciona com português e não foi passado nenhum horizonte quanto ao suporte;
- Private Link: ideia interessante de conectar produtos de parceiros – SalesForce, Twilio, etc – dentro da sua VPC privada, sem precisar sair para internet com IPs públicos, ainda que o tráfego seja encriptado. Expande radicalmente o conceito dos Private Endpoints para os serviços AWS. Com o AWS já suportando peering global entre VPCs (ainda não suporta para São Paulo), será interessante testar se seremos capazes de chegar em um private link diretamente do Brasil!
- Guard Duty: serviço de detecção de anomalias de segurança. A ideia é por meio de diversos logs gerados pelo AWS – VPC flows, CloudTrail, DNS, etc verificar possíveis ameaças e alertar o administrador. Vale verificar os custos antes de usar;
- Snapshots: em uma sessão de melhores práticas de snapshots, o gerente de produtos do AWS mostrou que existe uma possibilidade de falha de 0,1-0,2% nos discos – https://aws.amazon.com/ebs/details/ – ou seja, é imprescíndivel ter backups períodicos pois o AWS não se responsabiliza por perda de de dados;
- CloudFormation: melhoria apontadas – CF pode ser configurado para não remover componentes quando o stack é destruido, stacksets para representar pedaços da arquitetura, multi-account e multi-região, suporte a quase todos os produtos (inclui IOT, Lambda e ECS), policies em vários níveis (stack, resource level), checagem de mudanças antes do commit, integração com AWS Config. O melhor foi o anúncio para 2018, do que foi chamado de ‘Drift detections’, quando será lançado a detecção de mudanças no stack comparado ao ambiente que está sendo executado. Muito útil para manter o template atualizado e controlado;
- AWS Amplify: framework em javascript que funciona com React e o novo App-Sync (GraphQL) para criação de aplicações web/mobile. O demo mostrou que é muito poderoso e de fácil uso. Para conferir – https://github.com/aws/aws-amplify;
- Governança e Complaince: tópicos menos populares mas mais importantes em geral. AWS sempre fala sobre o ferramental: Service Catalog, SSM + Parameter Store (interessante – vale conferir para guardar parametros como senhas encriptados com KMS e centralizados em um repositório para reuso), CloudFormation, AWS Config, Inventory, CloudTrail. Gestão não pode ficar em segundo plano comparado ao desenvolvimento;
- Serverless: lançamentos de suporte a .NET 2.0 Core e Go. Cloud9 – IDE de desenvolvimento web. Aumento de memória para 3GB e melhorias no console. Dead queue process (se Lambda falhar, joga para uma fila SQS). Criação de um repositório de lambdas onde se pode reutilizar ou aprender com o código de terceiros, uma espécie de MarketPlace;
- IOT: evolução dos serviços com lançamento de diversas melhorias: 1-Click, Device Management, Device Defender (sobre segurança em dispositivos, evitar os famosos DDOS feitos por ‘torradeiras’…), Analytics. O ponto alto foi o lançamento de uma versão do FreeRTOS – sistema operacional de dispositivos que possuem um microcontrolador – com suporte direto aos serviços AWS. Isto amplia enormemente as possibilidades de conexão de dispositivos ao AWS;
- VMWare e Hyper-V: a integração continua acontecendo, com a disponibilização do VMWare na região de Virgínia. Também foi anunciado que o serviço de migração de VMs suporta Hyper-V ;
- HPC: anunciado bibliotecas MPI otimizadas para arquitetura AWS;
- Lightsail: Load Balancer com preço definido para LightSail – infelizmente ainda não há LightSail na região do Brasil;
- Time Sync Service: novo serviço de NTP (chrony) para sincronizar relógio de máquinas. Acessível via VPC e não precisa rotear para a internet, diminuindo complexidade de rede e aumentando segurança;
- MarketPlace: no evento de parceiros, foram anunciadas algumas novidades para o MarketPlace – suporte a produtos com múltiplos AMIs, preços privados (isto é, com desconto para quando se tem escala), bem como um SAAS Factory a ser anunciado em 2018 que pretende ajudar a levar softwares para a nuvem em modelo multi-tenant;
- AWS Elemental. Conjunto de funcionalidades para trabalhar com vídeo. Novidades e criação de uma camada de gerenciamento no topo de produtos já existentes (Transcoder, S3, etc);
- Siemens Mindsphere: a Siemens anunciou uma parceira com o AWS para IOT. Para quem trabalha com manufatura e IOT vale avaliar;
- Integração com Office 365: é fato consumado a relevância e importância do Office 365. Para evitar que os clientes usem o AD do Azure, o AWS investe em integração. Uma palestra discorreu sobre os passos de conexão e também sugeriu um tutorial. Notem que é longe de ser trivial, mas é possível. Na sessão ficou claro que ainda há muito o que fazer e a idéia é facilitar o trabalho conjunto;
- Múltiplas contas. Em diversas apresentações o uso de múltiplas contas no AWS para uma mesma empresa ou parceiro, já é tratado com bastante naturalidade. A funcionalidade de organização permite criar contas facilmente com o billing já consolidado. Exemplos de contas foram desde as tradicionais contas de ‘produção’ e ‘desenvolvimento’, a conta exclusivas para rodar Active Directory, Banco de dados, etc. Sempre com a ideia de segmentação de ambientes por equipe, segurança, custos, facilidade de gerenciamento, controle de custos, cópias cofre. Se ainda não tentou trabalhar desta forma, faça um teste;
- Anti-patterns: uma das melhores formas de aprender é procurar entender o que não fazer e aprender com os erros – casos de sucesso são interessantes, mas podem não contar toda uma estória. Assisti uma sessão (GPSTEC302) sobre problemas frequentes muito interessante. Foram listados 4 anti-patterns: perda de controle (quando credenciais se espalham, há riscos de segurança e eventual disrupção de algum serviço – daí a importância de fazer cópias cofre para outras contas AWS), controle de atualizações (pode ser mitigado pelo AWS Config e por ferramentas terceiras), DR automatizado (CloudFormation é uma excelente alternativa e minimizar o uso do console para mudanças manuais – sim… o engenheiro do AWS falou para não usar o console 🙂 ), teste de backups (o seu backup só é válido depois que testar, enquanto isto, não dá para afirmar se funcionou). Particularmente, ficamos muito orgulhosos por entender que o Cloud8 ajuda em todos os 4 anti-patterns e que corrobora o nosso roadmap de lançamentos!
- AWS Well Architected: melhores práticas de arquitetura no AWS. É uma coleção de dicas ou ‘musts’ se preferir, sobre como usar melhor o AWS – operational excelence, security, reliability, performance efficiency e cost optimization. Vários tópicos podem ser encontrados no treinamento online e gratuito.
Curiosidades
Como não podia deixar de ser, uma enorme quantidade de curiosidades foi dita ao longo do evento. Selecionei algumas interessantes:
- Novo hypervisor: O AWS não usa mais o Xen e passou a usar KVM. Mas ao que tudo indica desenvolveram o próprio, com codinome Nitro, que é uma camada mínima entre kernel, VM e hardware. Rede, por exemplo, acessa diretamente o hardware, sem subsistemas virtualizados – algo parecido com o Andromeda 2.1 do Google (só hypervisor, sem contar protocolos privados de rede e hardware próprios);
- Cloud9. o AWS adquiriu uma empresa que possui uma IDE online – www.c9.io e integrou ao Lambda e ao CodeStar com todo o ferramental de ALM, CI/CD. O nome se deve, provavelmente, a um disco do George Harrison ou a expressão de ‘felicidade extrema’. Cloud8 foi escolhido por conta do número 8, em alusão ao símbolo matemático de infinito para indicar múltiplas funcionalides e integrações;
- Segurança é responsabilidade de todos: o Werner insistiu na co-responsabilidade de todos em relação a segurança. Como infra, devops e desenvolvimento ficam estrelaçados, a responsabilidade por pensar e agir de forma segura não pode ser desacoplada para uma equipe dedicada;
- Diversidade. Muito gratificante ver o AWS trazendo várias mulheres para palestrar e divulgar o seu trabalho. O Brasil também foi representado pelo Danilo Araujo em uma sessão sobre diversidade, apresentando o seu trabalho no AWS Meetup de São Paulo e Cloud Girls São Paulo;
- Matt Wood, responsável agora pelo linha de inteligência artificial, mostrou um artigo de Machine Learning, onde um dos autores era a Kristen Stewart, a Bella do Crepúsculo (sic);
- DeepLens – é uma nova câmera com capacidade de rodar modelos de machine learning embutidos (Greengrass ML Inference) em seu hardware e se conectando ao SageMaker. O Matt Wood mostrou a arquitetura de hardware e ideias para casos de uso – percebeu algo, dispara um Lambda. Quem diria que a Amazon atropelaria Google e Apple em Home Automation. Em pré-sale no amazon.com ;
- Neural Style Translator: aplicar redes neurais com o estilo de um autor a uma imagem – https://deepart.io/ – muito bacana! Para referência de um projeto open source com TensorFlow – https://github.com/anishathalye/neural-style;
- ML Labs: AWS lançou um Lab para quem quiser submeter casos de uso de IA. A ideia é ajudar a desenvolver o modelo e soluções em conjunto;
- MapBox: descobrimos quem foi o primeiro cliente do SnowMobile (lembram do caminhão com dezenas de SnowBalls?) – MapBox. Eles moveram 100 PB de dados para o AWS;
- Esportes: 2 cases de aplicação de inteligência artificial em esportes. Vídeos: NFL Next Gen Stats e UFC (simulação de luta ao vivo bem bacana!). E claro também tem para futebol – HUDL ;
- Quotes:
+ “We are responsible for the security of the cloud.” – Werner Vogels, CTO do AWS;
+ “Dance like no one is watching, Encrypt like everyone is” – Werner Vogels;
+ “Security is everyone’s job” – Werner Vogels;
+ “Chaos doesn’t cause problems, it reveals them”. – Nora Jones, Netflix Engineer
+ “There’s no compression algorythm for experience” – Andy Jassy, CEO do AWS – antiga, mas ele sempre repete…;
Enfim, novas oportunidades foram criadas e mais desafios para o dia a dia de todos.
Contem com o Cloud8 para ajudá-los neste ônus administrativo e de automação, bem como tirar vantagem da atualização constante da nossa plataforma!
Fiquem à vontade para compartilhar! Dúvidas, críticas ou sugestões, entre em contato.
Obrigado
Renato
CIO/Founder
Conheça o Cloud8! Acesse nossa calculadora e simule o seu cenário, ou crie sua conta para um teste de 15 dias sem compromisso clicando aqui.