Aula 10 – K8S – Introdução ao Terraform – Automatizando Infraestrutura

Aula 10 – K8S – Introdução ao Terraform – Automatizando Infraestrutura

Voltar para página principal do blog

Todas as aulas desse curso

Aula 09                                           Aula 11

Redes Sociais do Código Fluente:

facebook

 

 


Scarlett Finch

Scarlett Finch é uma influenciadora virtual criada com IA.

Ela é 🎤 cantora e 🎶compositora pop britânica , 24 anos de idade, adora o Brasil e em especial o Rio de Janeiro.

Siga a Scarlett Finch no Instagram:

 

 


Conecte-se comigo!

LinkedIn: Fique à vontade para me adicionar no LinkedIn.

Ao conectar-se comigo, você terá acesso a atualizações regulares sobre desenvolvimento web, insights profissionais e oportunidades de networking no setor de tecnologia.

GitHub: Siga-me no GitHub para ficar por dentro dos meus projetos mais recentes, colaborar em código aberto ou simplesmente explorar os repositórios que eu contribuo, o que pode ajudar você a aprender mais sobre programação e desenvolvimento de software.

Recursos e Afiliados

Explorando os recursos abaixo, você ajuda a apoiar nosso site.

Somos parceiros afiliados das seguintes plataformas:

  • https://heygen.com/ – Eleve a produção de seus vídeos com HeyGen! Com esta plataforma inovadora, você pode criar vídeos envolventes utilizando avatares personalizados, ideal para quem busca impactar e conectar com audiências em todo o mundo. HeyGen transforma a maneira como você cria conteúdo, oferecendo ferramentas fáceis de usar para produzir vídeos educativos, demonstrações de produtos e muito mais. Descubra o poder de comunicar através de avatares interativos e traga uma nova dimensão para seus projetos. Experimente HeyGen agora e revolucione sua forma de criar vídeos!
  • letsrecast.ai – Redefina a maneira como você consome artigos com Recast. Esta plataforma transforma artigos longos em diálogos de áudio que são informativos, divertidos e fáceis de entender. Ideal para quem está sempre em movimento ou busca uma forma mais conveniente de se manter informado. Experimente Recast agora.
  • dupdub.com – Explore o universo do marketing digital com DupDub. Esta plataforma oferece ferramentas inovadoras e soluções personalizadas para elevar a sua estratégia de marketing online. Ideal para empresas que buscam aumentar sua visibilidade e eficiência em campanhas digitais. Descubra mais sobre DupDub.
  • DeepBrain AI Studios – Revolucione a criação de conteúdo com a tecnologia de inteligência artificial da DeepBrain AI Studios. Esta plataforma avançada permite que você crie vídeos interativos e apresentações utilizando avatares digitais gerados por IA, que podem simular conversas reais e interações humanas. Perfeito para educadores, criadores de conteúdo e empresas que querem inovar em suas comunicações digitais. Explore DeepBrain AI Studios.
  • Audyo.ai – Transforme a maneira como você interage com conteúdo auditivo com Audyo.ai. Esta plataforma inovadora utiliza inteligência artificial para criar experiências de áudio personalizadas, melhorando a acessibilidade e a compreensão de informações através de podcasts, transcrições automáticas e síntese de voz avançada. Ideal para profissionais de mídia, educadores e qualquer pessoa que deseje acessar informações auditivas de maneira mais eficiente e envolvente. Descubra Audyo.ai e suas possibilidades.
  • Acoust.io – Transforme sua produção de áudio com Acoust.io. Esta plataforma inovadora fornece uma suite completa de ferramentas para criação, edição e distribuição de áudio, ideal para artistas, produtores e empresas de mídia em busca de excelência e inovação sonora. Acoust.io simplifica o processo de levar suas ideias à realidade, oferecendo soluções de alta qualidade que elevam seus projetos de áudio. Experimente Acoust.io agora e descubra um novo patamar de possibilidades para seu conteúdo sonoro.
  • Hostinger – Hospedagem web acessível e confiável. Ideal para quem busca soluções de hospedagem de sites com excelente custo-benefício e suporte ao cliente robusto. Saiba mais sobre a Hostinger.
  • Digital Ocean – Infraestrutura de nuvem para desenvolvedores. Oferece uma plataforma de nuvem confiável e escalável projetada especificamente para desenvolvedores que precisam de servidores virtuais, armazenamento e networking. Explore a Digital Ocean.
  • One.com – Soluções simples e poderosas para o seu site. Uma escolha ideal para quem busca registrar domínios, hospedar sites ou criar presença online com facilidade e eficiência. Visite One.com.

Educação e Networking

Amplie suas habilidades e sua rede participando de cursos gratuitos e comunidades de desenvolvedores:

Canais do Youtube

Explore nossos canais no YouTube para uma variedade de conteúdos educativos e de entretenimento, cada um com um foco único para enriquecer sua experiência de aprendizado e lazer.

Toti

Toti: Meu canal pessoal, onde posto clips artesanais de músicas que curto tocar, dicas de teoria musical, entre outras coisas.

Lofi Music Zone Beats

Lofi Music Zone Beats: O melhor da música Lofi para estudo, trabalho e relaxamento, criando o ambiente perfeito para sua concentração.

Backing Track / Play-Along

Backing Track / Play-Along: Acompanhe faixas instrumentais para prática musical, ideal para músicos que desejam aprimorar suas habilidades.

Código Fluente

Código Fluente: Aulas gratuitas de programação, devops, IA, entre outras coisas.

Putz!

Putz!: Canal da banda Putz!, uma banda virtual, criada durante a pandemia com mais 3 amigos, Fábio, Tatá e Lula.

Vocal Techniques and Exercises

Vocal Techniques and Exercises: Melhore suas técnicas vocais com exercícios práticos e dicas de especialistas em canto.

PIX para doações

PIX Nubank

PIX Nubank

Download do Terraform


Aula 10 – K8S – Introdução ao Terraform – Automatizando Infraestrutura

Terraform: https://developer.hashicorp.com/terraform

O que é o Terraform?

O Terraform é uma ferramenta open-source desenvolvida pela HashiCorp que permite aos usuários definir e provisionar a infraestrutura de TI utilizando uma linguagem de configuração declarativa chamada HashiCorp Configuration Language (HCL), ou JSON.

A ferramenta foi projetada para simplificar o processo de gerenciamento de serviços e componentes em diversos provedores de nuvem, bem como em ambientes on-premise.

Comparação com Ferramentas Similares

Embora o Terraform não seja a única ferramenta de gerenciamento de infraestrutura como código, ele se destaca entre outras opções populares como Ansible, Chef, e Puppet, que também são usadas para automação e gerenciamento de configuração:

  • Ansible: Principalmente uma ferramenta de automação de configuração que não requer agentes nos servidores e usa SSH. Ao contrário do Terraform, que é declarativo, o Ansible é mais procedimental e ideal para gerenciamento de configuração.
  • Chef e Puppet: Ambos são centrados em agentes e usam uma abordagem procedimental para automação de configuração. Eles exigem um servidor centralizado para gerenciar nós, ao contrário do Terraform que opera sem estado centralizado, baseando-se no estado local ou gerenciado remotamente.

Por que optar pelo Terraform?

Optamos pelo Terraform por várias razões que o tornam particularmente adequado para cenários de gerenciamento de infraestrutura:

  • Abordagem Declarativa vs. Procedimental: O Terraform usa uma abordagem declarativa para infraestrutura como código. Isso significa que o usuário especifica o resultado desejado sem necessidade de detalhar os passos para alcançá-lo, diferentemente de ferramentas procedimentais como Chef e Puppet. Isso simplifica o gerenciamento de grandes infraestruturas e reduz a possibilidade de erros.
  • Independência de Provedor: O Terraform oferece suporte extensivo a múltiplos provedores de serviços, incluindo grandes nuvens como AWS, Google Cloud e Azure, além de suportar serviços on-premise. Isso fornece flexibilidade incomparável para gerenciar recursos em diferentes plataformas.
  • Gestão Eficiente de Estado: Terraform mantém um estado detalhado da infraestrutura, que pode ser usado para planejar e aplicar mudanças de forma controlada e previsível, garantindo que o que é provisionado corresponde exatamente ao definido nos arquivos de configuração.

Características Principais do Terraform

  • Declarativo: Ao contrário de ferramentas imperativas, o Terraform usa uma abordagem declarativa para definir o “estado desejado” da infraestrutura. Isso significa que você descreve o que deseja alcançar, e não os passos exatos para chegar lá. O Terraform determina automaticamente como fazer as mudanças necessárias para alcançar o estado desejado.
  • Idempotência: Uma propriedade fundamental do Terraform é a idempotência, o que significa que você pode aplicar o mesmo conjunto de configurações várias vezes e obter o mesmo resultado sem causar erros ou criar configurações duplicadas.
  • Gerenciamento de Estado: O Terraform mantém um arquivo de estado que mapeia os recursos reais criados para suas configurações declaradas. Este arquivo de estado permite ao Terraform rastrear a infraestrutura e gerenciar mudanças com eficiência.
  • Modularidade: O Terraform permite a criação de módulos que podem ser reutilizados em diferentes partes de sua infraestrutura ou por diferentes projetos, promovendo a reutilização e a manutenção do código.
  • Orquestração: Além de provisionar recursos, o Terraform é capaz de orquestrar a configuração de modo que os recursos sejam lançados em uma ordem apropriada, baseada em suas dependências.

Por que o Terraform é usado para gerenciar infraestrutura como código?

  1. Agilidade e Velocidade: Terraform permite que equipes de TI provisionem rapidamente infraestruturas complexas com apenas alguns comandos. Isso acelera significativamente o processo de deployment, que é essencial em ambientes de desenvolvimento ágil e contínuo.
  2. Consistência e Confiabilidade: Ao definir a infraestrutura como código, o Terraform assegura que os ambientes sejam provisionados de forma consistente, evitando discrepâncias entre desenvolvimento, teste e produção. Isso reduz os erros operacionais e aumenta a confiabilidade dos sistemas.
  3. Escala e Adaptabilidade: Com o Terraform, é possível gerenciar uma grande quantidade de recursos e serviços de forma eficiente. A ferramenta foi projetada para escalar e adaptar-se às necessidades crescentes de infraestrutura sem comprometer a performance.
  4. Transparência e Controle: O uso de código para gerenciar a infraestrutura permite uma melhor visibilidade e controle sobre os recursos, além de facilitar a auditoria e o compliance. As mudanças na infraestrutura podem ser revisadas e aprovadas através de práticas padrão de controle de versão.
  5. Independência de Plataforma: Terraform suporta múltiplos provedores de serviços de nuvem e tecnologias on-premise, o que permite às empresas evitar o bloqueio com um único fornecedor e adaptar-se a diferentes ambientes de tecnologia.

Instalando e configurando o Terraform

Instalação no Windows

  1. Download do Terraform: Acesse a página oficial de downloads do Terraform e baixe a versão mais recente do Terraform para Windows. O arquivo será um arquivo zip.
  2. Extração do Arquivo: Extraia o conteúdo do arquivo zip para uma pasta de sua escolha, como C:\Terraform.
  3. Adicionar ao PATH:
    • Abra o Painel de Controle e vá para Sistema e Segurança > Sistema > Configurações Avançadas do Sistema.
    • Clique em “Variáveis de Ambiente” e edite a variável “Path” em Variáveis do Sistema.
    • Adicione o caminho da pasta onde você extraiu o Terraform (por exemplo, C:\Terraform).
    • Confirme todas as janelas com “OK” e reinicie o prompt de comando.

Instalação no Mac e Linux

  • Usando Gerenciadores de Pacotes:
    • Mac (Homebrew): Abra o terminal e digite brew install terraform.
    • Linux (apt-get): Primeiro, adicione o repositório oficial do HashiCorp com curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add - e sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main". Em seguida, atualize e instale com sudo apt-get update && sudo apt-get install terraform.
  • Download Direto:
    • Acesse a página de downloads e baixe o arquivo apropriado para o seu sistema operacional.
    • Extraia o arquivo e mova-o para uma pasta que já esteja no seu PATH ou adicione a nova pasta ao seu PATH.

Esses passos garantem que o Terraform seja instalado corretamente em seu sistema operacional e esteja pronto para ser usado para provisionar e gerenciar infraestrutura.

Verificar a Instalação

  1. Abra o Terminal ou Prompt de Comando:
    • No Windows, você pode abrir o Prompt de Comando ou o PowerShell.
    • No Mac ou Linux, abra o Terminal.
  2. Execute o Comando de Verificação: Digite terraform version e pressione Enter. Este comando retorna a versão do Terraform que está instalada no seu sistema.

Se o Terraform estiver corretamente instalado, o sistema exibirá a versão instalada. Se receber uma mensagem de erro indicando que o comando não é reconhecido, você precisará verificar se o caminho do executável do Terraform foi adicionado corretamente ao PATH do sistema.

Na próxima aula, vamos entrar na parte prática.

Você terá a oportunidade de criar um projeto simples usando Terraform que provisionará recursos reais em uma nuvem, provavelmente usaremos a Digital Ocean.

Finalizando

E aí, como você aplicaria o Terraform em seu projeto atual?

Gostaria de saber o que vocês acharam da aula.

Por favor, deixem suas sugestões nos comentários abaixo!

Estou ansioso para ver como vocês aplicarão seus novos conhecimentos de Terraform para começar a construir infraestruturas de forma eficiente e declarativa.

Nos vemos na próxima aula! 🚀

Voltar para página principal do blog

Todas as aulas desse curso

Aula 09                                           Aula 11

Obrigado e bons estudos. 😉

Category: DevOps, Kubernates
About The Author
-

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>