Fala galera, beleza? Vamos retomar aqui. A gente falou então do EC2, como é que ele funciona, como é que a gente vai utilizar, depois a gente abordou o S3, como que a gente pode usar o S3, inclusive para guardar dados e assim por diante. Temos vários exemplos e agora eu queria entrar com vocês um pouquinho no mundo dos bancos de dados, a gente começar a falar um pouquinho de como que a gente vai utilizar os bancos de dados. bancos de dados. Então a gente vai ver esse E2, como é que a gente vai colocar uma aplicação para rodar. E aqui a gente está falando só da execução. Quando eu estou falando de banco de dados, como é que eu vou trabalhar com a AWS, com o meu banco de dados, com a geração dele, com a governança desse banco de dados e assim por diante. Então nesse capítulo a gente vai entrar um pouquinho, aprofundar sobre como funciona o RDS, que é essa ferramenta de gestão de bancos de dados. O RDS, ele vai permitir que você gerencie seus bancos de dados relacionais ali e consiga fazer escala deles, você consiga trabalhar com escalabilidade. Já já a gente vai entrar mais no detalhe de escalabilidade, mas só para você entender que aqui em poucos cliques, como quase tudo na AWS, com pouco trabalho, você vai conseguir subir e gerenciar o seu banco de dados com hardware provisionado, configuração e tudo que você precisa para fazer esse banco de dados rodar. Os bancos de dados da Amazon, dentro do RDS, eles são compatíveis com o MySQL, por exemplo, que é um dos bancos de dados é mais popular que a gente tem o que quase todo mundo usa quando está começando por exemplo uma aplicação menor alguma coisa mais alto contínuo e por diante e o rds te ajuda a fazer a gestão desse banco de dados traz pra você tranquilidade para você conseguir escalar ele assim por diante é um banco de dados bacana e bastante utilizada no mercado tem várias empresas que acabam utilizando ainda mais quando a gente está falando de aplicações um pouco menores também tem aqui o PostgreSQL que é um sistema de banco de dados para quem não conhece que é um pouquinho mais avançado na minha opinião com mais suporte a quantidade diferente ali de escala e assim por diante é o post ele tem uma performance maior do que o sql mais que ele ele segue os padrões de dsql mais arrisca mais ali no detalhe que vão fazer com que você por exemplo tenha mais é um putz como é que eu posso dizer você vai acabar tendo mais um dado mais mais quente mais real com menos dúvida do que por exemplo no MySQL então você tem mais segurança no seu dado ali. Ele também é um banco de dados ali que ele é extensível, ele tem suporte a transações com mais velocidade ali etc e tem alta disponibilidade. Então acho que também tem essas duas opções quando a gente está falando do RDS quando a gente está falando de RDS ainda você também pode usar o Oracle Oracle gigante para quem precisa processar uma quantidade gigante de dados precisa processar com mais velocidade com mais com mais performance mesmo, a Oracle é uma baita pedida e tem o SQL Server aqui também que não é uma má ideia, muita gente também acaba usando que é o banco de dados ali da Microsoft e que é muito utilizado também, ainda mais porque muitas das aplicações, elas acabam utilizando o Windows, e daí é mais fácil e o SQL também, ele tem um pouco mais de facilidade de você fazer a gestão ali no dia a dia porque ele é mais amigável para a maior parte da galera, só que em compensação se você precisa de alta capacidade de processamento e etc, eu acho que a Oracle ainda é melhor é um pouco mais caro mas é personalizável, então você consegue decidir se você vai usar Windows, Unix, Linux se não me engano, o SQL Server agora está possibilitandoando Linux também, mas antes ele era só Windows, então a Oracle é mais aberta a esse tipo de discussão e você também ali consegue ter uma escalabilidade ainda com desempenho melhor dentro da Oracle e assim por diante. Então esses são os bancos de dados que a gente vai ter dentro da RDS e que a gente pode fazer a gestão do nosso dado utilizando RDS como a nossa plataforma de apoio. A gente também vai fazer um hands-on, vai ver como é que isso funciona, etc. Mas é legal para vocês terem uma visão mais ou menos de como é que a banda toca quando a gente está falando de RDS. Fora isso, a gente tem um cara que foi criado pela Amazon, que é o Aurora. Esse daqui é da própria plataforma da Amazon. O Aurora não é bem um banco de dados, mas é uma forma de você gerenciar os seus bancos de dados um pouco diferente. Ele tem um web service da Amazon que consegue rodar MySQL, PostgreSQL, e com isso ele consegue dar uma melhora significativa nesse serviço. O Aurora, se você parar para pensar, quando você está usando o MySQL com o Aurora, ele consegue processar as coisas até 5 vezes mais rápido, ou seja, ele vai te ajudar bastante. E o Postgre mais ou menos 3 vezes mais rápido do que só ele puro. Então, eu acho que é bem legal de você pensar na utilização dele. Tem uma outra coisa também, quando você vai comparar o Aurora com os demais, por exemplo, com o Oracle SQL Server, ele tem um potencial e ele consegue ser melhor do que esses, na minha opinião, porque você, além de conseguir gerenciar ele direto, você consegue ter mais previsibilidade de custo, porque você não tem custo de licença, você tem custo ali da aplicação rodando, etc. Então você consegue entender mais quanto você vai gastar por diante, provisionar isso com mais antecedência pra ficar mais no seu controle, e você diminui o seu overhead de gestão de banco de dados porque você não vai precisar ali de um gestor de banco de dados pra fazer isso porque a própria AWS vai trazer pra você essa gestão de banco de dados tirando de você essa necessidade então eu gosto bastante da ideiaia do aurora mas também vamos lá com bastante calma o horário é caro não é uma coisa tão barato então eu vejo muitas muitas equipes acabam optando direto pela aurora por vamos agora para tudo é caro então ele tem um monte de benefício ele vai conseguir trazer pra você essa diminui essa necessidade de alguém fazer gestão de banco de dados fica olhando e etc, etc. Mas em compensação ele é mais caro. Então é legal ficar de olho também para você também encarecer toda a sua aplicação. Uma outra coisa também, quando a gente está falando do RDS, ele é bem interessante, a gente já vai entrar aqui mais no detalhe, mas antes da gente entrar no detalhe, eu acho que ele é bem interessante de citar Que ele faz uma réplica das suas bases ali Em até 3 AZs E quando ele coloca em 3 AZs Ele vai deixar para você 99,99% de disponibilidade Então ele é bem legal nesse sentido Ele também consegue colocar um backup no S3 Que vai trazer também mais segurança ainda Tem uma outra parte também que eu acho bem legal Que ele é... Quando a gente está falando ali do aurora escalava tanto vertical quanto horizontalmente que é muito fera também e é sério então você tem ali o alto que eu é automático não só ficar se preocupando com a gestão dessa aplicação então tudo isso acaba fazendo a hora de bem bacana uma aplicação bem legal de usar mas como falei também não é barato é barato, então vamos lá, tem que tomar decisão ali no dia a dia pra gente ver qual que é o melhor caso e aqui a gente vai aprender a fazer isso. Aqui eu trouxe um desenho um desenho básico aqui de como que funciona a implementação de um RDS, tá? Então aqui basicamente você tem o seu cliente, pro seu cliente conseguir acessar o RDS, só para vocês entenderem como é que funciona isso, então o seu cliente vai bater no Route 53, que não é nada mais do que um DNS da Amazon, onde ele vai fazer toda a gestão e roteamento de carga de trabalho, quem vai bater aonde aqui, basicamente, ele vai fazer o gerenciamento do cliente, e como é que o cliente faz para chegar na sua aplicação, que pode ser até um uma requisição HTTP direto ali, um site da internet, por exemplo, um domínio assim por diante, pra ele conseguir chegar na sua aplicação, beleza, o seu cliente bateu no route 53, ele vai fazer esse trabalho de rotear o DNS, vai entrar dentro da sua aplicação ali, ou seja, vai na sua region na sua VPC, vai entrar na sua subnet e vai bater na sua instância. Putz, subiu a sua instância ali que você estava rodando, por exemplo, um EC2, você rodou a sua instância e ela vai bater no RDS por trás, que é onde vai estar seu banco de dados. Então aqui você consegue ver a sua aplicação e o seu banco de dados trabalhando em conjunto dentro do RDS, beleza? É basicamente essa ideia de funcionamento do RDS. Tem uma outra coisa também, a gente já vai entrar no detalhe, que é como o RDS faz a otimização das suas instâncias, para vocês entenderem como isso funciona. Basicamente, quando a gente está falando de instâncias do RDS, você consegue otimizar elas para diferentes tipos de ação. Depende do tipo de instância que você vai fazer da configuração dela, tanto de CPU, memória, armazenamento, capacidade de rede, etc. Quando você for fazer essa declaração, essa configuração, você vai ter acesso a diferentes tipos de performance para o que você precisa fazer no dia a dia, tá bom? Por exemplo, instâncias que são otimizadas em memória, por exemplo. Se você pegar uma instância otimizada em memória, você vai ter uma velocidade de resposta maior. Para banco de dados, você precisa de tempo rápido de execução e você vai processar coisa em memória, por exemplo. Vai ser uma boa possibilidade de configuração para esse tipo de coisa. Se você precisar, por exemplo, de alta performance, talvez uma ideia você para a utilização de um ssd tá como como uma com a solução de hardware para a execução mais rápida ainda do que você precisa fazer então a gente tem aqui alguns tipos de estratégia que a gente pode implementar além de você escolher entre os bancos de dados que a gente tem lá por exemplo se você vai usar uma s, um PostgreSQL, um Dynamo, um Aurora, se você vai utilizar, por exemplo, um Oracle ou um SQL Server, se você for tomar essa decisão de banco de dados, ela já vai te levar próximo do caminho que você precisa para atender a sua aplicação, a sua estratégia que você quer ali, para o que você precisa entregar. Então, vai depender muito do sistema que você quer fazer, assim por diante, você vai precisar saber, entender qual é o melhor banco de dados para você. Fora olhar para os bancos de dados, a gente precisa também olhar para qual vai ser a forma de implementação do RDS, ou seja, como que eu vou preparar a configuração desse RDS. Ele vai te dar outra camada de possibilidades ainda para ser melhor ainda na sua aplicação. Você conseguir tempos melhores e assim por diante, ou até custos mais otimizados. Quando a gente está falando da capacidade, por exemplo, de armazenamento e desempenho de busca de informação, o RDS vai deixar você escolher alguns tipos de armazenamento. Assim como a gente falou lá no EBS, o RDS também você pode escolher entre SSD ou HDD. Se você estiver falando de SSD, mesma coisa, você vai ter uma maior velocidade de IOPS. Você vai conseguir ter entrada e saída mais rápido de dados. Ou seja, se você precisa buscar esses dados de forma constante, online, buscando dado a dado para conseguir entregar uma saída, conseguir fazer seu arquivo seu sistema trabalhar entregar alguma coisa o usuário ele é uma boa opção ele vai ser mais rápido e vai conseguir entregar bem mais só que é mais caro como a gente viu aqui no rds ele também vai ser mais caro se você usar o hdd por exemplo você precisa guardar grandes informações uma uma variedade muito grande de informação, muita coisa e vai ser muito mais caro você deixar no SSD o HDD pode ser uma estratégia também, trabalhar com ambos também pode ser uma estratégia você precisa entender como você vai fazer isso como você vai montar no seu dia a dia, mas tem que saber que isso é possível e você pode trabalhar dessa forma, uma outra coisa também que é legal a gente pensar que muita gente tem dúvida é sobre o armazenamento dinâmico que significa imagina que está lá o sistema está usando um banco de dados do tamanho x estava lá tudo funcionando a sua máquina de um tamanho x o banco de dados do tamanho x então se a ids estava comportando chega um determinado momento está vendo que ele vai topar vai começar a ficar muito mais ele vai começar a precisar de mais carga, ainda de mais espaço para funcionar. Você consegue mudar esse armazenamento em voo ainda, um de fly que a galera fala em inglês, mas em voo. Ou seja, você consegue pegar ali com a sua aplicação rodando, sem interromper a sua aplicação, você consegue mexer sem ter que parar todo o seu cliente, sem ter que mudar todo mundo e fazer aquela grande evento na empresa para poder fazer a sua mudança. Você consegue fazer esse envolvo, você consegue aumentar isso dinamicamente, o que também traz um benefício para você sem você precisar fazer a gestão disso, tá bom? Uma outra coisa também que eu já comentei com vocês é sobre a disponibilidade o fato de você poder colocar ele em multi-AZ você vai diminuir você vai aumentar a sua redundância e você vai ter muito menos chance de ter um problema e com isso você vai conseguir ter um failover ali automático de tirar de uma Z e jogar para a outra o que vai fazer com que sua aplicação esteja sempre de pé você pode até perder um pouquinho aqui em performance dependendo de onde estão suas AZs, ou seja, se uma AZ sua está muito mais distante da outra, pode ser que você tenha um pouquinho de perda de performance, mas sinceramente a latência vai ser imperceptível entre uma e outra e você vai estar com uma disponibilidade bem interessante aqui de 99,99% que o KWS promete. Outra coisa também são os backups automatizados, ou seja, lembra aquela história que a gente falou dos snapshots jogados dentro de um S3, por exemplo assim por diante, aqui você também consegue fazer os seus snapshots de banco de dados replicar isso e jogar ele entre as regiões ali pra você conseguir buscar caso aconteça algum problema caso você precise disso, tá bom? uma outra coisa também interessante é a segurança, aqui no esquema de segurança é muito parecido com quase todos os componentes da AWS. Você tem o IAM aqui, que ele vai te ajudar no controle de acessos, acesso às suas instâncias ali, tanto de bancos de dados, quanto de aplicação, e com ele você consegue trabalhar quem vai acessar ou não, fazer esse controle até essa governança. Quando a gente está falando de criptografia, de dado tanto estático quanto dinâmico, que está em trânsito, o que você vai ter que olhar? É a mesma coisa que a gente falou nas aulas passadas, no IBS, sobre o KMS. Então, a sua gestão de keys vai ser muito parecida. Você pode trabalhar com a gestão de keys que você vai ter ali, tanto para criptografia em trânsito, com SSL ou você pode trabalhar com a gestão de chaves ali, porque você vai ter de dado parado, lembrando daquela chave dupla o tempo todo, então basicamente a gente consegue fazer isso usando a gerenciamento aqui de keys, que é o KMS também outra coisa que eu acho que é um dos melhores do RDS Para quem já trabalhou com aplicações próprias Com bancos de dados próprios Dentro da sua própria infraestrutura O que a gente lembra bastante É que a gente precisa ter um time dedicado Para fazer a gestão desse banco de dados Para conseguir entrar lá, fazer mudanças Fazer esse aumento de capacidade Ou diminuir a capacidade para dar save de grana E assim por diante, para fazer atualização de patch, para... mudou alguma coisa no SQL Server, a gente precisa atualizar normalmente são essas áreas eles precisam estar muito alinhados com a gente, assim por diante então tudo isso acaba trazendo uma carga e uma redundância de trabalho bem complicada e que acaba tendo um overhead, se você parar para pensar na sua operação, sai mais caro e com isso você acaba deixando uma fatia da grana que você podia estar usando em outra área para fazer essa gestão. A AWS faz isso para você, então é como é automaticamente um serviço que consegue fazer essa gestão de patch, backup e atualização de software ali, você diminui essa necessidade de manutenção e diminui o run desse banco de dados, você não precisa gastar tanto tempo olhando para o run de um banco de dados. Então, acho que isso também é um baita de um benefício. Outra coisa também é o monitoramento. Quando a gente está falando de monitoramento, tanto para você pegar problemas quanto para você ter insights, o RDS também você consegue conectar no CloudWatch. Depois a gente vai falar mais do CloudWatch, não vou trazer pra agora pra gente não confundir a nossa cabeça, porque a gente tá falando de vários termos, várias siglas, eu mesmo já, às vezes, me bagunço com as siglas, porque é muita sigla, tá? E é comum, mas, às vezes, quando a gente tá falando aqui do CloudWatch, ele vai poder ajudar vocês em vários outrosia que você tem a AWS então antes da gente entrar no CloudWatch vamos terminar aqui o RDS mais pra frente a gente vai falar sobre ele mas saibam que com o CloudWatch você consegue plugar ele pra monitorar as métricas de banco de dados do RDS também aqui que você evitar isso você conseguir entender ali o que está rolando no dia a dia e quando você está falando de acesso a log pra conseguir fazer diagnóstico pra ter site ou para apoiar uma auditoria e assim por diante, você também consegue fazer via CloudWatch, o que vai te ajudar bastante.