Aula 3 - Desafio AWS | Desafio DevOps & Cloud

1.56k views17617 WordsCopy TextShare
Fabricio Veronez
Essa é a terceira aula do Desafio DevOps & Cloud! Se você ainda não assistiu as aulas anteriores, p...
Video Transcript:
Fala aí beleza seja muito bem-vindo e muito bem-vindo eu sou Fabrício Veronez e essa é a terceira aula do desafio devops Cloud um evento para te ajudar a ser capaz de criar soluções devops de ponta a ponta e construir um dos perfis mais valorizados e bem pagos pelas grandes empresas se você ainda não assistiu aos vídeos aqui anteriores pausa e vai lá assistir depois você volta para cá porque nessa aula nós vamos Vamos colocar a nossa aplicação na nuvem e eu vou te mostrar como fazer isso no principal Cloud provider do mercado aws cara por
incrível que pareça hoje em dia ainda é muito comum vermos profissionais sem conhecimentos básicos em nuven mas o mínimo que você precisa saber é como colocar sua aplicação no ar de forma rápida segura e escalável isso não significa que você vai se tornar um especialista em computação nuvem mas já passou da hora de você conseguir fazer o Deploy das suas próprias aplicações só para você ter uma ideia da importância de saber trabalhar com nuvem a gartner já afirmou que até 2028 ou seja em apenas 4 anos a Cloud vai se tornar uma necessidade de negócio
e que vai quase dobrar o faturamento global chegando a 1 trilhão já em 2026 que é mais do que se gasta com qualquer outra plataforma existente fala-se inclusive que a Cloud vai definir padrões de segurança e que até 2028 70% dos workloads vão rodar em ambiente de nuvem então ignorar a nuvem e se limitar a ambientes on on premise não é uma escolha inteligente para se manter competitivo no mercado e mais para você melhorar a sua empregabilidade Você precisa aprender a trabalhar em ambiente de cloud não dá para deixar para aprender só quando tiver um
projeto que utilize essa tecnologia aliás Isso é uma grande característica da síndrome de viralata ou seja esperar uma oportunidade cair no colo para só então começar a estudar ou pior esperar que a empresa Invista na sua capacitação para você evoluir bota uma coisa na sua cabeça cara a carreira é sua não tem por esperar e ficar torcendo paraa oportunidade chegar você é que tem que se antecipar e fazer a oportunidade acontecer sacou Essa mentalidade vai fazer muita diferença na sua carreira e também vai evitar que você caia de paraquedas em um projeto de devops e
de cloud e corra o risco de passar vergonha no trabalho ou até de perder o emprego fui convidado a trabalhar como arquiteto E aí tipo cara eu cheguei lá Perdidão mano os cara falou ah tem que fazer um Deploy no op shift Tem que criar uma imagem no op shift eu falei mano que é essa kubernetes que que é replica 7 que que é ingress Controller aí eu falei tô mano que que eu tô fazendo aqui mano Eu não manjo nada Velho Pior que eu cheguei malzão lá Fabrício tipo o primeiro mês mano cara lá
falou ó o arquiteto que vocês mandaram aqui velho cara esforçado tudo mas não manja não manja nada eu posso ser bom eu posso ser melhor E aí eu saí lá com lá vangloriado velho entreguei monitoração nos hábitos entreguei monitoração no open shi pensa o cliente escurra assa porque você é ruim não sabe da parada e depois o cliente pede você em outro projeto velho se não fosse Fabrício te juro velho Mano não hoje eu não teria tido essa essa promoção aí de arquiteto enterprise aí tipo dobrei o salário entendeu então se você quer se tornar
um profissional de alto nível daqueles lembrados como referência de qualidade você precisa agir agora e aprender muito bem pelo menos um um dos três Cloud providers aws ejo e gcp e por aqui vamos ficar na aws que é atualmente o cloud provider líder de mercado Bora lá entender como funciona a Computação em nuven quando a gente fala de soluções modernas e eficientes a Computação em nuven se destaca porque ela oferece serviços como armazenamento disponibilidade de ferramentas e softwares poder de processamento Plata forma de criação e muitas outras coisas tudo isso pela internet sem a necessidade
de grandes equipamentos locais Um Outro ponto em relação ao One premise é em relação ao custo de gerenciamento e manutenção da infraestrutura como por exemplo custo com hardware de servidor interno licenças de software e profissionais para oferecer o suporte a própria criação dos ambientes é mais complexa e mais demorada quando a gente compara com ambientes de nuvem E como eu falei antes as grandes empresas já estão ligadas nisso e adotando o cloud com muita força porque a demanda por processos mais ágeis recursos de integração e escalabilidade dos sistemas só aumenta a cada dia e a
necessidade de se manter competitivo no mercado também então saber trabalhar bem com a Cloud te dá uma enorme vantagem profissional com a nuvem você pode criar testar implementar e monitorar ações de forma muito mais ágil e eficiente utilizando infraestruturas flexíveis ferramentas Integradas e recursos praticamente limitados e cara isso não só acelera os ciclos de desenvolvimento como também oferece soluções de escalabilidade e resiliência que seriam muito complexas e custosas em ambientes tradicionais então os profissionais que não se atualizarem e adicionarem as vantagens de cloud no seu repertório correm o risco de se tornarem ultrapassados perdendo espaço
para profissionais mais versáteis e atualizados com as demandas atuais do mercado cara presta atenção aqui uma das melhores decisões que você pode tomar é combinar os conhecimentos de cloud e de devops porque ao dominar ambos você passa a ser capaz de entregar e criar soluções modernas escaláveis e confiáveis que aproveitam o melhor da flexibilidade da nuvem assim você desbloqueia um novo nível de eficiência e inovação e se torna um profissional de extrema importância em qualquer equipe aumentando o seu valor no mercado e as suas oportunidad de crescimento na carreira eu tenho mais de 15 anos
já de experiência em ti né mas de uma certa forma me acomodei parei no tempo o mercado se atualizando e eu não me atualizei dois 2 anos e meio atrás eu me via estagnado no mercado sem aumento de salário e sem novas perspectivas né o o mercado pesou e eu fiquei desempregado E aí eu decidi me especializar inicialmente somente em Cloud mas ainda não era aquilo ainda faltava algo mais foi quando saiu o devops pro e o curso dele me ajudou a chegar onde eu tô hoje né eu tô muito bem empregado numa multinacional uma
empresa grande Eu já entrei como como devops 2 reunião de projeto me apresentaram para equipe né a minha função é engenheiro devol Então bora lá pra tela do computador e aprender mais sobre a Cloud e como aplicar na nossa solução Mas afinal de contas O que é computação em nuven computação em nuven é o uso ou fornecimento de recurso computacional como CPU memória armazenamento para execução de aplicações ou até a utilização de uma solução completa de software remota pela internet então básicamente quando a gente fala em computação inem nuven é utilizar recurso computacional ou serviço
de software como um serviço de forma remota mas para entender melhor vamos comparar aqui os dois modelos o modelo on premise e o modelo de cloud modelo de computação em nuvem quando a gente fala no modelo ional modelo on premise modelo de data center como é que funciona eu tenho a empresa né uma software House uma empresa que tem ali área de desenvolvimento enfim não importa mas dentro dessa empresa eu tenho a equipe de desenvolvimento equipe de teste eh gerência enfim tenho toda a minha equipe lá e uma área dedicada paraa data Centers uma área
onde vai ficar ali toda a infraestrutura computacional da empresa onde eu vou ter ali os hacks com todas as máquinas CPU memória armazenamento Suit rede enfim fica tudo lá e normalmente quem trabalha lá dentro e são os profissionais de operação ou também chamados de sis admin normalmente a galera que tá aí de casaco porque dentro do data center o ar condicionado bomba né Eu já entrei em data Centers e Putz cara é um frio do cão e tive que fazer Deploy lá com pend drive já tive que verificar código dentro do data center mas toda
a infraestrutura computacional ela fica dentro da empresa ou numa numa área que faz parte da empresa certo quando a gente fala no modelo de nuvem toda essa parte computacional toda essa parte de máquina CPU e por aí vai deixa de ficar dentro da empresa e fica remoto em algum lugar e a gente consome esse recurso como um serviço pagando somente o que a gente vai utilizar e quem fornece esses recursos esses serviços são os Cloud providers Então os Cloud providers os provedores de nuvem são as empresas que fornecem esses recursos computacionais ou de software como
um serviço pra gente poder acessar e consumir pela internet E aí a gente tem aí diversos Cloud providers temos aws temos o e Google Oracle digital Ocean E por aí vai e aí você vê de cara que uma das vantagens no uso desse modelo é que a equipe de operação os Sis admins quem vai cuidar ali dessa infraestrutura Deixa de ficar simplesmente ali no data center e fica mais próximo ali da equipe né consegue ficar ali e no mesmo ambiente ou quem tá trabalhando aí no modelo hoje Home Office consegue trabalhar de forma Home Office
de uma forma muito mais eficiente por quê Porque eu não tenho hardware para gerenciar todo o recurso computacional toda parte de hard desses serviços computacionais quem cuida é o cloud provider então eu consigo cuidar da minha infraestrutura de qualquer lugar que eu esteja certo e além dessa vantagem é claro de ter toda integração da equipe de desenvolvimento e as outras pessoas da equipe com a equipe de operação o sis admins eu tenho uma série de outras vantagens como por exemplo eu tenho o consumo sob demanda eu deixo de ter que adquirir todo o hardware necessário
para eh rodar a minha aplicação para rodar tudo que é necessário E eu simplesmente vou consumir como um serviço como se eu tivesse ali eh utilizando um Uber vai vou utilizar ali um Uber e vou pagar somente ali o que eu vou utilizar e esse modelo de uso da computação em nuvem me dá a vantagem de não ter que antecipar investimento em relação a data center e eu consigo ter uma elasticidade no uso dos meus recursos computacionais né para rodar as minhas aplicações Normalmente quando a gente fala em data center quando a gente fala em
ter ali todo o poder computacional e pertencendo à empresa eu tenho sempre que comprar e hardware a mais ou o hardware que seja necessário para atingir ali o pico de requisições o pico de utilização e muitas vezes eu acabo tendo ociosidade eu acabo tendo e CPU sobrando memória sobrando em muito tempo muitos períodos né digamos aí um e-commerce uma empresa que trabalha com loja virtual você vai ter que adquirir a o hardware necessário para suportar uma black friday só que black friday na Natal outros períodos que você tem ali um aumento de de venda de
tráfego dentro do seu site é pontual assim um mês vai dois meses né ou outras sazonalidades que não chegam a uma black friday Mas você vai ter ali ao longo do ano muito mais recurso computacional Ocioso porque você tem que adquirir ali o máximo necessário para suportar a black friday quando a gente fala no modelo de nuvem eu vou consumir e só por Demanda então o que que vai vai acontecer quando chegar a black friday eu vou aumentar o recurso computacional vou aumentar ali o que eu preciso e no Cloud provaria vou utilizar vou pagar
por esse por esse uso e aí beleza diminuiu ali o tráfego diminuiu ali o uso eu posso diminuir também recurso computacional e eu acabo economizando Então eu tenho o consumo por Demanda otimização de custo que utilizando aqui o mesmo Exemplo né conforme eu aumento eu vou pagar mais conforme eu diminuo eu vou pagar menos então eu vou ter aí essa elasticidade na hora também da minha conta um outro ponto também importante é velocidade de aquisição quanto tempo leva para você adquirir um servidor um hardware e ele tá lá né plugado no data center para que
a equipe de desenvolvimento equipe de operação ou a equipe que vai colocar aí o software no ar e consiga realmente utilizar Cara eu já vi cenários em que se levava meses para se adquirir ali um servidor e quando a gente fala em adquirir o servidor e todo esse processo muitas vezes eh a entrega de de um projeto a entrega de uma nova versão ou o teste de um novo projeto ele fica paralizado porque não tem onde colocar brother não tem ali a máquina para colocar ali a aplicação para ir pro teste pro cliente acessar e
tudo mais e quando a gente fala em ambiente de cloud cara aquisição ali é em minutos eu consigo subir um servidor em questões de assim minutos em sei lá 5 minutos 6 minutos eu tenho aí o servidor pronto n até menos que isso n um cluster kubernetes ele leva aí de 12 15 minutos para e tá ali disponível para você utilizar então é muito mais rápido você conseguir ai e montar a infraestrutura necessária para botar a sua aplicação para rodar Além disso eu tenho a escalabilidade né como eu também falei do exemplo da black friday
eu consigo aumentar e diminuir os meus recursos para suportar ali a quantidade de requisições que eu tô recebendo é claro Cláudio não faz mágica a sua aplicação ela precisa tá pronta para esse tipo de arquitetura para esse tipo de escala E além disso né eu tenho a simplicidade no gerenciamento Eu garanto para você que é muito mais simples Você montar a rede você provisionar e conectar máquinas virtuais banco de dados cluster cuber interet no ambiente de cloud do que no ambiente físico no ambiente on premise Além disso você consegue utilizar diversas ferramentas de devops no
mercado com como terraform anb e por aí vai para facilitar ainda mais esse gerenciamento então E essas são algumas das vantagens no uso de computação em nuvem mas é importante você entender o seguinte quando a gente fala em Cloud não é é simplesmente pegar a máquina virtual ali que eu tenho no meu data center e colocar na nuvem não eu tenho tipos de serviço de cloud que eu posso utilizar e você identificar a necessidade Identificar qual o melhor tipo de serviço vai te atender vai fazer você ter Muito mais agilidade otimização no custo de cloud
e também diminuir a carga operacional da sua equipe basicamente eu tenho três tipos diferentes de serviços de cloud eu tenho o modelo e iis infraestrutura como serviço eu tenho o paas que é o plataforma como serviço e eu tenho o Saas que é o software como serviço aqui eu tô mostrando os três né fazendo uma comparação com o modelo One premise onde eu tenho aqui o verde que é tudo que eu gerencio gerenciado por mim ou pela minha equipe e eu eu tenho aqui a parte é laranja vai que é gerenciada pelo Cloud provider é
responsabilidade do Cloud provider quando eu falo no modelo on premise é tudo é responsabilidade minha máquina virtual rede sistema operacional e instalar runtime fazer o Deploy da aplicação cuidar dos dados dessa aplicação tudo é responsabilidade minha então Digamos que eu tenho que subir uma aplicação que é desenvolvida em Java eu vou ter que e cuidar da máquina virtual do Hardware tudo mais vou ter que instalar o sistema operacional né no caso sei lá vai um Linux da vida vou ter que instalar jvm fazer o Deploy da aplicação configuração de banco de dados backup do banco
e tudo mais esse no modelo on premise quando a gente fala no ias no infraestrutura como serviço já é diferente eu passo a ter alguns elementos como responsabilidade do Cloud provider basicamente no ias que é uma máquina virtual e por si só eu tenho aqui a responsabilidade de todo o hardware e virtualização do Cloud provider então rede e backup de disco e cara é cuidada de toda a parte de hardware em si é é responsabilidade do Cloud provider eh na parte de sistema operacional para cima já é responsabilidade minha então a partir do momento em
que eu Solicito a criação de uma máquina virtual no Cloud provider ele vai me entregar aquela máquina virtual para eu poder acessar beleza ele vai cuidar de armazenamento da do gerenciamento ali do disco a CPU memória o controle de acesso aos hardwares e tudo mais mas gerenciar o sistema operacional para cima é responsabilidade minha então rolou ai uma atualização do Linux cara eu vou ter que fazer Ah eu vou ter que instalar jvm para colocar a minha aplicação em Java vou é responsabilidade minha Deploy da aplicação e banco de dados backup do banco então tudo
isso eu vou ter que fazer né é diferente da do de cuidar do armazenamento em si gerenciamento do Hardware que o o cloud provider vai fazer o o a rotina de backup de histor eu vou ter que fazer certo então isso é um ponto muito importante então você vê que é o modelo mais próximo aqui do modelo on premise onde o Claudio provider vai ter ali e a menor responsabilidade em relação aos outros serviços quando a gente fala em plataforma como serviço paaz você vê que cara o cloud provider aí passa a ter muito mais
responsabilidade então a carga operacional que eu vou ter em relação aos recursos é muito menor e runtime midware sistema operacional virtualização servidores armazenamento rede tudo isso quem vai cuidar é o cloud provider eu vou ter que me preocupar em subir em fazer o Deploy da minha aplicação no ambiente instalação da jvm vai tá pronto lá o cloud provider vai entregar sistema operacional Cloud provider vai entregar ah Saiu uma atualização do Linux ali que tem que ser feita e tal cara quem tem que fazer isso é o cloud provider na verdade você muitas vezes nem sabe
qual é o sistema operacional que tá rodando ali por debaixo dos panos você tem acesso à plataforma para fazer o Deploy da aplicação e você vai cuidar do Deploy da aplicação e também e dos dados dessa aplicação é um exemplo aqui é o ss o elástico que contém n service onde você vai ter ali um ambiente você faz o Deploy da sua aplicação ali em contêiners e funciona tem eh o eg app service eh tem o cloud Run também do Google tem diversos exemplos aí de plataforma os próprios serviços de kubernetes dos Cloud providers como
Eks aks gke são exemplos também de plataforma como serviço você não tem que fazer o setup do cluster kubernet você solicita ali a criação dele e você vai vai ter ali o cluster kubernetes para você utilizar que é justamente o que a gente vai fazer aqui hoje e aqui para encerrar eu tenho o software como um serviço onde eu vou simplesmente consumir ali o software um exemplo eh Office 365 que eu vou utilizar o Office vou utilizar ali PowerPoint Enfim vou utilizar o serviço de e-mail e cara não ten que me preocupar com instalação com
hardware com nada de só com o meu acesso realmente Google Docs Google Drive todos esses casos são softwares como serviço E aí a minha preocupação ali é simplesmente utilizar o software então é importante você entender esses tipos de serviços entender Qual é o tipo de serviço do serviço que você tá utilizando para você saber ali o nível de responsabilidade Seu e do Cloud provider certo agora que você entendeu esses conceitos vamos falar aqui do Cloud provider que a gente vai utilizar aqui que é a aws aws é o cloud provider criado pela Amazon esse gigante
de e-commerce e aws justamente ela nasceu com a ideia de pegar o que a Amazon tinha de recurso computacional Ocioso e disponibilizar como um serviço de forma remota para quem quisesse u Izar os primeiros serviços e da WS foram a sc2 que são as máquinas virtuais e o S3 que é de Storage depois cara eles foram ampliando cada vez mais e hoje eles T aí mais de 200 serviços disponíveis na aws e quando a gente fala em aws ejo e Google não importa é importante também entender um conceito muito importante em relação à execução dos
serviços uso de serviço para você ter a escalabilidade e a resiliência nas suas aplicações que é o conceito de região e zona de disponibilidade aqui eu vou falar sobre a aws mas esse conceito também é utilizado nos outros Cloud providers a WS ela tem ali seus diversos data Centers E aí são distribuídos são espalhados aí por todo o mundo então é importante você entender como é feita essa distribuição para você criar os seus serviços E aí eu tenho dois conceitos básicos aqui que é região e zona de disponibilidade a região nada mais é do que
o local do mundo né o local do Globo onde a aws tem ali eh recurso computacional que tem ali o seu data center e se você olhar aqui nesse mapa da infraestrutura Global da aws você vai ver que cara tem diversos lugares do mundo onde a aws tem a sua infraestrutura E você tem a possibilidade de utilizar qualquer um desses caras da onde você tiver Então você tá aqui no Brasil ou tá aí em algum outro país se você quiser utilizar os recursos aqui dos Estados Unidos da Europa eh aqui do Brasil você pode Sem
problema nenhum aqui eu tenho o print aqui com a com as regiões atuais né Inclusive tem aqui uns de vermelho que vão ser lançados eh em breve Os Verdes Aqui eles já estão em funcionamento e é provável que dependendo da do momento que você tá vendo esse vídeo aqui ele esteja desatualizado porque aws tá expandindo cada vez mais então é importante aqui ó caso você esteja assistindo tem um tempinho você clicar aqui no link e dá uma olhada no site atual e você vai ver ali as regiões atuais da aws mas basicamente a região ela
é o local no mundo onde aws tem eh a sua infraestrutura e aqui ó você pode ver eh o norte da Virgínia você tem aqui vários outros inclusive tem aqui ó em São Paulo também ó lá São Paulo é uma região da aws agora um outro ponto muito importante é a zona de disponibilidade ou a a viability Zone AZ enfim e a AZ ou a viability Zone nada mais é do que o data center da aws então eu tenho a região que é um local onde aws tem infraestrutura e eu tenho AZ a zona de
disponibilidade ou a it Zone onde é realmente uma infraestrutura física da aws e eu tenho dentro de uma região diversas Azis Se você olhar aqui no O slide anterior eu tenho aqui ó no em São Paulo eu tenho três zonas de disponibilidade Ou seja eu tenho três data Centers e da aws aqui em São Paulo onde eles ficam cara não faço a menor ideia inclusive por uma questão de segurança eles não divulgam esses locais certo aqui ó no norte da Virgínia você vê que eu tenho aqui ó seis zonas de disponibilidade dependendo da região eu
tenho mais zonas de disponibilidade é normalmente tem ali no mínimo três tá eu nunca vi aqui nenhuma que tivesse menos de três Então você tem aí três ou mais pode ser que em alguma região tenha menos Mas o que eu já vi são ali no mínimo de três então a zona de disponibilidade nada mais é do que o Data Center Então dentro de uma região eu tenho várias zonas de disponibilidade e todas essas zonas de disponibilidade elas são conectadas entre si com um link de alta velocidade para que você não tenha ali perda de performance
ou ten ali o máximo de performance conectando uma com as outras e Por que que é importante você ter esse conceito em mente você entender o que é uma região que é uma zona de disponibilidade E por que que elas eh são distribuídas dessa forma imagina que você tá utilizando ali um serviço da aws numa região em São Paulo e eu só tivesse ali uma zona de disponibilidade só tivesse uma AZ se tivesse qualquer problema em relação a Essa zona de disponibilidade sei lá e l problema de link ou até um desastre natural né alguma
coisa que danificasse lá o datacenter e ficasse ali em disponível tudo da aws nessa região em São Paulo ficaria fora do a quando a gente tem essa distribuição com múltiplas zonas de disponibilidade todas elas interconectadas eu tenho eh mais resiliência porque eu posso eh ter problema em uma zona de disponibilidade e se eu tiver utilizando arquitetura corretamente trabalhando com múltiplas zonas de disponibilidade a minha aplicação ela vai continuar disponível porque uma única zona de disponibilidade que teve problema que ficou indisponível eu tenho contingência nas outras zonas de disponibilidade Então sempre que você montar a sua
aplicação sempre que você montar ali a sua arquitetura os seus recursos na nuvem pensa sempre em trabalhar com com múltiplas zonas de disponibilidade com múltiplas Azis para você ter essa contingência e garantir alta disponibilidade da sua aplicação Fabrício eu posso trabalhar com múltiplas regiões pode mas só cenários específicos muito específicos você vai fazer isso porque quando você começa a trabalhar com múltiplas regiões aí o custo para manter essa infraestrutura para manter essa arquitetura ele aumenta consider velmente é claro você vai trazer muito mais resiliência alta disponibilidade pra sua aplicação mas você tem um custo em
relação a isso agora qual região que você deve utilizar Depende você tem que ver os requisitos do projeto Você tem que ver aonde os seus clientes atuam mais onde você tem mais pessoas acessando porque é claro que dependendo da localização isso vai impactar em relação à latência e tudo mais então tudo isso depende do pro projeto você tem que levantar os requisitos para tomar essa decisão bom agora que você entendeu o que é Cloud já entendeu um pouco mais sobre aws a distribuição Regional né conceito de região Zona de disponibilidade vamos ver aqui o cadastro
na WS ver como é que funciona aqui o painel administrativo pra gente começar a trabalhar aqui e criar o nosso cluster kubernet no Eks o primeiro passo PR a gente começar aqui a trabalhar com a aws é que você crie uma conta sua na aws para fazer o cadastro para ter essa conta na aws você não vai pagar nada você não vai pagar nada para ter ali a sua conta pessoal então para isso você vai ter que vir aqui tá e criar a sua conta na página principal em aws.amazon.com E aí seguir todo o passo
a passo de cadastro é importante o seguinte aqui de cara você não vai ser cobrado em relação a nada você só vai pagar realmente os serviços que você vai consumir e a sua máquina virtual o seu cluster kubernetes o seu SS enfim o que você criar você vai ter que pagar e para isso você precisa ter um cartão de crédito e por isso nesse momento em que você vai fazer aqui o cadastro você já precisa colocar o cartão de crédito ah mas eu não vou consumir nada F beleza mas aí precisa validar essa conta para
você fazer ali e o pagamento ah Fabrício mas eu não tenho ali um cartão de crédito e não tenho como colocar ali porque eu não tenho tem diversas soluções hoje no mercado para você criar um cartão de crédito pré-pago onde você antecipa ali o que você vai utilizar E aí você consegue ter um cartão de crédito para utilizar aqui que vai funcionar de boa no seu cadastro Inicial ele vai fazer uma validação e desse cartão debitando ali 1 dólar e depois ele estorna então se você tiver utilizando pré-pago é importante você ter ali e mais
ou menos um dólar ó para ele poder validar essa cobrança depois ele vai estornar ali e tá tudo certo você vai poder utilizar e para criar os seus serviços na aws depois que você fizer o cadastro você vai ter acesso ao dashboard que a gente vai ver daqui a pouquinho mas antes eu quero te mostrar aqui a camada gratuita da aws eu acabei de falar que todos os serviços que você precisar criar você vai pagar mas existem alguns serviços que são gratuitos de forma temporária eh de forma eh Perpétua com um limite e alguns que
são liberados para teste de forma gratuita então aqui ó no no site da WS Você pode procurar camada gratuita ou free Tier ou free tire enfim como você achar melhor ou nível gratuito da WS como tá aqui e você vai ver exatamente Quais são os serviços que tem essa gratuidade Como eu disse tem três tipos de ofertas você tem aqui para teste de forma gratuita Onde você consegue testar ali os serviços Normalmente eles colocam os serviços mais recentes onde eles querem realmente que a galera teste para ver como tá funcionando você tem aqui um período
de 12 meses gratuitos onde você faz o seu cadastro ele libera nesses 12 primeiros meses nesse um ano alguns serviços de forma gratuita claro que com e limitações e você tem também o sample gratuito que é o always free onde você tem alguns serviços eem alguns limites de consumo onde você não vai pagar nada Como é que você sabe quais são esses serviços aqui no próprio na própria página de nível gratuito aqui embaixo Ó você consegue ver esses serviços e você consegue ó listar os serviços dependendo do tipo de gratuidade então por exemplo aqui ó
sempre gratuito ele vai filtrar e aí você consegue ver então eu sempre vou ter aqui o Amazon DB 25 GB de armazen enamento no Amazon DB no no Dynamo DB para poder utilizar eu tenho aqui ó 1 milhão de solicitações gratuitas por mês de aws lambda o Amazon SNS eu tenho aqui ó diversos serviços que eu posso utilizar always free sempre gratuito então aqui ó você consegue filtrar também o que você tem com esses 12 meses gratuitos Então cara olha olha só que legal você tem E2 você tem 750 horas de E2 por mês nesse
período de 12 meses ah Fabrício então eu posso criar quantas vms eu quiser ali desde que tenha 750 horas não se você tá criando ali e três vms e você vai utilizar cada uma delas por 10 horas vai contar aqui 30 horas de uso então tem esse esquema Então você tem aqui também ó 5 GB de armazenamento com S3 o RDS você tem 750 horas de uso e aqui o o Api GAT aí você tem 1 milhão de chamadas cara tem muita coisa que você pode utilizar nessa camada gratuita ponto importante aqui o que a
gente vai utilizar aqui hoje a criação do cluster kubernetes utilizando o Eks ele não tá na camada gratuita e por conta aqui da aplicação do que a gente vai utilizar aqui na na nossa semana o perfil de máquina que eu vou utilizar no Eks ele também não tá na camada gratuita você então vai ter que investir certo e um valor para você utilizar aqui no laboratório é muito baixo você cara não vai gastar nada que é absurdo mas é importante você ter isso em mente e é importante também para você não ter surpresa na sua
conta você criar ali os recursos e depois destruir a que você vai pagar conforme o uso se você utilizar por algumas horas por algum alguns momentos só criando e subindo ali utilizando no seu ambiente de estudo você vai pagar ali cara centavos ou poucos dólares então é importante você criar o recurso e depois destruir porque o que a gente vai utilizar aqui não entra na camada gratuita Beleza então vamos voltar aqui dito isso eu vou fechar aqui e assim que você fizer esse cadastro aqui na aws você vai dar de cara com esse painel aqui
que é o dashboard da aws onde você consegue criar os seus recursos você consegue ver aqui e o valor da sua fatura ó aqui embaixo ele mostra mais ou menos quanto eu gastei aqui eh ou melhor quanto eu investi né nos meus estudos aqui em Cloud eh durante esse período quanto tá mais ou menos ali a minha conta você vê que tá ali em 29 Cent eh comparando aqui com o mês passado eh foi aqui ó eh 3,79 eh ele mostra aqui ó o gráfico seu de consumo né conforme você vai vendo aqui eh o
que você consumiu durante os meses ele mostra né O que que você gastou mais onde é que foram ali e as suas despesas então aqui você consegue ter um controle de de gastos né de recursos que tão custando o que cada recurso tá custando ali para você então é importante você verificar aqui sempre para você ter também o controle do quanto você tá eh consumindo Beleza então fez o cadastro você vai dar de cara aqui com esse painel mas tem um ponto muito importante é essa conta aqui que é criada quando você cria sua conta
na WS é o usuário Rot da sua conta é o cara é o The Chosen One certo da sua conta e o que que esse usuário vai fazer ele vai poder fazer qualquer coisa na sua conta da WS é igual usuário Rot do Linux então é importante você utilizar esse usuário o mínimo possível porque cara caso alguém descubra a senha intercepte ali e a sua senha e consiga acessar e não é uma boa prática você utilizar essa conta porque com essa conta você pode fazer qualquer tipo de operação então no seu dia a dia é
importante você criar um novo usuário que ten a permissão AD administrativa que seja administrador da conta para você poder utilizar que aí você vai conseguir criar qualquer recurso mas não é o usuário Rot inclusive você não vai ter acesso direto aqui às contos fazer pagamento e tudo mais então criar um novo usuário é uma boa prática por conta disso para você não utilizar o rot e caso você tenha alguém aí da sua equipe ou que estude junto com você que você queira né Colocar alí e permissão para acessar os seus projetos você vai fazer ali
a criação de outro usuário você vai dar permissão correta não é uma boa prática ficar compartilhando o mesmo usuário e a mesma senha com uma porrada de gente é importante você ter esse controle até porque a criação de usuário não entra aqui na parte de cobrança Ó você vê que aqui em momento nenhum tem cobrança em relação a usuários não tem nada disso então pode criar ali a quantidade de usuários que você quiser que você não vai ter cobrança a mais em relação a isso e para fazer a criação de usuários para você conseguir dar
esse permissionamento eu quero falar com você sobre o primeiro serviço que nós vamos utilizar da aws que é o iam é o identity and access Manager o controle de identidade de acessos da aws aqui no meu painel eu já tenho iam de cara porque um cara que eu utilizo muito tô sempre dando aula aqui crio usuário eu gosto de criar usuário para cada Live apresentação ou aula que eu tô fazendo eu tenho um usuário meu ali de estudo então eu tenho esse controle aqui então eu acabo utilizando muito para acessar o iam eu posso vir
aqui direto aqui como eh utilizado recentemente Mas eu posso vir aqui ó no no Search na barra de busca aqui e colocar ó e AM ele vai aparecer aqui para mim e aí eu consigo acessar o dashboard aqui do EAM então primeiro uma coisa que você pode fazer aí e em relação à sua conta Rot principalmente é você fazer aqui o cadastro de uma autenticação de dois fatores isso vai te dar mais segurança na sua conta Rot ele provavelmente aqui ó ele vai mostrar que essas recomendações de segurança não estão estão é sendo seguidas né
E vai botar aqui provavelmente um vermelho e vai mostrar aqui que você não fez então faça isso aqui né Eh faça esse cadastro de autenticação em múltiplos fatores principalmente para você conseguir eh ter mais segurança na sua conta então faz aqui o cadastro utiliza aí qualquer software que tenha no seu celular aí para você cadastrar essa autenticação pode ser o gerenciador de chaves do Google da Microsoft tem diversos softwares para isso faça Porque é importante pra sua segurança feito isso a gente vai eh criar aqui esse nosso usuário com permissão administrativa para poder utilizar mas
antes eu quero te falar aqui de alguns conceitos do Iam que são importantes e que a gente vai utilizar hoje aqui o primeiro é o conceito de usuário usuário é usuário é simplesmente Isso é uma pessoa que você vai dar Acesso aqui na sua conta da aws então Digamos que você tá utilizando uma conta aí da sua empresa chegou lá um alguém na equipe de desenvolvimento ali novo né acabou de chegar você vai criar uma conta para essa pessoa vai criar um usuário para essa pessoa na aws chegou um profissional novo ali de devops na
equipe você vai colocar ali essa pessoa né é criada aqui na WS vai criar a conta dela para poder acessar cada usuário novo que vai acessar tua conta você vai colocar aqui um user vai criar um user para ela e cada usuário vai ter ali as suas políticas de acesso vai ter ali as permissões do que pode acessar ou não E aí entram as policies as policies são as políticas de acesso onde você tem aqui ó uma porrada de de política já eh pré-configuradas Inclusive a gente vai utilizar esse aqui ó administrator access E se
a gente expandir esse administrator access você vai ver que nada mais é do que um Jon com todas as informações em relação ao que pode acessar ou não aqui o objetivo não é entrar naquela granularidade pequena ali refinar o controle de acesso a nível de recurso ou grupos de recursos ou serviços nada disso eu só quero dar aqui o acesso administrativo então esses pré-determinados vão atender de boa e Na real você pode utilizar muito as políticas já aqui pré-determinadas que vão te atender aí boa parte do tempo mas é claro você consegue refinar caso você
precise entendendo aqui a estrutura do Jon certo então você vai pegar um usuário e vai vincular a uma pólice Mas isso não é uma boa prática por quê para administrar fica complexo imagina que cada Dev que entra numa equipe de desenvolvimento você vai dar a pólice individualmente você vai dar acesso ali ao grupo de serviços ou aos recursos você acaba eh tendo muito mais trabalho em relação à manutenção desse controle de acesso que vamos dizer que esse desenvolvedor foi promovido para arquiteto e as políticas de acesso vão ser diferentes e aí você vai ter que
um a um fazer aí essa alteração e aí entra um outro conceito importante aqui que é o grupo de usuário onde você vai criar aqui ó o user group um grupo que vai ter ali vários usuários vinculados E aí você consegue refinar muito melhor você consegue eh ter uma gestão muito mais simples desses acessos de cada usuário se o desenvolvedor foi promovido ali para arquiteto você só vai tirar aí do grupo de desenvolvedores e vai colocar no grupo de arquitetos no grupo de devops no grupo ali que faz parte aí automaticamente eh todas as políticas
vão ser aplicadas nesse usuário porque as políticas elas deixam de estar vinculadas ao usuário e ficam ali ao grupo que ele ou ela fazem parte certo agora a gente tem um outro ponto aqui muito importante que é o conceito de hole a ho ela é como como se fosse ali um usuário só que vinculado a um serviço da aws a role é um permissionamento que você também vai criar as polies mas esse permissionamento ele é a nível de serviço da aws e onde é que você vai utilizar uma hole vamos imaginar um cenário onde eu
tenho uma máquina virtual uma S2 onde eu tenho ali uma pipeline sendo executada eu tenho ali um um agente do github Actions ou eu tenho ali um jenkins instalado onde eu tenho ali todo o processo de automação onde eu vou criar ali uma imagem de contêiner e essa imagem ela precisa ser enviada para um Sr que é o elastic container H é o serviço de armazenamento de imagens da aws por padrão essa máquina esse servidor ele não tem acesso ao Sr né porque não tem nenhum permissionamento ali então você teria que criar uma credencial no
Sr para poder vincular a essa máquina ou colocar na pipeline para ser executada mas se você utilizar o conceito de hole você consegue fazer isso a nível de serviço você consegue pegar essa hole dá o permissionamento no Sr e vincular a sua máquina sc2 a máquina virtual que tá executando ali o Jen E aí essa máquina ela passa a ter permissão você não precisa configurar eh criar usuário colocar credencial nada disso ele já vai ter esse acesso e O legal é que no momento em que essa máquina Deixa de existir e esse permissionamento passa não
existe mais que a máquina não existe não tem mais rle nenhuma e você não tem que se preocupar ali com credencial voando aí alguém pegar e nada disso então é importante quando você tá trabalhando com serviços da WS se comunicando consumindo um ao outro você utilizar a role para você ter o melhor controle possível dessas permissões Ok então aqui o que que eu vou fazer a gente vai criar aqui um usuário vou criar aqui um user group né vou criar um grupo de usuário vou criar um usuário dar aqui a permissão na a pólice né
vincular a pólice correta e a gente vai utilizar aqui no resto da aula então para isso eu vou vir aqui ó user groups eu já tenho aqui o usuário administrador que eu já deixo aqui criado para poder colocar os usuários que eu utilizo aqui no dia a dia mas eu vou criar aqui ó vou criar um grupo novo e vou botar aula adms certo e aqui já tenho aqui um usuário Fabrício verones que é o que eu utilizo também no dia a dia mas eu não vou mexer nele e aqui eu tenho as polies que
eu posso utilizar Como eu disse antes vou usar aqui administrator access para poder dar acesso administrativo aqui nesse grupo então desço aqui e crio o user group tão simples quanto isso Ó lá rapidinho já tem aqui o o grupo ele já me avisa aqui ó que eu não tenho usuário nenhum vinculado E aí o que que eu vou fazer aqui agora eu vou criar um usuário eu vou vir aqui em user e a gente vai criar aqui um usuário eu vou botar aqui ó aula certo vou botar aqui só aula e é importante o seguinte
colocar aqui esse cara marcado por qu se eu não marcar essa opção esse usuário aí não vai conseguir acessar e o dashboard esse conso esse Manager console né que é a interface web da aws então é importante marcar senão eu só vou vou conseguir utilizar ele em ferramentas de ci e tudo mais que não é o caso só que eu vou fazer aqui eu realmente quero utilizar e o dashboard eu quero utilizar aqui o Management console e depois eu vou escolher aqui qual vai ser o provider que o providing de controle de acesso que eu
vou utilizar tem o identity Center e tem o iam no caso aqui eu vou utilizar o iam ele vai perguntar como é que eu vou criar a aqui a senha eu posso gerar automaticamente Ou posso customizar no caso aqui eu já vou criar a senha que eu vou utilizar certo Já criei aqui posso mostrar a senha ou não e aqui eu posso marcar para ele solicitar uma nova senha assim que o usuário autenticar no caso não vou porque eu vou utilizar aqui só pra aula e agora eu dou um next aqui e ele vai perguntar
e eu quero e adicionar um usuário ao grupo eu quero copiar permissões de um usuário ou eu quero vincular as polices diretamente para facilitar o gerenciamento eu vou adicionar aqui no usuário n a um grupo e vou botar o aula adms certo e aqui dou um next beleza ele vai mostrar aqui o que que eu vou fazer a operação né que no caso eu vou criar um novo usuário eu posso adicionar tags aqui e as tags elas são elementos chave valor que eu vinculo a objetos do da WS no caso aqui eu posso colocar até
50 tags é importante você colocar essas tags Por uma questão de organização dos seus projetos e até da da parte de cobrança tua parte de finops para você saber ali eh onde tá sendo utili AD Qual é o Projeto Qual é o o grupo o ambiente enfim é uma boa prática você utilizar aqui você pode por exemplo botar aqui e projeto sei lá e desafio pode colocar aqui centro de custo enfim você aí é organizar da forma que faz sentido aí na empresa e no fluxo que você trabalha no caso aqui eu não vou colocar
nada e aí eu vou criar esse usuário assim que eu ele vai me dar aqui algumas informações ele vai me dar aqui ó o console sign in que é o endereço né Para eu autenticar diretamente ó e ele já dá aqui ó o meu account ID né que é o aqui é o ID da minha conta para poder autenticar ali com o meu usuário certo e aqui me dá o usuário e me dá aqui a senha eu posso baixar no arquivo csv no caso aqui eu não fazer mas o usuário já tá criado eu posso
sair desse usuário aqui e autenticar com esse vou fazer isso aqui agora vou pegar aqui ó colocar o RL aqui mesmo e aí eu vou sair beleza aí ele vai pra tela de autenticação ó já botando aqui o meu account ID eu posso botar aqui o usuário colocar aqui a senha e aí eu autentico beleza á já já autenticou aqui para mim vai pro meu usuário e aí eu já tenho aqui ó um dashboard diferente ó aí mostra inclusive que é o meu primeiro acesso Ó você vê que centro de custo né Toda a parte
de cobrança eu não tenho acesso é uma conta com algumas limitações é uma conta administrativa eu consigo fazer aqui as principais operações mas operações principalmente de cobrança aqui gerenciamento de custo pagamento eu não tenho acesso agora outro ponto importante aqui eu tenho o dashboard Onde eu posso dar uma customizada aqui ó você vê que eu posso selecionar as regiões que eu vou trabalhar e se você vir aqui ó Nessa engrenagem você pode configurar o idioma certo que você vai utilizar Eu gosto de trabalhar com inglês por conta da documentação é mais fácil de achar aí
as informações e tudo mais você pode botar o visual mode né o modo de visualização onde você vai ver é o tema Dark assim mais escuro ou o tema Claro Light E aí você escolhe eu gosto de utilizar mais o Dark e vindo aqui ó em mais configurações more user settings você pode também ó e definir aqui algumas informações a mais você pode botar o idioma padrão no caso aqui eu vou botar aqui o inglês Você pode definir a região padrão qual vai ser a região utilizada eh aqui para criar os seus recursos E aí
eu gosto de colocar sempre aqui o norte da Virgínia por quê Porque o norte da Virgínia é a região mais barata então se você tá estudando é importante você colocar norte da Virgínia para você gastar ali o mínimo para você investir o mínimo se você colocar aqui eh São Paulo você vai ver que a cobrança é muito maior os valores são maiores e também tem um outro ponto que o norte da Virgínia é a região onde os serviços são disponibilizados mais rápido pode acontecer de um serviço ter ali na Virgínia mas não ter ali em
outra região ISO pode acontecer dependendo da região tem essa limitação também então eu gosto de colocar aqui norte da Virgínia em ambiente de estudo dependendo na sua empresa Você tem que ver aí eh com qual região vocês vão trabalhar então eu vou salvar aqui as configurações Ok E aí beleza vou ter aqui já tudo preparadinho para começar a trabalhar então agora que você tem aí a sua conta da WS configurado com a sua conta de administrador vamos agora criar o nosso custer kubernetes para criar aqui o nosso cluster kubernetes eu vou utilizar o Eks o
elastic kubernet Service o serviço de kubernetes gerenciado da aws onde eu Solicito a criação do cluster kubernetes e aws faz isso para mim e vai gerenciar Para mim significa que eu não vou ter que me preocupar com criação de control plan dos work noes nada disso eu vou solicitar a criação do cluster kubernet no Eks vou dizer a versão que eu vou utilizar e tudo mais ele vai criar ali para mim o control plane todos os componentes necessários eu vou especificar o node group né o grupo de nós o perfil computacional que eu quero que
tenham os worker no vou dizer ali a quantidade e ele vai montar esse setup todo para mim então o Eks ele entra aqui como um tipo de serviço paaz onde eu solicito o uso de uma plataforma criação de uma plataforma e a aws vai criar para mim e vai me dar ali todos os acessos para acessar esse cluster kubernetes para criar um cluster kubernetes com Eks eu tenho algumas etapas eu preciso primeiro criar as roles sim eu vou ter que criar roles aqui para cada componente aqui do cluster kubernetes pro control plane para poder gerenciar
os recursos ali da minha contta e também pros worker noes Então vou criar aqui duas roles diferentes e vincular ali as polies que cada um vai precisar a gente vai fazer isso aqui na prática depois eu preciso montar a estrutura de rede porque os principais serviços computacionais da aws eles ficam vinculados em uma rede então é importante montar a estrutura correta de rede aqui no caso eu não vou entrar a fundo em relação aos componentes de rede não é o objetivo aqui a gente vai criar o cluster kubernetes Então a gente vai utilizar aqui um
serviço chamado cloud formation da WS onde eu tenho ali uma uma infraestrutura como código declarada e ele cria isso para mim na minha conta no caso eu vou já tenho aqui o o código que a gente vai utilizar para montar e toda a parte de rede desse cluster kubernetes E aí depois eu vou criar o cluster kubernetes e o node group em seguida então primeiro vamos criar aqui as duas roles e depois criar todo o resto Então vamos lá para começar aqui a criar as nossas roles eu vou utilizar aqui o serviço o iam o
identity and access Manager que a gente já acabou utilizando então eu vou acessar ele aqui o meu iam tá demorando um pouquinho para carregar minha internet tá um pouquinho lenta mas tudo bem então aqui é o meu painel gerenciamento do Iam e aqui eu tenho os usuários tenho as rol Police assim como você já viu Então eu vou ver aqui em roles e você vai ver que eu tenho uma lista gigante de roles nesse momento aqui que eu utilizei para vários serviços eu poderia inclusive utilizar aqui ó alguns do ecs e tudo mais mas eu
quero criar aqui com você do zero Então a gente vai criar aqui duas rols uma pro cluster kubernetes e outra pros worker Notes que vão ser as máquinas sc2 eu vou começar com o cluster kubernetes Então vou vir aqui ó Create hole e eu preciso definir aqui qual vai ser o tipo de entidade que eu vou trabalhar essa rle aqui é para uma conta é para um web identity É para um aws Service para que que eu vou utilizar essa role no meu caso aqui no nosso caso a gente vai utilizar aqui vinculado a um
serviço que vai ser o Eks então aws service beleza ele vai criar aqui para esse tipo e eu preciso botar também aqui o Qual é o caso de uso desse dessa role no caso aqui é um cluster kubernetes então o serviço é o ecs seleciono aqui beleza e ele vai pedir para eu especificar o serviço eu vou botar aqui se é a Eks service cluster node group eu preciso definir isso no meu caso aqui no nosso caso é o Eks cluster porque essa rle ela vai ser vinculada ao cluster kubernetes Então beleza é o Eks
cluster dou um next aqui e ele já sugere qual Police que eu vou utilizar no caso o Amazon Eks cluster policy É esse mesmo que eu vou usar É esse mesmo então dou um next E aí ele vai pedir para eu definir o role name botar aqui a descrição ele fala aqui eh Quais são as permissões Quais são as pes que vão ser adicionadas no caso aqui eu vou botar o nome Eks cluster tão simples quanto isso E aí ok já deixou aqui tudo determinado eu posso botar tag se eu quiser e tal não quero
vou deixar como tá E aí eu vou criar essa hole e aí terminando aqui ó ele criou essa hole que vai ser utilizada pro cluster tá aqui ó Eks cluster Beleza agora eu preciso criar a Hole que vai ser vinculada aos meus work noes as minhas máquinas S2 que vão fazer parte do cluster kubernetes então eu vou vir aqui de novo Create hole mesma coisa aws service só que aqui o US Case é outro é diferente eu não vou trabalhar com Eks eu vou trabalhar aqui eu vou vincular essa role em S2 certo e aí
aqui no caso eu vou botar que eu vou trabalhar com S2 mesmo e vou avançar como esse tipo de serviço ele é mais genérico ele não é tão específico quanto o ks cluster eu preciso definir aqui as polies Então são três polies que eu vou definir aqui a primeira vai ser o Amazon Eks worker node policy esse primeiro aqui esse segundo aqui certo para poder trabalhar com os work Notes do Eks o segundo vai ser o Amazon Eks cn Police para poder trabalhar com o CNI com o container Network interface da do Eks e o
terceiro é o Amazon Opa Amazon e E2 container registry read only esse cara aqui eu poderia até nem colocar porque ele entra para poder trabalhar com o container rister aqui da aws Mas de qualquer forma e a documentação sempre sugere colocar Beleza eu vou trabalhar dessa forma Então são esses três aqui eu vou dar um next beleza e aí ele vai pedir para eu colocar aqui o nome no caso Eks eh o worker certo ele vai botar aqui a descrição beleza e aqui embaixo aparecem as permissões né as polies poderia colocar aqui tag também também
não vou E aí eu vou executar aqui o Create hole Ok ó lá e criou aqui a role Se eu olhar aqui agora Eks cluster e Eks worker Então as duas roles aqui que eu tinha que criar eu já fiz o próximo passo é criar a rede toda a estrutura de rede que eu vou utilizar pro meu cluster kubernetes eu não vou entrar aqui em detalhe de criação de rede porque a rede para trabalhar com o Eks ela é muito complexa então para facilitar a gente aqui na nossa aula eu vou utilizar uma estrutura de
rede já pronta eu vou montar aqui uma infraestrutura utilizando um template E aí para isso eu vou utilizar aqui um outro serviço da WS que é o cloud formation Onde eu consigo criar utilizando do código emo a minha estrutura de rede E aí eu vou disponibilizar para vocês aqui o Emo E aí você vai poder criar igualzinho eu vou est fazendo aqui e aí você vai ter a estrutura base de rede para rodar o Eks então para isso eu vou vir aqui na busca de serviços e vou procurar aqui ó Cloud formation certo tá aqui
ó então entro aqui nele e como eu disse o cloud formation ele é o serviço de infraestrutura como o código da WS você consegue pegar um código declarado em formato emo para criar qualquer serviço qualquer infraestrutura aqui na aws Então a gente vai criar aqui uma stack que é o conjunto de elementos de serviço E aí vamos seguir aqui todo o passo a passo ele vai perguntar se eu quero eh criar a infraestrutura ou se eu vou utilizar template no caso aqui eu vou utilizar um template e pergunta aqui se eu vou utilizar um template
de S3 de alguma URL da S3 se a gente vai fazer o upload aqui do arquivo ou se eu vou pegar de um repositório Git Lembrando aqui ó inclusive ó ele mostra que o template ele é baseado em arquivo Emo ou json né no caso mais comum que eu vejo é utilizar emo no caso a gente vai utilizar aqui S3 porque é um template que a própria WS já fornece então então eu vou pegar aqui essa URL o endereço que vai est lá no repositório do projeto do nosso projeto aqui do evento vai tá aí
embaixo na aula três só você pegar aí no ridm E aí beleza esse URL aqui eu vou dar um next E aí ele vai já começar a ler aqui as informações e vai falar cara dá um nome para essa stack no caso aqui eu vou botar tá aula Eks já tá já até preencheu aqui então ok botei aqui a minha stack aqui são os parâmetros que eu posso alterar né se eu quiser ou não ele cria aqui duas redes públicas duas redes privadas e tá tudo certo eu não vou entrar aqui em detalhes Então beleza
é isso aqui que eu quero dou um next aí pergunta se eu quero adicionar tag se eu quero adicionar permissão no caso aqui não quero eh eu não vou alterar mais nada vou vir aqui para baixo e vou executar aqui o Next de novo ele vai botar aqui todas as informações para eu revisar É isso mesmo que eu quero né Beleza É isso mesmo e aí eu posso fazer aqui o submit E aí ele vai começar a fazer todo o processo aqui de criação esse processo demora um pouquinho então eu vou cortar aqui esse momento
e a gente volta quando já tiver tudo criado pronto aqui ó ele terminou de criar toda a stack todos os elementos de rede ele mostra aqui todos os eventos de criação né e tudo mais mas vamos dar uma conferida vamos ver aqui tudo criado se a gente vir aqui então em vpc que é o serviço de gerenciamento de redes da WS aqui ó eu consigo ver que eu tenho três vpcs criadas E aí eu posso vir aqui e ver ó a minha rede criada aqui ó aula Eks vpc tem até aqui do devops pro provavelmente
alguma rede que eu deixei aqui na gravação de alguma uma aula o workshop e ficou aqui mas tudo bem Depois eu removo então aqui eu tenho a vpc que eu criei aqui para criar o cluster kubernetes então agora o próximo passo é criar o nosso cluster kubernetes E aí nós vamos utilizar aqui o Eks o elastic kubernet service o serviço gerenciado de kubernet daws um ponto importante aqui o Eks aí não tá na camada gratuita da aws Então significa que você vai ser cobrado você vai ser cobrado em relação à criação do cluster kubernetes mas
se você criar aqui nesse momento e depois deletar depois que você começar a estudar não vai ter problema você vai ter aí uma cobrança mínima você vê que nas aulas aqui eu mostrei os valores que eu utilizo né você viu ali quando eu entrei O valor é bem tranquilo até porque isso é cobrado E conforme você vai utilizando se você deixar o mês inteiro você vai ser cobrado ali se vai ser cobrado mês completo Se você utilizar ali por algumas horas você vai ser cobrado ali só por essas horas então relaxa é só você seguir
aqui o passo a passo deletar depois que tá tudo certo então agora vamos lá criar aqui o Eks para isso eu vou vir aqui na busca de serviço vou botar Eks ó elastic kubernet service então eu vou entrar aqui para ele criar eh para entrar no painel de criação e importante ver se você tá no norte da Virgínia E aí para criar aqui o cluster eu venho aqui em Create cluster E aí vai abrir aqui todo o passo a passo de criação um ponto importante eu tenho aqui duas opções para criar o cluster kubernetes eu
posso botar aqui uma configuração rápida utilizando o Eks autom mode que é um recurso da WS que facilita aí ainda mais a gestão do cluster kubernetes e aqui eu tenho o Custom configuration onde eu posso e criar aqui o meu cluster kubernetes passo a passo sem utilizar o automode no caso aqui eu vou botar Custom configuration e vou desabilitar aqui o automode eu não quero essa facilidade que a aws dá pra gente nesse momento eu quero que você veja a criação do modo mais complexo vamos dizer assim nesse momento Então vou botar aqui o Eks
automode beleza e aí eu vou colocar aqui o nome do meu cluster Vou botar aqui aula Eks certo e Opa aula Eks certo E aí beleza agora criei aqui a configuração eu preciso especificar qual role que eu vou utilizar lembra que eu criei uma holler lá para gerenciamento do cluster kubernetes então eu vou selecionar ela aqui ó você vê que ele identifica Quais são as roles que podem ser utilizadas no caso aqui eu vou utilizar o Eks cluster que foi a que eu criei e eu vou definir aqui a versão do cluster kubernetes E aí
dependendo do momento que você tá vendo aí e o vídeo vai ter aqui mais versões menos versões as versões podem ser um pouco diferentes mas vou colocar aqui a 1.31 e aqui no caso eu vou deixar configuração padrão e aqui eu não vou mexer e cluster access é importante deixar aqui ó a l o cluster administrator Access pra gente conseguir acessar com o nosso usuário aqui eh aqui no caso vou deixar a configuração como tá também não vou habilitar é o uso de Secrets para encriptação vou deixar aqui dessa forma também E aí eu vou
vir aqui e vou dar um next ponto importante agora é a parte de configuração de rede se você perceber aqui ele vai direto na rede padrão na rede default eu não vou utilizar aqui a rede default eu vou vir aqui e vou usar a aula Eks vpc que foi a que a gente criou então seleciono aqui ele vai pedir para eu selecionar as subnet as subredes vou selecionar aqui todas que fazem parte aqui dessa vpc vou adicionar aqui o Security group que foi gerado aqui também ó aula Eks certo e vou deixar aqui pv4 beleza
aqui é um ponto também muito importante ó o cluster endp Access O que que significa isso aqui é como eu vou fazer para acessar o meu Cub api server o meu endp onde Eu me comunico com o kubernet eu posso me comunicar de forma privada onde eu só vou conseguir acessar se eu tiver na rede daws Se eu tiver fora não consigo acessar eu posso colocar aqui de rede pública e posso botar aqui um mix que que rola em cada um desses casos aqui se eu botar privado eu não vou conseguir acessar externamente E aí
a gente não vai conseguir fazer aqui da forma que eu quero te mostrar onde a gente vai acessar remotamente da nossa máquina o cluster kubernet então o Privado não rola se eu botar aqui público o que que vai acontecer toda vez que os meus work noes quiserem se comunicar com cluster kubernetes eles vão ter que sair da rede daws e acessar via internet o IPI server puts não faz muito sentido né Eh acaba que eu tô saindo da rede para poder acessar algo que tá na na mesma rede que eu então não faz muito sentido
também deixar só público Então vamos deixar o mix aqui de público e privado fechou que aí dessa forma os work noes vão conseguir se comunicar e eu vou conseguir acessar remotamente aqui o cluster kubernetes fechado beleza show de bola vou avançar aqui não vou habilitar métricas vou deixar aqui sem log também vida louca Não façam isso em produção mas aqui a gente tá estudando beleza vamos deixar dessa forma pra gente economizar aqui com o valor da criação do cluster e dos outros serviços dou aqui um next e aqui são os zons os plugins que eu
vou adicionar aqui no meu cluster kubernetes então eu vou botar o vpc CNI Core DNS Cub proxy todos esses caras que estão aqui marcados por padrão ah Fabrício pô esses outros zons e tal cara tem um a gente poderia ficar aqui um dia inteiro só falando sobre cada um deles então aqui instalação padrão o objetivo aqui é mostrar para você a forma básica de instalação não vamos instalar aqui mais nada vou dar um next aqui eh ele vai pedir para configurar cada um dos zons botar aqui versão e tudo mais vou deixar aqui tudo padrão
next aqui é para fazer o review de criação revisar aqui toda a criação do meu cluster tudo que eu tô definindo agora tá tudo certo eu vou vir aqui e vou criar E aí ele vai começar a criar aqui o cluster kubernetes esse processo ele também demora leva em torno aí de 10 15 minutos para criar esse cluster kubernetes então eu vou cortar aqui vou voltar quando já tiver tudo criado você vai lá bebe uma água agora Toma um café e aí a gente volta pronto aqui ó ele já criou o cluster kubernetes tá aqui
ó como ativo Então agora eu já posso começar a acessar aqui aqui o meu cluster kubernetes Mas putz como é que eu vou fazer para configurar aqui o cluster kubernetes e executar aqui o meu Cub CTL get noes criar aqui os meus componentes para configurar o cluster kubernetes do Eks na sua máquina você precisa fazer isso via linha de comando então aqui a gente vai usar o aws c a ferramenta de linha de comando da aws então próximo passo é instalar o aws cli então para isso é só você vir aqui ó aws cli aqui
no caso tá install Windows Mas procura aqui no Google ó é instalação do aws C deixa eu fechar isso aqui e aí ele vai mostrar aqui a documentação com todo o passo a passo para fazer a instalação você pode instalar o aws s nos principais sistemas operacionais ó Linux Mac Windows Sem problema nenhum aqui no caso tem instalação do Linux tem aqui a instalação também deixa eu vir aqui aqui em cima tem a instalação aqui ó com o Mac e tem a instalação com o Windows Então você vai ver qual sistema operacional você tá usando
e vai fazer a instalação se você tiver utilizando o Windows com wsl que nem eu tô fazendo aqui você vai fazer instalação com o Linux porque você tá utilizando o Linux Aí você vem aqui Linux e faz aqui o passo a passo são três comandinho que você vai lá e consegue fazer sem problemas eu no caso aqui eu já tenho ó aws e aí beleza lá eu já tenho o aws s instalado mas depois que eu instalo eu tenho também que autenticar eu tenho que fazer o processo de autenticação do aws sli com a minha
conta da aws pra ferramenta de linha de comando saber que eu sou eu e autenticar lá na minha conta para isso eu vou fazer aqui a criação de um Token para poder fazer a configuração E aí para fazer essa configuração eu tenho que voltar lá no iam no identity and access Manager aí eu vou lá no meu usuário no usuário que eu tô utilizando que no caso aqui é o aula e aí eu vou vir aqui ó em Security credentials para criar esse Token criar essas chaves para poder fazer a configuração eu tenho aqui várias
Chaves que eu posso criar certo várias credenciais no caso aqui eu vou criar um access Key Certo clico aqui em access Key no caso eu vou utilizar aqui paraa linha de comando mesmo então beleza Eh eu marco aqui que eu entendo as recomendações e tudo mais dou um next E aí aqui eu vou colocar eh o nome dessa minha chave no caso aqui eu vou botar ci aí você pode botar wsl ci desktop notebook tanto faz e aí você vem aqui e cria essa chave ele vai mostrar aqui ó dois par de Chaves o access
Key e o Secret access Key não deixa vazar essa chave essa chave aqui é importante você utilizar beleza mas manter ela armazenada de forma segura até porque também depois que você D um done aqui ele não vai aparecer mais eu tô mostrando aqui porque depois eu vou deletar esse usuário vou deletar essa credencial e tá tudo certo mas você não faça isso por favor com essas duas Chaves a gente consegue configurar aqui o c então eu vou vir aqui ó aws configure para configurar E aí vai pedir aqui ó meu access Key no caso eu
vou copiar aqui o access Key vou opa vou colar aqui beleza e aí agora eu pego o Secret o Secret access Key e vou colar aqui também ele vai pedir também e a minha região padrão Aí eu tô botando aqui aí já tá aqui o s East 1 porque a norte da Virgínia Mas você pode botar aqui também ó o s East é um E aí beleza aqui o formato você pode deixar assim mesmo e aí a gente já tá com tudo configurado agora para pegar a credencial aqui para ir configurar o meu Cub config
o meu Cub CTL para poder acessar o cluster kubernetes eu vou vir aqui e vou executar o comando ó aws Eks update cube config E aí eu passo aqui o nome e do meu do meu cluster do lá do meu cluster que eu criei com Eks no caso vamos voltar lá que eu já nem lembro mais Eks vamos ver aqui direit aula Eks certo e aí feito isso que que eu vou fazer agora eu vou vir aqui vou pegar o nome e aí vou colar aqui beleza executo vamos ver o que que vai acontecer Ó
lá ele configurou então agora se eu executar aqui ó Cub C get noes Olha lá vamos ver o que que vai acontecer o Opa Ele criou o cluster kubernetes você vê que a gente tá se comunicando com alguma coisa mas ele mostra aqui ó cara não tem nenhum resarce não tem nenhum recurso por qu eu criei o cluster kubernetes eu criei ali o meu control plane eu criei o meu cluster mas eu não tenho worker node eu não tenho nada aqui para criar e os meus Pods criar aqui tudo que é necessário para rodar as
minhas aplicações então falta eu adicionar aqui nesse cluster eh os work noes colocar aqui as máquinas que vão Executar a minha aplicação então para isso eu vou vir aqui ó em compute certo e agora eu vou fazer o seguinte eu vou adicionar aqui um node group um grupo de nós eu posso trabalhar aqui com node groups que vão ser aí o as o grupo de máquinas que vão vão executar eh as minhas aplicações eu posso trabalhar com server esse aqui utilizando fargate no caso a gente vai trabalhar aqui com node groups então eu vou adicionar
aqui o node group e o que que vai ser esse node group o node group ele é um grupo de nós ele é um ele define ali um perfil computacional que eu vou utilizar dentro do meu cluster kubernetes a gente também pode chamar de node Pool é utilizado também esse termo mas o node group nada mais é do que o perfil computacional que eu vou utilizar no meu cluster kubernetes eu posso ter mais de um dependendo dali do perfil que eu vou trabalhar eu posso colocar vários node groups eu posso colocar um de aplicações um
de sistemas e por aí vai então aqui no caso só vamos trabalhar com um então eu vou botar aqui o default certo eh aqui em seguida eu tenho que colocar a rle que vai ser incluída ali nos meus worker noes e aí o que que eu vou fazer vou utilizar o Eks worker que foi o que a gente criou aí antes então beleza não vou utilizar aqui nenhum template aqui eu também não vou adicionar nada vou dar um next E aí ele vai mostrar aqui o perfil computacional no caso eu vou utilizar o Amazon Linux
como sistema operacional Vou botar aqui como ondemand poderia colocar aqui instâncias Spot também mas eu não vou fazer isso e aqui eu vou escolher a Instância eh se você reparar tem aqui e a o a máquina o tipo de Instância T3 medium é eu poderia colocar outras aqui como por exemplo ó O T2 P micro certo e poderia colocar aqui outra outros perfis mas pro que a gente vai fazer aqui o T3 medium vai atender de boa ponto importante isso aqui essa máquina também vai ser cobrada na criação ali do seu cluster kubernetes vai ser
cobrado o gerenciamento do cluster e também aqui eh essa máquina então é importante depois deletar se você criar aqui eh o teu ambiente criar ali tudo certinho e depois deletar você não vai ter problema nenhum então aqui T3 medium tá tudo certo legal agora em seguida que que eu vou fazer eu vou colocar aqui as regras de escalabilidade nesse perfil ou seja quanto que esse node group aqui ele pode escalar em relação a número de máquinas porque aqui eu botei o perfil computacional n Qual é o setup de máquina desse node group agora aqui eu
vou definir a quantidade e aí eu defino o desired state o a quantidade que eu desejo é o mínimo que eu quero aqui no meu cluster e aqui o máximo Então eu posso colocar aqui um máximo de seis e aí quando ele tiver que escalar e vai chegar no máximo a seis posso colocar aqui um mínimo quando ele tiver fazendo o processo de atualização e vai garantir ali pelo menos nos dois e eu vou botar aqui o desired que é o que ele vai tentar sempre manter aqui no caso Vamos botar dois em tudo pra
gente não ter nenhuma surpresa de escalar demais e nada disso então aqui eu vou deixar dessa forma eh o update configuration caso eu vá fazer um processo de atualização para deixar ali um a quantidade indisponível eu vou deixar aqui um só porque também não vai fazer diferença pra gente e a gente vai fazer aqui só um laboratório e aqui eu vou deixar aqui o auto repair desmarcado dou um next E aí aqui é um ponto importante aí vai perguntar em quais eh subredes que eu vou colocar as minhas sc2 aqui nesse ambiente não vai fazer
tanta diferença porque é um laboratório é uma aula e a gente não vai colocar isso aqui em produção Mas é uma boa prática você colocar as suas máquinas S2 só em subnets privadas porque público tá exposto à internet eu não quero isso porque eu quero garantir segurança não vou colocar em em ambiente público Então posso vir aqui ó colocar só em privado de novo aqui no caso não vai fazer diferença porque é o laboratório a gente não tá tão preocupado assim em segurança mas é uma boa prática fazer dessa forma vem aqui next agora eh
tem aqui tudo para eu revisar eu venho aqui agora e faço o Create E aí vai criar aqui todo o meu processo né vai criar Tod as minhas máquinas aqui no caso duas esse processo também demora né levo aqui alguns minutos levo aqui CCO a 10 minutos então eu vou cortar aqui de novo e volto quando tiver tudo criado Você bebe uma água aí toma um café e a gente já volta show de bola aqui ó ele já terminou tá aqui Como ativo e aí agora se eu vir aqui ó se eu voltar aqui no
aula Eks aqui em compute eu vou ter aqui ó o no group que eu criei E aqui as duas máquinas que vão est rodando e agora se eu ver aqui Cub CTL get noes tá lá as minhas duas máquinas rodando então agora a gente já tem aqui o cluster criado com o Eks é só trabalhar agora na aplicação então agora vamos lá criar aqui o Deploy da nossa aplicação do nosso e-commerce dentro desse cluster cnet codando no Eks primeiro ponto aqui primeiro passo é pegar o nosso projeto projeto de e-commerce já que a gente antes
trabalhou com alguns outros projetos mais de exemplo exemplos menores certo então aqui eu tenho o repositório do e-commerce o nosso fake Shop o projeto que a gente vai utilizar aqui e No resto da semana esse repositório aí tá aqui na conta do CUB deev ele vai tá aí no ridm do repositório aqui da nossa semana é só você ir lá em aula três e conferir eu no caso aqui já tenho o código desse projeto aqui ó eu vou abrir o vs code e vou mostrar para você ele é um projeto aqui ó desenvolvido em Python
utilizando basicamente a mesma tecnologia do que a gente utilizou antes eu tô utilizando aqui ó eh o flesk eu ISO aqui o g unicorni também para executar Cadê ele aqui ó tá aqui ó g unicórnio e tudo mais é é claro que tem muito mais coisa aqui eu tenho e o modelo de dados eu tenho aqui a entidade utilizando o SQL alkimi a gente tá utilizando aqui um banco de dados post greis junto pra aplicação é um requisito para rodar a aplicação ter o banco de dados post gre então é óbvio que é uma aplicação
muito maior mas basicamente é uma aplicação em Python utilizando flesk utilizando g unicorni e tudo certo bom legal então agora o que que eu vou ter que fazer aqui eu vou ter que criar a imagem dessa aplicação eu já tenho aqui o dockerfile o dockerfile tá junto aí do repositório Se você olhar ele tem aqui algumas pequenas alterações apenas mas eu tenho aqui o requirements do expose utilizando a imagem do Python como base eu só altero aqui o entry Point que eu crio aqui um arquivo Shell para fazer o start do contêiner e aqui no
caso eu preciso disso para poder executar aqui a migration do banco de dados e executar aqui depois o g unicórnio Ou seja eu crio as tabelas tudo certo no banco de dados e depois executo a aplicação então por isso que eu tenho essa essa alteração aqui no Dock E tem também aqui o suporte ao Prometeus no flesk certo então pequenos ajustes mas de resto muito parecido vai tá aí no repositório não precisa se preocupar com isso então agora antes da gente começar a criar aqui O Manifesto da aplicação e tudo mais eu vou criar a
imagem dessa aplicação E aí para isso eu vou utilizar o comando docker build certo menos t para para especificar aqui o nome que vai ser Fabrício Veronez barra fake Shop versão aqui v1 certo e aqui eu vou passar aqui o parâmetro P para is subir já para enviar a imagem junto e vou passar aqui o contexto eu não preciso botar o docker file porque ele utiliza aqui já o padrão que é o nome do arquivo Dock file no diretório corrente e aí eu posso subir aqui é para destruir no caso deu erro por quê Porque
eu tô no diretório aqui do projeto eu tenho que est aqui no src não tô mas tudo bem src executo de novo ele vai fazer aqui o processo de construção agora demora um pouquinho o processo quee tá pegando aqui a imagem eu vou cortar e botar aqui no final pra gente continuar pronto aqui ó ele terminou de subir aqui a imagem e vamos dar uma conferida ver se tá tudo certo se a imagem subiu lá pra minha conta do Dock Hub eu vou puxar aqui pra minha conta e tá lá ó aqui ó eu tenho
o Fake Shop inclusive ele mostra aqui ó versão 1 há mais ou menos 11 minutos atrás aqui que eu cortei o vídeo Beleza então agora eu já tenho certo a minha imagem criada Agora eu preciso fazer o Deploy da minha aplicação no kubernet e para isso eu vou utilizar o Manifesto o arquivo eemo com toda a especificação do que eu quero criar lá no kubernetes Então vamos entender o que eu preciso executar lá no kubernet para botar o meu e-commerce no a o meu e-commerce ele é uma aplicação web que tem o banco de dados
postgree então eu tenho aqui dois elementos que eu preciso ter em execução eu preciso ter o banco de dados postgree e preciso ter ali a aplicação web minha aplicação desenvolvida em Python Então na verdade eu não vou fazer um deployment que foi o que eu fiz no primeiro vídeo de kubernetes eu vou ter que fazer dois porque eu vou ter que fazer o Deploy do banco de dados e o Deploy da aplicação e também dois Services porque eu preciso expor o pod do banco de dados e a aplicação web sendo que a aplicação web eu
vou expor pro mundo externo aqui porque eu vou acessar fora do cluster kubernetes Então vamos lá vamos voltar aqui pra nossa tela e eu vou abrir aqui o vs code vamos lá para poder começar a criar aqui o nosso Manifesto aqui eu tenho o meu projeto né com diretório src com todo o código então eu vou fazer o seguinte como eu tenho que criar um arquivo yemo para o meu pros meus manifestos eu vou criar mais um diretório aqui k8s e dentro Vou colocar aqui deployment pemo e aí a gente vai ter aqui e o
arquivo para colocar todo o Manifesto como eu disse eu vou ter que ter dois deployments então eu vou começar pelo banco de dados pelo post gre Então vamos lá vamos começar aqui vou botar aqui o Api version né E aí vou botar o APPS Vou colocar aqui o kind deployment certo met datata met datata Vou colocar aqui o nome né da aplicação que no caso vai ser o post gre e você pode estar até pensando ah pô Fabrício mas eu preciso subir no kubernet não posso botar ali um serviço de banco de dados um RDS
ou enfim um banco de dados fora pode não tem problema nenhum mas aqui a gente vai trabalhar com banco de dados dentro do cluster kubernetes e aqui eu não vou precisar colocar nenhuma Label e eu vou definir aqui o meu spec a especificação do meu deployment E aí eu vou colocar o selector que eu vou utilizar para selecionar os meus Pods que no caso aqui vai ser um só eu só vou trabalhar com uma réplica do banco de dados e aqui eu vou definir o match Label como app post gre lembrando esse cara aqui ele
tem que ser igualzinho a Label que eu vou declarar no meu pod no template do meu pod declarei aqui agora eu vou colocar aqui o meu template certo para poder declarar aqui a estrutura do meu pod E aí vou botar aqui o meta data de novo certo definir aqui as labels como app post gree Ok vou definir aqui o spec com a especificação e dos contêiners que eu vou ter no meu pod que no caso aqui vai ser só um contêiner eu não vou ter mais de um eu tenho que definir o nome aqui do
meu contêiner que no caso vou botar como post gree e a imagem que eu vou utilizar como é que eu sei qual imagem que eu vou utilizar eu posso pegar no Doc Hub então eu volto aqui pro dockerhub e eu vou abrir aqui uma nova aba e vou procurar aqui vou procurar aqui ó postgre S E aí eu vou ver a imagem oficial do post gre a imagem oficial com o post gre para ser executado com tudo que é necessário para rodar o post gre então beleza vou utilizar essa imagem né post gre s no
final e vou colocar aqui é a tag a versão que eu vou utilizar vai ser a 13.16 é importante colocar aqui a tag para garantir a idempotência o comportamento esperado da minha aplicação preciso trabalhar com a versão correta e Vou definir aqui o ports certo que eu vou utilizar Opa o ports que vai ser aqui a porta 5432 que é a porta do post gre acabou não que que acontece como eu tô trabalhando com um banco de dados eu preciso fazer as configurações do banco colocar o usuário Qual o Database que eu vou utilizar senha
do usuário para poder acessar e tudo mais e para fazer essas configurações no contêiner eu preciso trabalhar com variáveis de ambiente e aí eu preciso declarar essas variáveis aqui no meu Manifesto também E aí para isso eu vou utilizar aqui o env certo onde eu vou colocar aqui o elemento name que vai ser o nome da variável de ambiente e eu coloco aqui o value que vai ser o valor então eu preciso colocar o nome da variável e o valor aqui no caso eu tenho aqui na documentação do postgre aqui o nome e o valor
das variáveis ou melhor tem o nome da variável e o valor vou colocar o que eu quiser então aqui ó eu tenho post G password tenho post user é e o post gre DB são três que eu vou colocar Então já posso pegar aqui ó e fazer dessa forma botando aqui ó name value dessa forma aqui tudo certo então eu boto aqui ó e post gre DB certo aqui ok post gre user beleza tá aqui também e aqui o postgre password certo dessa forma aqui também e aí eu vou colocar aqui o DB eu vou
botar fake é fake Shop certo o user eu vou botar fake Shop também e o password eu vou botar aqui pg1 2 3 4 certo simples assim eh acabou aqui o post gree acabou eu posso já criar aqui o meu deployment mas eu vou fazer o seguinte eu já vou declarar aqui o meu Service então eu boto aqui os três traços para separar aqui é o meu elemento que eu vou criar e Vou definir aqui o Api version de novo api version no caso aqui vai ser v1 kind Vou colocar aqui o service e metadata
eu vou botar aqui o name postgre também e vou botar aqui a especificação com spec e utilizar aqui o selector certo e o no caso aqui a seleção o selector vai ser o app postgre Vou colocar aqui embaixo e aí depois eu vou colocar aqui o ports né declaração das portas certo e vou colocar aqui a porta como a 5432 e o target port 5432 também E aí dessa forma eu consigo eh criar aqui os meus elementos de novo essa esse amarelo aqui é em relação ao resarce limit eu não vou utilizar esse conceito aqui
eu posso agora executar aqui ó Cub CTL apply - f k8s e deployment aplico aqui ele vai criar os objetos para mim se tiver tudo certo ó funcionou né Acredito que esteja tudo certo então executo aqui cubc get pod a princípio lá tudo rodando e Cub CTL get All eu tenho aqui agora ó lá tudo em execução lá tem o meu pod tem o post gre tem aqui o deployment e tenho o replica set Então agora eu já consegui fazer o Deploy do post gre preciso fazer agora o Deploy da minha aplicação web então eu
vou ter que pegar essa mesma estrutura aqui e replicar agora pra aplicação web para facilitar né eu não vou digitar tudo isso aqui de novo eu vou copiar aqui esse conteúdo certo vou colocar aqui e vou colar e a gente vai alterando certo vou até colocar aqui ó deployment da aplicação web E aí eu boto aqui em cima deployment do postgree aqui do banco de dados certo E aí vamos lá eh primeira coisa vou mudar aqui o nome no caso aqui eu vou botar eh fake Shop aqui no caso eu vou aproveitar e vou botar
o app aqui também ó o app fake Shop fake Shop Vou colocar aqui o nome também do coner fake Shop aqui na imagem eu vou alterar vou botar Fabrício Veronez barra fake Shop Opa fake traços Shop e aqui v1 dessa forma e o container port vai ser a porta 5000 certo e agora eu também preciso alterar aqui e os as variáveis de ambiente que eu também tem variáveis de ambiente aqui no na aplicação Então deixa eu só remover esses aqui pra gente colocar certinho e no caso aqui eu tenho seis variáveis de ambiente então eu
vou colocar aqui vai tá aqui no ridm certo eu vou atualizar aqui o ridm com esse com essas variáveis de ambiente Vou colocar aqui os nomes eh default para poder utilizar relaxa e mas eu preciso ter aqui eu posso até pegar aqui no código ó eu posso pegar aqui ó aqui embaixo ó eu tenho alguns já ó eu tenho o DB host que é o endereço do banco de dados onde o endereço para acessar o banco de dados que no caso eu vou utilizar aqui o nome do Service que aí ele vai conseguir resolver aqui
o endereço aí vai acessar o service e vai acessar o banco de dados então boto aqui eh e eu tenho aqui o user que eu vou colocar aqui e no caso vai ser o que eu botei aqui em cima que no caso ó fake Shop Ah vamos lá vamos descer aqui eu tenho também e aqui o DB password deixa eu já colocar aqui tudo o DB password eu tenho aqui o DB e name e eu tenho aqui o DB port que no caso nem preciso colocar né porque ele já pega aqui o default 5432 que
eu e já tô utilizando Então esse aqui eu posso tirar Vou deixar só o DB name e o DB password que no caso eu vou usar aqui o PG é 1 2 34 que vai ser o meu password Cadê tá aqui ó aqui o password o name vai ser fake Shop também e aqui eu vou colocar e uma configuração do do Flash para apontar Qual é o arquivo default da minha aplicação que é o index.py Beleza então definido aqui e o contêiner port já tá aqui como 5000 minha aplicação já tá declarada corretamente agora eu
vou mudar aqui o service eu vou pegar aqui o nome fake Shop vou mudar aqui e agora e aqui a porta o target por não vai ser esse vai ser 5000 é a porta vai ser a porta 80 Ok e aqui eu só vou adicionar o tipo de service que eu vou usar que no caso aqui eu coloco o Type como load balancer E aí eu já consigo eh configurar aqui para ser acessível externamente por quê Porque como eu tô no ambiente de cloud e o Eks ele vai pegar na aws um IP para eu
poder acessar externamente então eu agora posso voltar aqui e executar Cub apply Men F Opa k8s deployment executo aqui lá ele vai ver que não teve atualização aqui no post mas criou aqui a minha aplicação se eu executar aqui agora Cub C get ele vai ter ali ele tá criando ali tá criando o meu contêiner e deixa eu só conferir aqui deixa eu abrir aqui novamente se tá certinho o nome é fake Shop mesmo deixa eu voltar aqui ele provavelmente já vai tá ah lá já vai est executando para eu poder acessar a aplicação eu
venho aqui Cub CTL get service certo e aí eu vou ter aqui ó lá ó o endereço para acessar a minha aplicação no caso aí não me dá o IP externo né já me dá um domínio para eu poder acessar então eu copio aqui esse domínio Que aws Me fornece E aí com ele eu consigo rodar a minha aplicação no caso aqui ele tá registrando ainda o DNS demora um pouquinho dá só vou dar um tempinho aqui para ele registrar E aí vou mostrar para você aqui ó beleza ó nossa aplicação funcionando a gente primeira
vez que você tá olhando aí o nosso e-commerce a ideia aqui é simular uma loja para quem cria conteúdo na internet né botando aqui fake Shop botando aqui algumas coisas que ajudam né com alguns valores também e que eu peguei né simulando aí o nosso e-commerce E aí você pode vir aqui adicionar no carrinho e fechar aqui o pedido você pode testar aí a aplicação mas a gente Agora conseguiu fazer o Deploy da aplicação Mas vamos fazer aqui algumas coisas e ver como vai se comportar aqui ó primeira coisa se eu olhar aqui né Se
eu vir aqui agora ó e acessar Beleza tô conseguindo acessar e tal agora vamos fazer um teste eu vou vir aqui ó e vou executar Cub CTL get pod ou get po né que é o short name e eu vou deletar aqui eh o a aplicação web e vou deletar aqui Cub CTL delite podde E aí eu vou deletar esse processo aqui enquanto ele tá deletando provavelmente a aplicação vai ficar um tempo aqui indisponível até que não ó tá vendo eu tô fazendo aqui a atualização e a aplicação ela não ficou indisponível por quê Porque
eu deletei mas rapidamente agora ele tá processando aqui ainda ó provavelmente vai fic indisponível por quê Porque como eu deletei eu tenho um tempo né para esse processo de exclusão e criar lá ficou indisponível para Ah lá ó vir um outro po e tomar o lugar do que eu deletei né o kubernetes ele dá essa resiliência mas e como eu só tenho uma réplica e eu deletei essa réplica Ten o tempo para ele criar aqui um outro pod eh no lugar aqui no caso puts não é deletar mas se eu vir aqui ó ele tem
outro aqui agora no lugar agora se eu alterar aqui o meu manifesto e aumentar o número de réplicas deixa eu pegar aqui ó aqui eu vou colocar e réplicas certo vou botar aqui como réplicas vou botar quatro vai quatro já vai me atender e eu vou aplicar aqui ó vou dar um apply E aí o que que vai acontecer ele vai alterar aqui a quantidade de réplicas se eu pegar aqui ó beleza né eu tenho aqui mais de uma réplica agora e se eu deletar qualquer um desses aqui não tem problema por eu tenho outros
Pods para receber essas requisições né que eu vou disparando então ó lá ó eu vou atualizando aqui ó lá tô dando refresh e não tem tem problema Caiu um pod outro vai ser criado no lugar mas eu tenho outras réplicas aqui para gerenciar isso para mim e a mesma coisa acontece se eu atualizar essa aplicação eu vou vir aqui ó e eu vou alterar aqui o template deixa eu pegar aqui o template que é o shared ah nave bar e aqui o Fake Shop Ó lá eu tenho aqui o Fake Shop eu vou botar V2
aqui só pra gente ver logo pum na cara aqui né eu vou botar um V2 e eu vou fazer o seguinte eu vou alterar aqui né eu vou na verdade executar aqui o docker Build para criar uma nova versão dessa imagem e Dock e deixa eu ver aqui ó Dock build - T deixa eu pegar aqui o nome é certinho para não ter problema aqui ó - T botar aqui o nome da imagem que no caso vai ser B2 botar aqui ó push Opa push passar aqui o contexto e subir essa imagem Ah deixa eu
ver ah botei - F é - T né faz certo que dá certo não os F é pro dockerfile - T beleza confunde né o apply do kubernetes e aqui né mas não tem problema - T ele vai e vai subir aqui a minha imagem Beleza vou ter uma segunda versão e dessa aplicação e agora eu vou fazer aqui o seguinte eu vou botar aqui o dois certo e vou atualizar aqui ó Club CTL apply Men F vou subir aqui e um nível diretório certo k8s deployment aplico E aí vai fazer aqui o processo de
atualização ó Cub CTL get pod tá lá ó terminando se eu vir aqui agora ah lá a minha Ah já até atualizou a minha aplicação ele vai atualizando ali aos poucos e garante que a aplicação não vai ter downtime e vai fazendo isso progressivamente então eu recomendo que você faça isso aí tá faz o Deploy altera o código sobe uma nova versão coloca para rodar faz aqui o refresh testa isso agora cara você acabou de fazer um Deploy de forma eficiente utilizando os melhores componentes né os componentes corretos do kubernetes para isso certo então pega
aqui exercita isso agora certo agora depois que você exercitou aí que você fez tudo eu quero mostrar para você Como você vai fazer para destruir o cluster kubernetes para você não ser cobrado e nem ser cobrada em relação a isso então vamos lá então agora vamos fazer todo o passo a passo aqui necessário para você eliminar tudo da sua conta da WS seu CR kubernet sua rede para você não ter nenhuma cobrança primeira coisa que eu vou fazer aqui eu vou deletar tudo que eu fiz aqui no kubernetes então Cub CTL delete Men F k8s
deployment vem aqui ele vai deletar al o post Grill fake Shop o service o deployment tá tudo certo beleza deixa terminar aqui vamos ver deixa eu matar aqui deixa eu executar aqui agora Cub CTL get All executo vamos ver o que que tem aqui ó lá já tá terminando aqui tudo beleza e vai eliminar aqui também o meu load balance deixa eu executar aqui de novo para garantir vamos ver aqui ó beleza lá já deletou o serviço no get All vamos lá beleza agora não tem mais nada então agora depois que Eu deleto tudo eu
vou vir aqui no cluster kubernetes e eu vou fazer o seguinte se eu tentar deletar aqui agora ele não vai deletar por vai falar olha tem máquina aí rodando então primeiro eu tenho que deletar aqui o meu node group então eu vou vir aqui no node group e vou deletar para ele matar ali as máquinas eu vou botar aqui o nome né do node group delete beleza ele vai aqui fazer a exclusão esse processo demora um pouquinho ele vai deletar aqui tudo quando ele deletar tudo a gente volta PR excluir o resto aqui ó ele
terminou de deletar aqui o node group então não tenho mais aqui nenhuma máquina rodando então a cobrança em cima das máquinas virtuais já não vai rar Então agora eu vou deletar aqui o cluster kubernetes vem aqui ó na tela principal do meu cluster Ls e vou deletar ele aqui aula Eks colo e eu vou excluir ele aqui ele vai fazer aqui o processo de exclusão ó se eu atualizar aqui ó agora o status está em delete então aqui eu também vou ter que esperar um processo aqui esse processo de exclusão terminando a gente volta pronto
aqui ó eu atualizei aqui o aula Eks E aí você vê que ele já não achou se eu vir aqui em clusters aí tá zerado então eu Já deletei aqui também o cluster kubernetes Então agora falta deletar a minha stack de rede E aí é mais fácil ainda por eu tô utilizando o cloud formation então eu venho aqui Cloud formation beleza e aí tem aqui a minha stack de rede eu venho aqui e dou delete E aí ele vai fazer aqui todo o processo de exclusão se eu atualizar beleza e tá aqui ó processo de
exclusão você pode acompanhar E aí tem terminando aqui essa exclusão já vai est tudo eliminado tudo vai est limpo e você não vai ter nenhuma cobrança em relação ao que a gente fez hoje Top né então fechamos aqui mais um passo da nossa solução como eu falei antes existem vários Cloud providers do mercado com destaque pra aws e gcp só que aws é sem dúvida o cloud provider mais utilizado pelas empresas e é bastante recomendado que você Invista o seu tempo para aprender os principais recursos e possibilidades que essa ferramenta oferece para que as nossas
aplicações perform da melhor maneira e para você colocar os seus conhecimentos de hoje em prática eu liberei o segundo desafio aí da semana assim que você acabar aqui não deixa de fazer e enviar pra gente conferir certo mas agora deixa eu te falar uma coisa de nada adianta construir a melhor aplicação otimizar da melhor forma o ambiente se você não sabe entregar essa aplicação de forma eficiente certo então na próxima aula nós vamos entrar em uma parte crucial da cultura devops que é a automação dos processos É nesse ponto que toda mágica vai acontecer porque
nós vamos montar uma pipeline irada de CCD ou seja nós vamos fazer a integração contínua e a entrega contínua da aplicação utilizando o github ac Então chegou a hora de você se livrar de um dos maiores tormentos no processo de criação de um software que é o medo do Deploy na próxima aula eu vou te mostrar como integrar e entregar a sua aplicação a usuário de forma eficiente contínua e automática diminuindo absurdamente as falhas humanas o retrabalho e o risco da aplicação quebrar depois do Deploy É sério cara não per essa aula porque ela certamente
vai te garantir boas horas de Sossego e de tranquilidade então eu te vejo na próxima aula
Related Videos
Aula 4 - Desafio Github Actions | Desafio DevOps & Cloud
1:34:24
Aula 4 - Desafio Github Actions | Desafio ...
Fabricio Veronez
717 views
Os primeiros passos com AWS na Prática
2:06:01
Os primeiros passos com AWS na Prática
Fabricio Veronez
2,968 views
Bill Burr on People Online Commenting on the LA Fires & Getting in Touch with His Emotions
12:36
Bill Burr on People Online Commenting on t...
Jimmy Kimmel Live
1,938,642 views
Aula 1 - Desafio Docker | Desafio DevOps & Cloud
1:47:11
Aula 1 - Desafio Docker | Desafio DevOps &...
Fabricio Veronez
7,174 views
O DIA DE UM DEVOPS
9:03
O DIA DE UM DEVOPS
Carreira Global
1,416 views
Como tirar as certificações AWS? | Aprenda aqui o passo a passo
15:36
Como tirar as certificações AWS? | Aprenda...
Rapha Moura - Simplify AWS
14,694 views
Evolution of software architecture with the co-creator of UML (Grady Booch)
1:30:43
Evolution of software architecture with th...
The Pragmatic Engineer
105,617 views
O que você precisa saber sobre DevOps em 2025
1:16:46
O que você precisa saber sobre DevOps em 2025
Fabricio Veronez
5,072 views
Gov. DeSantis announces who will fill Rubio's Senate seat
21:28
Gov. DeSantis announces who will fill Rubi...
Fox News
519,563 views
Aulão Docker 02 - O mínimo que você deve saber de Docker
1:49:21
Aulão Docker 02 - O mínimo que você deve s...
Fabricio Veronez
1,684 views
Aula 2 -  Desafio Kubernetes | Desafio DevOps & Cloud
1:38:07
Aula 2 - Desafio Kubernetes | Desafio Dev...
Fabricio Veronez
2,932 views
Michelle Obama To Skip Inauguration | Presidential Diet Coke | Bondi, Hegseth Grilled By Congress
12:39
Michelle Obama To Skip Inauguration | Pres...
The Late Show with Stephen Colbert
1,033,461 views
AWS re:Invent 2024 - CEO Keynote with Matt Garman
2:45:55
AWS re:Invent 2024 - CEO Keynote with Matt...
Amazon Web Services
1,202,780 views
Trump ‘once again’ called this, Bartiromo says
8:48
Trump ‘once again’ called this, Bartiromo ...
Fox Business
183,477 views
Terraform: A melhor forma de usar Cloud
1:53:31
Terraform: A melhor forma de usar Cloud
Fabricio Veronez
2,457 views
O passo a passo para usar Docker
2:06:23
O passo a passo para usar Docker
Fabricio Veronez
3,267 views
AWS re:Invent 2024 - Dive deep on Amazon S3 (STG302)
52:09
AWS re:Invent 2024 - Dive deep on Amazon S...
AWS Events
15,497 views
See Bolton's response to Trump's 'blacklist' post that called him 'dumb as a rock'
8:09
See Bolton's response to Trump's 'blacklis...
CNN
154,489 views
Guia de Carreira: DevOps
54:12
Guia de Carreira: DevOps
Alura
16,324 views
AWS Certified Data Engineer - Associate (DEA-C01) [Full Course In 285min]
4:44:31
AWS Certified Data Engineer - Associate (D...
Johnny Chivers
24,389 views
Copyright © 2025. Made with ♥ in London by YTScribe.com