• Home

    Escolha seu Plano

    Carreiras Alura

    Evolua com profundidade técnica, direção clara e aplicação prática.

    Jornadas guiadas do básico ao avançado com checkpoints práticos, desenhadas para quem busca profundidade e protagonismo técnico.

    Iniciante

    Comece do zero com uma trilha clara e progressiva.

    Fundamentos práticos para dar os primeiros passos com segurança e construir uma base sólida.

    Intermediário

    Continue sua evolução com cursos que conectam fundamentos, ferramentas e prática profissional. Ganhe autonomia, e avance para projetos mais completos.

    Avançado

    Aprofunde temas técnicos e estratégicos para enfrentar desafios mais complexos. Explore boas práticas, arquitetura, performance com visão profissional.

    Cursos

    Ver mais cursos de Back-end
    • Pensamento computacional: fundamentos da computação e lógica de programação
    • Lógica de programação: mergulhe em programação com JavaScript
    • DDD: fundamentos do design orientado a domínio
    • ASP.NET: autenticação e autorização em APIs e aplicações web
    • Microsserviços: migração de monólitos e modularização

    Cursos

    Ver mais cursos de Dados
    • Python para Dados: primeiros passos
    • Excel: domine o editor de planilhas
    • Engenharia de Dados: Orquestração de Pipelines com Apache Airflow
    • Power BI Desktop: construindo meu primeiro dashboard
    • Governança e Arquitetura de Dados

    Cursos

    Ver mais cursos de Inteligência Artificial
    • IA: Explorando o Potencial da Inteligência Artificial Generativa
    • Engenharia de Prompt: Criando Prompts Eficazes para IA Generativa
    • Claude para Análise de Dados: prompts, integrações e automações
    • Agno: criando agentes e sistemas multiagente
    • Engenharia de software na era da IA: segurança de aplicações com agentes, MCPs e código gerado por IA

    Cursos

    Ver mais cursos de Front-end
    • HTML e CSS: ambiente, estrutura e estilo
    • React: realizando testes avançados com Jest e Testing Library
    • React: integrando TypeScript em projetos
    • JavaScript: aprendendo a programar
    • React: aplicando arquiteturas de Micro frontends

    Cursos

    Ver mais cursos de DevOps
    • Sistema Operacional Linux: fundamentos e administração prática
    • Containers e Docker: empacotamento, isolamento e gestão
    • Redes: dos conceitos iniciais à criação de uma intranet
    • Linux: gerenciando diretórios, arquivos, permissões e processos
    • Cibersegurança: Fundamentos e práticas integradas

    Cursos

    Ver mais cursos de UX & Design
    • UX Research: mapeando a experiência da pessoa usuária
    • UX/UI Design: Entregando produtos digitais com IA
    • UI Design: Prototipação e animações interativas
    • Figma: Conhecendo o programa
    • Product Design: métricas e ciclo de vida do produto

    Cursos

    Ver mais cursos de Gestão & Negócios
    • Canva: Criação de landing pages e e-mail marketing
    • Agilidade: como ela pode ajudar a criar um time de alta performance
    • Google Analytics 4: Extrair insights e configurar eventos
    • Management 3.0: gerencie o ambiente, não as pessoas
    • Automação de processos com n8n: Inteligência de dados para Marketing

    Cursos

    Ver mais cursos de Mobile
    • React Native: Estilização e Layouts com Flexbox e StyleSheet
    • Flutter: Graphql e suporte offline
    • Android com Gemini: Trabalhando com textos e imagens na IA
    • Dart: trabalhando com orientação a objetos
    • React Native: Dominando Listas com FlatList e ScrollView

    Carreiras

    Ver mais carreiras
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA

    Cursos

    • Engenharia de Prompt: Prompts Eficazes para IA Generativa
    • Claude Code: Criando sua Primeira Aplicação
    • Python: Crie sua Primeira Aplicação
    • Git e GitHub: Compartilhando e Colaborando
    • N8N: Fluxos de Trabalho Avançados

    Cursos

    • Copilot Studio: Solução Multiagentes
    • Padrões de API HTTP e Modelagem de APIs
    • Python para Análise de Dados com SQL
    • Docker: Criando e Gerenciando Containers
    • Design com IA: Otimizando o Processo Criativo

    Cursos

    • Model Context Protocol (MCP)
    • Spec-Driven Development: Dev Assistido por Agentes
    • Arquitetura de Sistemas Distribuídos com Java
    • Governança de Modelos e Reprodutibilidade
    • Pentest: Vulnerabilidades em Aplicações Web

    Escolha seu Plano

    Skills & Go

    O Skills & Go é para Tech Leads, Product Managers, estrategistas e early adopters que transformam ideias em soluções de alto impacto. Em cursos ao vivo e 100% online, você domina a nova era da IA em tempo real.

    Aulas ao vivo

    Saiba mais
    • Agentic Engineering: orquestre múltiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA

    Escolha seu Plano

    Eventos Alura

    Nossos eventos são pensados para quem quer estar à frente das mudanças em tecnologia, IA e inovação. Em experiências presenciais, você acompanha tendências e se conecta com especialistas que estão moldando o futuro.

    Próximos eventos

    • Imersão Engenharia de Software: Dev na Era da IA
    • IA Conference
    • Alura Signals
  • Talent Lab
  • IA

    Escolha seu Plano

    Conteúdos gratuitos

    Explore conteúdos gratuitos para aprender tecnologia no seu ritmo. Encontre artigos com conteúdos técnicos para aprender na prática, notícias para acompanhar as principais tendências do mercado e o Alura Labs, com análises e reflexões de especialistas sobre tecnologia, IA e carreira.

    Conteúdos gratuitos

    • Artigos
    • Notícias
    • Alura Labs
  • Para Empresas
Ver planos
Links principais
  • Planos e Promoções
  • Links complementares do menu mobile
  • Talent lab
  • Inteligência Artificial
  • Pós Graduações
  • Para Empresas
  • Sobre a Alura
  • Grupo Alun
  • Entrar
    • Home
    • Carreiras
    • Skills & Go
    • Talent Lab
    • Inteligência Artificial
    • Pós Graduações
    • Artigos
    • Sobre a Alura
    • Grupo Alun
    LoginContato
    • LinkedIn
    • Instagram
    • YouTube

    Institucional

    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status
    Institucional
    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status

    A Alura

    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes
    A Alura
    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes

    Conteúdos

    • Alura Cases
    • Imersão Engenharia de Software: Dev na Era da IA
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Conteúdos
    • Alura Cases
    • Imersão Engenharia de Software: Dev na Era da IA
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Alura

    O que você quer aprender?

    FiltrosFiltrar por:

    Tipos de conteúdo
    Categorias
    • 181: Áudio no Gemini, IA telepática, família Qwen3-Next

      Sexta-feira é dia de repercutir as principais notícias da semana, no mundo da IA. Vem ver quem participou desse papo:Marcus Mendes, host sob controleFabrício Carraro, co-host sob controle, Program Manager da Alura, autor de IA e host do podcast Dev Sem FronteirasGuilherme Silveira, CINO e co-fundador da AluraLinks:IA Sob Controle 180: Adotando IA corporativa com segurança, com Claudionor Coelho Jr., CAIO da ZscalerChegamos ao limite das Scaling Laws e a um platô na evolução das IAs? ChatGPT ganha integração com MCPOpenAI e Microsoft esta próximas de acordo sobre mudança de estrutura da OpenAIEntidade sem fins lucrativos terá mais de $100B na unidade com fins lucrativos da OpenAIOpenAI está mesclando equipe de comportamento do modelo com a equipe de pós-treinamentoOpenAI fornecerá IA para filme CritterzOpenAI fará chip de IA com a BroadcomOpenAI assina contrato de $300B com a OracleOpenAI aqui-contrata a equipe do AlexAnthropic e advogados de autores fazem acordo de $1,5B sobre uso de livros no treinamento do ClaudeJuiz bloqueia acordo da Anthropic em caso de autoresAPI da Anthropic agora dá suporte a fetchClaude agora cria PDFs, slides e planilhasClaude ganha memóriaClaude expande conectividade no iOS e AndroidAnthropic apoia a lei californiana SB 53Microsoft usará IAs da Anthropic no Office 365Google Gemini é taxado como de alto risco para criançasGoogle lança o Gemma 3nGoogle lança Modo IA em portuguêsGoogle anuncia novidades no VeoGoogle apresenta o plano Google AI PlusGemini app agora aceita arquivos de áudioBreno Fortes: Gemini ganha transcrições e resumosGemini habilita edição visual de interfaceGoogle DeepMind e LIGO anunciam o Deep Loop ShapingIA Sob Controle 50: NVIDIA Blackwell, Gemini no iPhone, buracos negros com IAFinancial Times explora o sucesso do AlphaFold2Stability AI anuncia o Stable Audio 2.5ElevenLabs lança voz Judite 2.0ElevenLabs lança voice mixingElevenLabs lança o v0 Podcaster StarterByteDance lança o Seedream 4.0Alibaba anuncia o Qwen3-Max-PreviewAlibaba anuncia o Qwen3-NextAlibaba anuncia o Qwen3-ASRASML investe $1,5B na MistralEmirados Árabes lançam rival do ChatGPTDiogo Cortiz, e os “agentes “Meta faz parceria com a Black Forest LabsMeta fecha acordo bilionário para erguer um dos maiores data centers do mundoTed Cruz propõe isenção de responsabilidade para empresas de IAEncyclopedia Britannica e Merriam-Webster processam a PerplexityPerplexity finaliza rodada de investimento de $20 bilhõesPerplexity lança plano governamentalFTC manda Google, OpenAI, Meta, Snap, xAI, e Character.AI entregarem dados sobre impacto em jovensBot da Character.AI incentivou suicídio de usuário adolescenteAlterego anuncia IA “telepática”Estudo da OpenAI investiga alucinações e incertezaThinking Machines lança blog de pesquisaNVIDIA: Universal Deep ResearchMathematical Research with GPT-5On the Theoretical Limitations of Embedding-Based RetrievalREFRAG: Rethinking RAG Based on DecodingWriting effective tools for agents — with agentsSpeculative cascades — A hybrid approach for smarter, faster LLM inference Mês Carreiras Alura: Explore as carreiras por meio de um caminho estruturado, com prática, profundidade e orientação para você sair do zero e conquistar domínio real em uma habilidade.Inscreva-se na Newsletter IA Sob Controle, e receba notícias semanais sobre Inteligência Artificial, assinada por Fabrício Carraro.Preencha o formulário com as suas sugestões para deixar o conteúdo do IA Sob Controle ainda mais interessante.Alura Cursos de Tecnologia –  e sonorização: Rede Gigahertz de Podcasts00:00:00 - Olá!00:01:05 - Entrevista: Claudionor Jr.00:02:00 - LLMs e saúde mental00:03:48 - Leis de escala da IA00:04:55 - OpenAI00:29:42 - Anthropic00:32:07 - Google00:45:35 - Cantinho multimídia00:51:45 - Rapidinhas01:21:24 - Estudos da semana01:42:05 - Obrigado!

    Ainda não estuda com a gente?

    Invista na transformação da sua carreira!

    Comece agora
  • 191: Claude Skills, assistente de IA no Windows 11, Sora polêmico

    Sexta-feira é dia de repercutir as principais notícias da semana, no mundo da IA. Vem ver quem participou desse papo:Marcus Mendes, host sob controleFabrício Carraro, co-host sob controle, Program Manager da Alura, autor de IA e host do podcast Dev Sem FronteirasGuilherme Silveira, CINO e co-fundador da AluraLinks:IA Sob Controle 190: Medindo as capacidades (e os perigos) de LLMs em virologia, com Pedro MedeirosVivo libera IA premium da Perplexity para mais clientesFirefox ganha integração com a PerplexityPolícia pede para crianças pararem de fazer trote com imagens de IASora pausa geração de vídeos com Martin Luther King Jr.Sora agora gera vídeos de até 25 segundos e ganha storyboardsTUTORIAL: Sora 2 - Aprenda a gerar vídeos com IAOpenAI limitará criação de vídeos com celebridades recém-falecidasGoverno japonês pede que o Sora pare de gerar materiais japoneses com copyrightChatGPT poderá ser usado para conversas sobre sexoOpenAI forma conselho de bem-estar e IAOpenAI faz parceria com a BroadcomOpenAI diz ter reduzido inclinação política do GPT-5 em 30%gpt5-search-api fica 60% mais barataOpenAI decide trazer o megaprojeto Stargate para a América do SulOpenAI contrata Alex Lupsasca para a OpenAI for ScienceChatGPT pode ganhar DMsMicrosoft lança funções de IA conversacional no Windows 11Microsoft anuncia o MAI-Image-1Anthropic anuncia o Claude Haiku 4.5 Anthropic diz que o Haiku 4.5 pode trabalhar como subagente do Sonnet 4.5Podcast Vida com IA: História dos LLMsAnthropic anuncia o Skills para o ClaudeSkills para Claude pode ter mais impacto do que o MCPGoogle Research anuncia o modelo Speech-to-Retrieval (S2R)Google anuncia o Veo 3.1Gemini 2.5 Flash Image chug ao AI Mode e Google LensGoogle integra o modelo Nano Banana ao NotebookLM, Lens e FotosGoogle lança o Cell2Sentence-Scale 27BGoogle’s Gemini agora ajuda a marcar compromissos Google CalendarGoogle pode lançar o Gemini 3.0 em 22 de outubroMeta anuncia ferramentas parentais para interações entre jovens e IA no InstagramMeta contrata co-fundador da Thinking Machines Lab Meta contrata líder de IA da AppleSpotify faz parceria com gravadorasPinterest terá filtro anti-IACalifornia regula chatbots companheirosAdoção de IA cresce, mas desconfiança se mantémConteúdo feito por IA ultrapassa conteúdo feito por humanos na webUso da Wikipedia está caindo por conta do boom das IAs de buscaHuggingFace relança o HuggingChat e lança modalidade OmniSlack testa Slackbot com AIPainChek é uma IA que identifica dor por micro-expressõesNvidia começa a vender p DGX Spark mini PCAndrej Karpathy anuncia o nanochatPodcast Input: A Jornada de Fabrício Carraro: Do Viajante Poliglota ao Arquiteto de IAs EuropeiasMoloch's Bargain: Emergent Misalignment when LLMs Compete For AudiencesDica: Richard Sutton, Father of RL thinks LLMs are a dead end Carreiras Alura: Explore as carreiras por meio de um caminho estruturado, com prática, profundidade e orientação para você sair do zero e conquistar domínio real em uma habilidade.TechGuide.sh, um mapeamento das principais tecnologias demandadas pelo mercado para diferentes carreiras, com nossas sugestões e opiniões.Inscreva-se na Newsletter IA Sob Controle, e receba notícias semanais sobre Inteligência Artificial, assinada por Fabrício Carraro.Preencha o formulário com as suas sugestões para deixar o conteúdo do IA Sob Controle ainda mais interessante.Alura Cursos de Tecnologia –  e sonorização: Rede Gigahertz de Podcasts00:00:00 - Olá!00:00:47 - Entrevista: Pedro Medeiros00:01:52 - Navegadores com IA00:04:00 - Perplexity00:07:10 - Riscos da IA generativa00:12:17 - OpenAI00:42:52 - Microsoft00:47:15 - Anthropic00:53:14 - Google01:01:19 - Meta01:05:33 - Cantinho multimídia01:10:44 - Rapidinhas01:27:53 - Estudos da semana01:36:20 - Obrigado!

  • 195: ChatGPT Go grátis, tsunami de IAs da Adobe, TSUs da Extropic

    Sexta-feira é dia de repercutir as principais notícias da semana, no mundo da IA. Vem ver quem participou desse papo:Marcus Mendes, host sob controleFabrício Carraro, co-host sob controle, Program Manager da Alura, autor de IA e host do podcast Dev Sem FronteirasGuilherme Silveira, CINO e co-fundador da AluraLinks:IA Sob Controle 194: Desenvolvendo o Gigaverbo, o maior banco de dados em português para IA, com Nicholas KlugeStephen Robles compara o Comet e o AtlasChatGPT Go chega ao Brasil; clientes do Nubank têm acesso grátisOpenAI Go fica gratuito na ÍndiaCameo processa a OpenAI pelo recurso ‘cameos’ do SoraOpenAI começa a vender credits extras do SoraSora agora gera vídeos de petsOpenAI está desenvolvendo ferramenta generativa de músicaPayPal terá compatibilidade com o ChatGPTOpenAI publica levantamento de saúde mental de usuáriosOpenAI says over a million people talk to ChatGPT about suicide weeklyOpenAI lança o AardvarkOpenAI lança os modelos gpt-oss-safeguardOpenAI diz que terá um “pesquisador de IA legítimo” até 2028OpenAI deve faster IPO em 2027Califórnia aprova nova estrutura da OpenAIMicrosoft reduz participação na OpenAIRelatório fiscal da Microsoft sugere que a OpenAI teve US$ 11.5B de prejuízo no último trimestreGoogle, Meta, e Microsoft gastaram US$ 80B em AI nos últimos três mesesAnthropic expanse o Claude for Financial ServicesGoogle barateia o implicit caching dos modelos Gemini 2.5Gemini agora cria apresentaçõesGoogle quer colocar o Nano Banana direto no ChromeYouTube testa upscaling via IA e novas funções para melhorar vídeos na TV Google lança comercial feito por IA UMG e Stability AI fazem parceriaUMG e Udio fazem parceriaFigma compra a WeavyCanva lança funções de IAAdobe anuncia assistentes de IA para os seus apps, novo modelo para o Firefly e maisAdobe Firefly Image 5 ganha suporte a camadas e modelos externosAdobe Firefly agora faz trilhas sonoras e lida com falaAdobe anuncia o ‘Project Moonlight’Adobe Express ganha assistente de IAAdobe faz parceria com o YouTubePhotoshop e Premiere Pro ganham ferramentas de IAAdobe anuncia o ‘Project Frame Forward’Adobe faz pesquisa sobre adoção de IA por criadores de conteúdoMondelez cria IA para fazer campanhas publicitáriasMistral apresenta o AI StudioMagazineLuiza lança Lu no WhatsAppIA Sob Controle 152: O futuro do Magalu na era da IA, com o CEO Fred Trajano e o VP de Plataformas André FatalaIA Sob Controle 146: Caio Gomes, diretor de IA e Dados do Magalu Samsung e Nvidia fazem parceriaPitchBook: Nvidia investiu em in 59 startups de AI até agora em 2025Cognition lança o SWE-1.5Cursor lança o Cursor 2.0Perplexity oferece Email Assistant gratuito para assinantes ProExtropic anuncia TSUsCharacter.ai proibirá uso por menoresSenadores propõem banimento de chatbots para menoresGitHub libera o acesso a vários agentes de IA, como Claude e CodexIBM lança modelos abertos Granite 4.0 Nano AIThinking Machines explora on-policy distillationGAP: Graph-Based Agent Planning with Parallel Tool Use and Reinforcement LearningSigns of introspection in large language modelsKimi LinearThe Smol Training Playbook: The Secrets to Building World-Class LLMs Carreiras Alura: Explore as carreiras por meio de um caminho estruturado, com prática, profundidade e orientação para você sair do zero e conquistar domínio real em uma habilidade.TechGuide.sh, um mapeamento das principais tecnologias demandadas pelo mercado para diferentes carreiras, com nossas sugestões e opiniões.Inscreva-se na Newsletter IA Sob Controle, e receba notícias semanais sobre Inteligência Artificial, assinada por Fabrício Carraro.00:00:00 - Olá!00:00:56 - Entrevista: Nicholas Kluge00:02:04 - Enquete: ChatGPT Atlas00:04:20 - OpenAI00:27:03 - Anthropic00:28:58 - Google00:37:30 - Cantinho multimídia00:44:10 - Rapidinhas01:07:35 - Estudos da semana01:22:43 - Obrigado!

  • 115: OpenAI Operator, Elon Musk vs. Projeto Stargate, DeepSeek-R1

    Sexta-feira é dia de repercutir as principais notícias da semana, no mundo da IA. Vem ver quem participou desse papo: Marcus Mendes, host sob controle Fabrício Carraro, co-host sob controle, Program Manager da Alura, autor de IA e host do podcast Dev Sem Fronteiras Links: OpenAI anuncia o Operator, seu primeiro agente OpenAI está trabalhando em agente de código Sam Altman marca reunião confidencial com o governo americano OpenAI o3-mini será disponibilizado no plano gratuito do ChatGPT Sébastien Bubeck comenta que raciocínio do o1 é capacidade emergente Estudo Trading Inference-Time Compute for Adversarial Robustness FTC está de olho na parceria entre a OpenAI e a Microsoft Microsoft deixa de ser a única provedora de nuvem da OpenAI Atrito entre Microsoft e OpenAI já vem de alguns meses OpenAI e parceiras anunciam o Projeto Stargate Masayoshi Son elogia Trump durante anúncio do Projeto Stargate Donald Trump e Sam Altman vinham conversando sobre o potencial da IA Sam Altman e Elon Musk trocam farpas no X OpenAi cria modelo com foco em longevidade e ciência Google investe mais US$ 1 bilhão na Anthropic Dario Amodei dá entrevista a Joanna Stern em Davos API da Anthropic ganha citações Perplexity lança APIs Sonar Perplexity anuncia agentes para Android Perplexity compra read.cv e posts.cv Perplexity propõe fusão com o TikTok nos EUA Meta promove modelo OpenBioLLM, feito a partir dos modelos Llama Novo Gemini estreia no topo da LM Arena Gemini Live ficará multimodal, começando pelo Samsung Galaxy S25 Texto do Marcus Mendes sobre Computação Contextual Estudo Evolving Deeper LLM Thinking Google Imagen 3 estreia no topo do LM Arena de texto-para-imagem Tencent apresenta o modelo Hunyuan3D 2.0 DeepSeek ganha modelo com raciocínio Kimi k1.5 é um novo modelo chinês com desempenho similar ao o1 Comentário do Jim Fan sobre os modelos chineses ByteDance lança o modelo Doubao 1.5 Pro Estudo AI Tutoring Outperforms Active Learning Estudo Memory RAG: High accuracy mini-agents with embed-time compute Meta fará data center de IA gigantesco Hugging Face lança modelos minúsculos Trump revoga ordem executiva de Biden sobre o mercado de IA Episódios relacionados: IA Sob Controle com Rafael Rafailov IA Sob Controle sobre os modelos Phi-4 com Gustavo de Rosa da Microsoft  Inscreva-se na Imersão Front-End da Alura, crie um projeto do zero e comece a construir sua carreira Front-end. Seria cinco aulas grátis, de 27 a 31 de janeiro.  Escola de Inteligência Artificial da Alura: Mergulhe com profundidade no universo das IAs Generativas e comece a explorar todo o potencial para impulsionar a sua carreira. Inscreva-se na Newsletter IA Sob Controle, e receba notícias semanais sobre Inteligência Artificial, assinada por Fabrício Carraro.  Preencha o formulário com as suas sugestões para deixar o conteúdo do IA Sob Controle ainda mais interessante. Alura Cursos de Tecnologia –  Edição e sonorização: Rede Gigahertz de Podcasts 00:00:00 - Olá! 00:00:53 - Enquete: IA nos feeds? 00:01:37 - Imagens no Grok 00:02:21 - TabPFN vs. XGBoost 00:03:41 - Agentes da OpenAI 00:14:42 - o3-mini grátis 00:18:54 - Robustez adversarial 00:22:04 - Projeto Stargate 00:32:23 - GPT-4b 00:34:56 - Alphabet investe na Anthropic 00:35:40 - Dario Amodei e o futuro da Anthropic 00:37:52 - API da Anthropic com Citações 00:39:07 - APIs da Perplexity 00:40:14 - Perplexity Assistant 00:41:27 - Perplexity vai às compras 00:43:49 - OpenBIO LLM 00:44:53 - Gemini 00:46:19 - Gemini Live com Project Astra 00:48:01 - Evolving Deeper LLM Thinking 00:50:28 - Chain-of-Agents 00:52:16 - Imagen 3 00:53:24 - Hunyuan3D 2.0 00:54:04 - DeepSeek-R1 00:59:07 - Kimi k1.5 01:01:32 - Doubao 1.5 Pro 01:03:07 - Ensino com IA 01:06:44 - Memory RAG 01:08:28 - Meta + IA 01:09:19 - Modelos minúsculos 01:10:53 - Trump revoga regulação de IA 01:11:30 - Ufa! 01:12:31 - Imersão Front-End

  • Back-end

    Como usar ChatGPT para Gestão Ágil

    Neste Alura+, Daniela Soares, monitora na Alura, explica como utilizar a inteligência artificial do ChatGPT para **impulsionar a gestão ágil** em sua organização. Por meio dessa poderosa ferramenta, você aprenderá passo a passo como analisar dados para: * Construir personas; * Analisar ciclo de vida do produto. Você conhecerá como extrair informações valiosas dos dados disponíveis para criar personas detalhadas, que representem os diferentes perfis de consumidores. Com a ajuda do ChatGPT, você pode interpretar os dados de forma mais eficiente e identificar áreas de melhoria para impulsionar a experiência do cliente, além de descobrir como o ChatGPT pode ajudar na análise do ciclo de vida do seu produto! Bateu a curiosidade? Ao longo deste vídeo, você aprenderá a aplicar o ChatGPT para impulsionar a gestão ágil, transformando dados em insights. E para você se aprofundar no tema, confira: * [Artigo ChatGPT: o que é, como usar e dicas de comandos para o dia a dia]( * [Artigo Quais são os 4 tipos de aprendizagem na IA, algoritmos e usos no dia a dia]( * [Curso ChatGPT: otimizando a qualidade dos resultados]( # Transcrição É comum que, navegando na internet, nos deparemos com manchetes como esta: > **"Conheça as 10 profissões que serão substituídas pela inteligência artificial."** É um título um tanto dramático, não? Será que esse receio tem fundamento? Faz sentido construir um título dessa forma? É pensando em questões como essa que vamos explorar como o **ChatGPT** pode nos auxiliar nas **funções de gestão ágil** das pessoas que atuam como gerentes ágeis ou com agilidade de forma geral. Quando falamos de inteligência artificial, precisamos compreender um ponto: assim como outros avanços tecnológicos e inovações, a IA serve como **complemento às nossas funções e tarefas**, principalmente aquelas que podem ser **automatizadas**. Dessa forma, economizamos esforço humano em atividades repetitivas, tornando nossa experiência profissional mais gratificante. Vamos explorar como utilizar o ChatGPT como um **potencial colaborador** para nossas funções. Vamos ver como podemos construir uma *persona* e também avaliar o ciclo de vida de um produto. Para quem não sabe o que é ou nunca utilizou o ChatGPT,, não há problema. Disponibilizaremos vários conteúdos na descrição do vídeo para acesso posterior. Estamos utilizando a versão **3.5** do ChatGPT, que é gratuita. Um detalhe importante: **não compartilhe informações sensíveis com o GPT**. Utilizaremos dados fictícios para demonstrar o processo de construção da *persona*. Mas por que criar a *persona* é importante para a gestão ágil? Porque a *persona*, essa representação ideal do cliente, nos ajuda a compreender e **atender às necessidades dos clientes**. ## Construindo personas no ChatGPT Vamos começar perguntando ao ChatGPT o que é uma *persona*. A resposta é que uma *persona* é uma representação fictícia de um público-alvo ou de um cliente ideal. Ele fornece uma resposta bastante extensa. Em seguida, forneceremos algumas informações sobre o papel que ocupamos na equipe e o tipo de serviço ou produto que oferecemos. Por exemplo, escreveremos: > "Sou um gerente ágil e estou trabalhando com um aplicativo de *e-learning* para pessoas que desejam aprimorar seu currículo de forma flexível". O ChatGPT pode demorar um pouco para responder, pois é a versão gratuita. Ele sugere que definamos nossas *personas* criando personagens que representem nossos usuários-alvo e estabelecendo a história dos usuários. Não é exatamente o que gostaríamos que ele respondesse, mas deixamos que ele termine a resposta. Informaremos que temos **dados sobre os usuários do aplicativo** e pedimos que ele sugira algumas *personas* com base nesses dados. Após enviar os dados fictícios, ele começa a analisar informações como **idade**, **interesses** e **formação acadêmica**. Ele faz um resumo e, em seguida, pedimos que ele identifique **padrões nos dados fornecidos**. A resposta inclui **relação entre tecnologia e áreas de interesse**, **diversidade de formações acadêmicas**, **conexão entre interesses** e **objetivos profissionais**, e variedade de hobbies. Após esse processo, pedimos que ele sugira algumas *personas* que poderíamos construir a partir desses dados. Ele sugere cinco *personas*: > **Amanda**, a designer inovadora; > > **Lucas**, o desenvolvedor ágil; > > **Gabriela**, a gerente de projetos de TI; > > **Rafael**, o especialista em inteligência artificial; > > **Carolina**, a profissional de marketing digital. Pedimos que ele refaça as sugestões para ver se há variações. Ele modifica algumas informações, sugerindo, por exemplo, a *persona* Beatriz, a *Tech Enthusiast* (entusiasta de tecnologia), que não havíamos mencionado. É importante **não confiar 100% no GPT**, mas sim aloinhar o que você já conhece da sua profissão com o que ele pode te ajudar no dia a dia. Voltamos à resposta inicial e escolhemos a *persona* **Lucas, o desenvolvedor ágil**, para explorar mais. Ele detalha motivações, desafios e objetivos do Lucas com o aplicativo. Por exemplo, Lucas é **apaixonado por tecnologia** e tem **forte interesse em métodos ágeis**. Ele pode enfrentar desafios ao implementar práticas ágeis em sua equipe ou organização. O ChatGPT retorna inclusive recomendações para o aplicativo de e-learning, algo que não solicitamos. Pedimos que ele refaça as sugestões de *personas* com base em critérios estabelecidos: **aprimorar habilidades**, **rotinas saudáveis de estudo** e **sentir-se representado**. Com base nesses critérios, ele sugere novas *personas*: > **Sofia**, a jovem profissional ambiciosa; > > **Matheus**, o estudante determinado; > > **Carla**, a profissional em transição de carreira; > > **André**, o empreendedor criativo; > > **Isabela**, a profissional multitarefa. Pedimos que ele organize as sugestões em **ordem de prioridade** considerando os critérios que citamos anteriormente, algo que não alterará muito a configuração. Utilizamos um comando de texto para o ChatGPT, mas se tivermos uma **tabela no Excel**, podemos copiar todo o conteúdo e colar no GPT. ## Ciclo de vida de um produto Após a construção da *persona*, analisamos o **ciclo de vida de um produto**, utilizando o mesmo aplicativo de *e-learning*. Perguntamos ao ChatGPT o que é ciclo de vida do produto. Ele explica que é uma representação dos estágios pelos quais um produto passa desde a introdução no mercado até a retirada. Os estágios são: **introdução**, **crescimento**, **maturidade** e **declínio**. É importante que uma pessoa que trabalha com gestão ágil saiba identificar o ciclo de vida do produto em que está inserida para pensar **estratégias e investimentos adequados** para a fase em que o produto se encontra. Nesse caso, identificamos que estamos com **crescimento de assinaturas**, **forte concorrência** e **lucro crescente.** Com base nessas informações, o ChatGPT analisa e identifica que estamos no **início do estágio de crescimento** ou no **ponto intermediário**. Perguntamos quais **estratégias** podemos utilizar na fase de crescimento. Ele sugere **marketing intensivo**, **expansão para novos mercados**, **melhoria contínua do produto**, **aumento da oferta de valor**, **parcerias estratégicas**, **monitoramento dos concorrentes** e **fortalecimento do relacionamento com os usuários**. Após conferir as estratégias, pedimos que ele organize de acordo com critérios anteriores. > Critério 1: **aprimorar habilidades** > > Critério 2: **rotinas saudáveis de estudo** > > Critério 3: **sentir-se representado** Como retorno, ele organiza os critérios e as estratégias que fazem parte desse critério. Vamos pedir para que as estratégias sejam organizadas em uma tabela. | Critério | Estratégias | |------------------------------------------|-------------------------------------------------| | Critério 1: Aprimorar habilidades | - Melhoria contínua do produto | | | - Expansão para novos mercados | | Critério 2: Rotinas saudáveis de estudo | - Fortalecimento do relacionamento com os usuários | | | - Aumento da oferta de valor | | Critério 3: Sentir-se representado | - Parcerias estratégicas | | | - Marketing intensivo | ## Impacto das IAs na gestão ágil Após utilizar o ChatGPT para **analisar dados**, seja para criar uma *persona* ou identificar o ciclo de vida do produto, podemos nos perguntar como a IA impactará nosso trabalho como gerentes ágeis. O ChatGPT, assim como outras IAs, pode colaborar com nossas funções na gestão ágil, economizando tempo na busca de informações e tornando a tomada de decisões mais eficiente, possibilitando entregar mais valor aos clientes e *stakeholders*. Assim como o Trello, Jira ou Notion, o ChatGPT pode fazer parte do nosso dia a dia e auxiliar nas funções e tarefas como gestores ágeis. Além da análise de dados, o GPT e outras IAs podem auxiliar na melhoria contínua do produto ou serviço e no gerenciamento do projeto. Se ainda não utilizao GPT, você pode replicar os casos apresentados aqui com dados fictícios e conferir as respostas. Sinta-se à vontade para compartilhar ideias e expectativas sobre inteligência artificial no Discord Alura e conectar-se com outros alunos e alunas. Nos vemos em breve!

  • Inteligência Artificial

    Interpretabilidade e alinhamento: Entendendo o comportamento das IAs – Hipsters Ponto Tech #525

    Hoje o papo é sobre interpretabilidade em modelos de inteligência artificial! Neste episódio, conversamos sobre como pesquisas recentes, em especial da Anthropic, vêm buscando entender o que acontece por baixo do capô dos grandes modelos de linguagem, além de como eles chegam a determinadas respostas. De alinhamento a alucinações, passando por reasoning, emoções, J-Space, comportamentos emergentes e os desafios de abrir a caixa-preta das grandes IAs, a conversa é bastante abrangente e repleta de boas referências. Vem ver quem participou desse papo: Paulo Silveira, o host que usa a palavra governança Fernanda Kipper, Software Engineer & Founder na kipper.dev Vinny Neves, cohost, dev e professor na Alura Fabrício Carraro, co-host do IA Sob Controle, Program Manager da Alura, autor de IA e host do podcast Carreira Sem Fronteiras  Links:  Gemini Notebook (ex-NotebookLM) Podcast Naruhodo! O Império da IA IA Sob Controle 213: O Império da IA – Sonhos e Pesadelos na OpenAI de Sam Altman Logits: o que acontece antes da IA escolher a próxima palavra Estudo: A global workspace in language models Estudo: Emotion concepts and their function in a large language model Estudo: Reasoning models don’t always say what they think Projeto Subliminal Learning: Language Models Transmit Behavioral Traits via Hidden Signals in Data Estudo: Persona vectors: Monitoring and controlling character traits in language models Estudo: Teaching Claude why Estudo: Mapping the mind of a large language model Estudo: Tracing the thoughts of a large language model Estudo: Agentic misalignment: How LLMs could be insider threats Estudo: Alignment faking in large language models Estudo: Measuring Faithfulness in Chain-of-Thought Reasoning Estudo: LLM Lies: Hallucinations are not Bugs, but Features as Adversarial Examples Toda revolução tecnológica começa com quem antecipa o futuro e transforma ideias em soluções de alto impacto. Conheça os cursos da Alura + FIAP Skills & Go: Agentic Engineering, Building AI Products, e AI Data Strategy. Saiba mais sobre o Skills & Go. Vá para o Vale do Silício com Paulo Silveira, Marcell Almeida, Fabrício Carraro e Marcus Mendes na “Imersão IA Sob Controle e Alura no Vale do Silício“! Vagas limitadas, corra para reservar a sua. TechGuide.sh, um mapeamento das principais tecnologias demandadas pelo mercado para diferentes carreiras, com nossas sugestões e opiniões. #7DaysOfCode: Coloque em prática os seus conhecimentos de programação em desafios diários e gratuitos. Acesse  Produção e conteúdo: Alura Cursos de Tecnologia –  Edição e sonorização: Rede Gigahertz de Podcasts

  • 185: ChatGPT Pulse, edição de imagens por voz, tsunami de modelos Qwen

    Sexta-feira é dia de repercutir as principais notícias da semana, no mundo da IA. Vem ver quem participou desse papo:Marcus Mendes, host sob controleFabrício Carraro, co-host sob controle, Program Manager da Alura, autor de IA e host do podcast Dev Sem FronteirasGuilherme Silveira, CINO e co-fundador da AluraAlan Braz, Senior Research Developer na IBM Research BrasilLinks:184: O brasileiro que ensinou a NASA a usar IA para detectar terremotos em outros planetas, com Gabriel ChaybOpenAI lança o ChatGPT PulseSurgem detalhes do projeto de hardware da OpenAI com o Jony IveSora consegue gerar vídeos parecidos com conteúdos da Netflix, TikTok, e TwitchOpenAI lança o ChatGPT Go na IndonésiaOpenAI faz parceria com a SAPOpenAI, Oracle, e SoftBank farão 5 novos data centersNvidia investirá $100B na OpenAIOpenAI fará leasing de chips da NvidiaOpenAI vai gastar $450 bilhões em servidores até 2030Databricks vai adotar modelos da OpenAIOpenAI lança o benchmark GDPvalxAI processa a OpenAI por acusação de roubo de informações proprietáriasxAI apresenta o Grok 4 FastxAI faz acordo de fornecimento de serviços com o governo dos EUAJuiz federal dos EUA aprova acordo de $1.5B com autores de livrosClaude ganha organização em grupo de conversasApp do Gemini passa a marca de 5 bilhões de imagens geradasGoogle Chrome ganha Gemini em desktopsGoogle adiciona o Gemini à Google TVGoogle lança edição conversacional de fotos no Pixel 10Google atualiza o Gemini 2.5 Flash com melhor formatação e compreensão de imagensGoogle lança o Search Live feature nos USCloudflare compra briga com os AI Overviews do GoogleGoogle DeepMind apresenta o Gemini Robotics 1.5Google anuncia o Data Commons MCP ServerGoogle DeepMind atualiza o Frontier Safety FrameworkGoogle apresenta estudo sobre desenvolvimento assistido por IAVibe Coding – Hipsters Ponto Tech #482Meta lança o VibesMeta está pensando em usar o Gemini na divisão de anúnciosMeta contratou Yang Song, ex-OpenAIAções da Alibaba decolam depois de tsunami de lançamentos de modelosAlibaba lança o Qwen3-Omni, o Qwen-Image-Edit-2509, o Qwen3-Next-80B-A3B, oQwen3-TTS-Flash, Qwen3Guard, o Qwen3-VL, e o Qwen3-MaxNvidia abre o código do Audio2FaceRunway explora difusão para modelos multimodais autorregressivosSpotify atualiza regras de sinalização de uso de IASuno chega à V5Gravadoras expandem processo contra a SunoKrea lança o Kling 2.5IA Sob Controle com Diego Rodriguez, da Krea AIPerplexity anuncia o Email Assistant para Gmail e OutlookPerplexity anuncia a Search APIPerplexity enfrenta dificuldades para emplacar iniciativas publicitáriasModelo IBM-granite-docling-258M está fazendo barulho no Hugging FacePodcast Pull ReCastEx-líderes do Notebook LM lançam o HuxeMais de 200 personalidades de IA pedem que a ONU crie limites para o desenvolvimento da IALetônia lança LLM abertoSWE-Bench Pro é um novo benchmark para IAs agênticasGoogle apresenta o Test-Time Diffusion Deep ResearcherMeta lança o Meta Code World ModelShinkaEvolve: Evolving New Algorithms with LLMs, Orders of Magnitude More Efficiently Mês Carreiras Alura: Explore as carreiras por meio de um caminho estruturado, com prática, profundidade e orientação para você sair do zero e conquistar domínio real em uma habilidade.TechGuide.sh, um mapeamento das principais tecnologias demandadas pelo mercado para diferentes carreiras, com nossas sugestões e opiniões.Inscreva-se na Newsletter IA Sob Controle, e receba notícias semanais sobre Inteligência Artificial, assinada por Fabrício Carraro.Alura Cursos de Tecnologia –  e sonorização: Rede Gigahertz de Podcasts00:00:00 - Olá!00:00:46 - Entrevista: Gabriel Chayb00:02:07 - Enquete: saúde mental?00:03:26 - OpenAI00:21:42 - xAI00:27:47 - Anthropic00:30:55 - Google00:51:05 - Meta00:53:10 - Cantão da China01:02:05 - Cantinho multimídia01:09:07 - Rapidinhas01:23:38 - Estudos da semana01:31:47 - Mês das Carreiras Alura

  • Dados

    Executando SQL no VSCode

    Você já passou pela situação em que estava desenvolvendo um projeto utilizando a ferramenta *Visual Studio Code*, mas na hora de executar suas consultas no SQL, teve que migrar para outra ferramenta e interrompeu todo o seu raciocínio? Hoje, queremos resolver esse problema com você. Para isso, vamos conseguir executar SQL diretamente no *Visual Studio Code*. Este conteúdo é apresentado por Igor do Nascimento Alves, instrutor na Escola de Dados. > **Audiodescrição**: Igor é uma pessoa branca, de cabelos curtos e pretos, que veste uma camiseta cinza, com desenhos de peças de xadrez. Ele está num quarto e tem atrás de si parte de uma cama, um teclado musical e um armário com objetos diversos sobre ele. O cenário está iluminado com luzes nas cores azul e verde. Hoje, queremos explorar a questão de executar o SQL diretamente no *VS Code*. Para isso, vamos explorar dois plugins, o *SQL Tools* e o *SQLite*, vamos explorar suas características, vantagens e desvantagens. Para você se comunicar com o banco de dados, precisa de uma ferramenta, podemos utilizar o *SQLite Online*, a ferramenta chamada *DBeaver * ou as próprias *workbenches* dos SGBDs. Mas você já passou pela situação em que estava trabalhando em um projeto multidisciplinar? No nosso projeto, estamos executando consultas SQL na ferramenta *SQLite Online*, mas também estamos fazendo modificações no banco de dados utilizando o código Python. Então, no código Python, estamos me conectando ao banco de dados e fazendo modificações nesse banco de dados. Toda vez que fazemos uma modificação, precisamos pegar esse arquivo .db, carregá-lo no *SQLite Online* e executar novamente minhas consultas. Todo esse processo interrompe o fluxo de trabalho. Você já passou por uma situação parecida com essa? ## Trabalhando com plugins no Visual Studio Code Para resolver esse problema, uma das possibilidades é trabalharmos com os plugins do *Visual Studio Code*. Vamos fazer isso? No *Visual Studio Code*, no canto superior esquerdo, temos um ícone de vários quadrados, são três quadrados juntos e um separado. Esse ícone se chama “Extensões”, ou plugins. Ao clicar nessa opção, surgirá uma barra de pesquisa onde pode procurar por esses plugins. Vou digitar “SQL”, pois estamos interessados em plugins dessa natureza. O primeiro plugin que aparece é o *SQL Server*, e ele foi feito pela própria Microsoft. O que isso quer dizer? Significa que a ferramenta *Visual Studio Code* pode aceitar tanto plugins feitos pela Microsoft quanto os feitos pela comunidade. No nosso caso, vamos explorar os plugins feitos pela comunidade, porque queremos trabalhar com um SGBD específico, que é o *SQLite*. Então vamos continuar percorrendo essa lista de opções até encontrar o “*SQLTools*”. Destacamos essa ferramenta porque o *SQLTools* é muito poderoso, você consegue trabalhar com diversos SGBDs nele. Após selecioná-lo, você pode analisar que ele trabalha com *MySQL*, *PostgreSQL* e *Microsoft SQL Server* e muitos outros. Então, ele é bem poderoso nesse quesito. Porém, quando fizemos os testes de instalação, descobrimos que essa instalação é muito complicada. Por quê? Você vai precisar instalar um segundo plugin relacionado ao banco de dados que vai utilizar, e também um drive que será responsável por fazer essa comunicação entre o *Visual Studio Code* e o banco de dados. Então, ele é um pouco mais trabalhoso para instalar. Já que vamos trabalhar com SGBD *SQLite*, preferimos explorar um pouco mais. Então, vou clicar em “Extensões” novamente, rolando um pouco mais na lista, vamos encontrar um plugin que se chama *SQLite*. Esse plugin tem o nome do SGBD *SQLite*, porque ele só trabalha com esse banco de dados. Então é uma limitação. Se você for trabalhar com outro banco de dados, faz mais sentido você utilizar o *SQLTools*. Como o nosso caso é o *SQLite*, podemos explorar esse plugin. Este plugin é bastante básico e simples de instalar. Ele executa consultas SQL e também consegue exportar essas consultas nos formatos JSON ou CSV. É muito simples de utilizar. Vamos utilizá-lo. Ao clicar no plugin do SQLite, teremos a opção de instalar. Clicamos no botão “Instalar” e agora podemos voltar para o nosso projeto. Vamos clicar no Explorador do VS Code. Dentro da pasta “SQL”, já tenho um script chamado “explorando_dados.sql”. Nesse script, temos as consultas. São as mesmas consultas que tínhamos no SQLite Online, apenas copiamos para cá. E como executamos elas? Podemos clicar no “Explorador”, selecionar a consulta, pressionar o botão direito e escolher a opção “*Run Select Query*” (Executar Consulta Selecionada). Ele abrirá uma janela de pergunta, querendo saber qual é o banco de dados que usaremos, pois em nenhum momento especificamos qual banco de dados ele deve procurar esses dados. Podemos clicar na opção do banco de dados que temos disponível, que é o banco de dados de vendas, e ele executará a consulta. sql SELECT strftime('%m', data_venda) AS mes, COUNT(*) AS quantidade_vendas FROM vendas WHERE strftime('%Y', data_venda) = '2023' GROUP BY mes; No canto direito, ele abriu uma nova janela com o resultado da nossa consulta, que é uma tabela com duas colunas: coluna mês e coluna quantidade de vendas. É o mesmo resultado que tínhamos no SQLite Online. | mes | quantidade_vendas | |---|---| | 01 | 1598 | | 02 | 824 | | 03 | 863 | | 04 | 773 | | 05 | 1245 | | 06 | 751 | | 07 | 807 | | 08 | 740 | | 09 | 788 | Conseguimos, de fato, executar código SQL no VS Code. Com essa ferramenta do SQLite, foi muito simples executar essas consultas. ## Como exportar consultas No resultado da nossa consulta, no canto superior, temos o ícone de um arquivo com uma seta. Podemos clicar nessa opção e uma nova janela se abrirá, perguntando onde queremos salvar esse resultado e em que formato. Podemos dar um nome para esse resultado, então vamos chama-lo de “mes_vendas.csv” e clicar em “Salvar”. Como já temos esse arquivo, ele perguntará se queremos substituir, vamos confirmar que “Sim”. Podemos fechar a aba da consulta e a aba do CSV. Agora, vamosmostrar a vantagem de exportar esse arquivo. Clicando no “Explorador”, neste projeto estamos trabalhando com o Jupyter Notebook. Vamos clicar no arquivo “notebooks > explorando_dados.ipynb”, esse é o arquivo Jupyter Notebook chamado Explorando Dados. Esse arquivo lê o CSV. Vamos clicar em “Executar Tudo” e ele trouxe aquele mesmo resultado, que é o retorno da consulta, para o nosso Jupyter Notebook. Se você estiver atuando em um projeto onde também é uma pessoa cientista de dados e quer criar visualizações com o resultado da sua consulta ou criar modelos de *machine learning* (aprendizado de máquina), isso ficou muito prático. Você executa as consultas SQL e traz o resultado para o seu Jupyter Notebook. Essa é a **vantagem de trabalhar no VSCode**, essa habilidade de um projeto multidisciplinar. Existem outras vantagens de termos migrado nossas consultas para o VSCode? Sim, o VSCode conta com diversos plugins, não apenas um plugin voltado para SQL. Ele oferece diversos plugins para facilitar o seu trabalho. ## Utilizando o Copilot Outro plugin que vamos explorar com você hoje se chama Copilot. Quero passar algumas informações desse plugin antes de utilizá-lo. A primeira informação que queremos trazer é que é um **plugin pago**. Esse serviço é pago e, quando este vídeo foi gravado, o Copilot custava 10 dólares por mês para uma conta individual. Para utilizar sem ter que pagar esse valor existem algumas alternativas, como por exemplo o *free trial* (período de avaliação gratuito). Durante esse período de avaliação, que dura **30 dias**, você pode utilizar o serviço de maneira gratuita. No entanto, para fazer isso, será necessário selecionar uma forma de pagamento, que pode ser mensal ou anual, e fornecer os dados do seu cartão de crédito. Isso pode ser arriscado, pois **após os 30 dias, a cobrança acontece automaticamente**. > É muito importante que você cancele o serviço antes do término do período de avaliação se não quiser pagar por ele. De acordo com a descrição no GitHub, é possível cancelar o serviço assim que a avaliação começar. Ou seja, se você testou e viu que está tudo funcionando, não precisa esperar os 30 dias para cancelar. O acesso ao GitHub Copilot continuará disponível até o final do período de avaliação, mesmo após o cancelamento. Existem outras maneiras mais recomendadas de utilizar o Copilot: se você se encaixa no perfil de ser uma pessoa estudante, professora de universidade, ou mantenedora de projetos de software livre. Se você se encaixa em algum desses perfis, o GitHub Copilot é gratuito. Basta apenas enviar um comprovante para o GitHub e eles fornecerão o acesso de maneira gratuita. A última possibilidade que sugerimos para utilizar o Copilot é verificar se a sua empresa tem acesso ao plano Enterprise. Eles têm um plano para empresas, o **Copilot Enterprise**, então pode ser que você consiga solicitar esse acesso na sua empresa. Agora que deixamos claro como funciona essa ferramenta paga, vamos para o VS Code e ver como ela funciona. Então, já temos o Copilot configurado na máquina e preparei um script para explorarmos, o “explorandocopilot.sql”. Ele está em branco e, agora, para utilizarmos o Copilot, você pode começar digitando um comentário. Nesse comentário, você vai dizer o que deseja escrever de código. Então, um comentário no SQL começa com --, e aqui vamos dizer para ele que queremos saber quais os nomes das tabelas que existem no meu banco de dados. Estamos conhecendo esse banco de dados ainda e queremos entendê-lo melhor. Então, vou digitar: "-- Quais os nomes das tabelas no meu banco sqlite", vou apertar o “Enter” e o Copilot já vai fazer uma sugestão. SELECT name FROM sqlite_master WHERE type= ‘stable’; Ele disse que isso vai retornar o resultado que precisamos. Então, vamos apertar a tecla “Tab”, que aí ele vai transformar esse código de fato aqui no meu arquivo. Podemos selecionar, apertar o botão direito e rodar essa consulta. Como mudamos de arquivo de consulta, ele vai perguntar novamente que banco de dados queremos explorar. Vamos selecionar o banco de vendas novamente e ele retornou essa informação. São os nomes das tabelas que existem no banco de dados: vendas, produtos, clientes, categorias, fornecedores, marcas e itens_venda. Podemos até confirmar isso lá no *SQLite Online*. No *SQLite Online*, no canto esquerdo, temos o nome das tabelas e, dentro do nome das tabelas, temos o nome das colunas também e os tipos que elas aceitam. Aqui vale destacar uma informação importante: uma ferramenta como o *SQLite Online* ou as *Workbends* dos SGBDs serão muito mais completas. Elas têm muitos mais recursos e esse é um exemplo deles. Só de carregar o banco de dados, já temos acesso ao nome das tabelas, o nome das colunas, tudo isso vem de fácil acesso. Já no nosso plugin, no VSCode, tive que rodar uma consulta para acessar essa informação. > Uma ferramenta voltada só para SQL vai ter muitos mais recursos do que esse plugin pode oferecer. Esse é um ponto de atenção. Vamos continuar explorando o Copilot. Já conseguimos descobrir o nome das tabelas. Agora, quero saber um pouco mais sobre uma tabela específica. Só de apertar “Enter” aqui, ele já fez uma sugestão. Ele colocou como comentário: -- Quais as colunas da tabela ‘users’. Nós nem temos essa tabela. Ele está analisando mais o banco de dados do que o nosso contexto. Isso é uma característica dele. > Quanto mais informação você for colocando nesse script, mais ele vai entender o projeto que você vai trabalhar e melhores serão suas sugestões. Então, vamos seguir parcialmente essa sugestão. Vamos digitar: "quais as colunas da tabela", só que agora eu quero uma tabela não do banco de dados, queremos uma do nosso contexto, como por exemplo, produtos. Então, vou apertar “Enter” e, novamente, ele fez uma sugestão. Aqui, ele está utilizando um comando chamado PRAGMA. Não queremos utilizá-lo, queremos um SELECT. Então, quando ele não estiver indo para o caminho que você precisa, você pode começar a digitar um código e ele vai se adaptando ao que você está digitando. Então, escrevemos SELECT, que é o comando que queremos utilizar, e ele já colocou: SELECT * FROM pragma_table_info(‘produtos’);. Vamos apertar o “Tab” para ele preencher o código, selecionar esse código, clicar nele com o botão direito do mouse e escolher a opção “Run select query”, e ele retornou um resultado. Aqui, temos o nome das colunas e diversas informações, incluindo o tipo que essa coluna aceita. | cid | name | type | notnull | dflt_value | |---|---|---|---|---| | 0 | id_produto | INTEGER | 0 | NULL | | 1 | nome_produto | TEXT | 0 | NULL | | 2 | preco | REAL | 0 | NULL | | 3 | categoria_id | INTEGER | 0 | NULL | | 4 | marca_id | TEXT | 0 | NULL | | 5 | fornecedor_id | INTEGER | 0 | NULL | | 6 | data_estoque | DATE | 0 | NULL | | 7 | status | TEXT | 0 | NULL | Essa é a mesma informação que tínhamos lá no *SQLite Online* e conseguimos ela através de uma consulta. Então, já temos acesso às mesmas informações, só que com um pouco mais de trabalho. Vamos testar uma última consulta. Só que agora, em vez de digitar um comentário, vamos escrever diretamente o que queremos: SELECT * FROM produtos. Queremos selecionar os dados da tabela produtos, mas não todos: apenas cinco. No entanto, não lembramos exatamente qual é o nome do comando que limita os resultados. Quando você estiver nessa situação, pode digitar parcialmente o que lembra sobre esse código, e o Copilot vai te ajudar. Então, vamos começar a digitar li, e aqui ele já faz uma sugestão para você. Ele sugeriu que talvez você queira digitar limit. Vamos apertar o “Tab”, ele sugere aqui um limite de 10, que está ótimo, vamos utilizá-lo. sql SELECT * FROM produtos limit 10; Vamos selecionar o código e executá-lo. Então, selecione o trecho de código e clique com o botão direito do mouse sobre ele. Em seguida, selecione “Run select query”. Ele retornou um resultado para nós aqui, todos os produtos na minha base de dados, os 10 primeiros resultados. | id_produto | nome_produto | preco | categoria | |---|---|---|---| | 1 | Bola de Futebol | 24.48 | 4 | | 2 | Chocolate | 1351.17 | 4 | | 3 | Celular | 1351.88 | 4 | | 4 | Chocolate | 662.65 | 5 | | 5 | Celular | 1705.5 | 1 | | 6 | Bola de Futebol | 1941.02 | 3 | | 7 | Celular | 1347.34 | 5 | | 8 | Livro de Ficção | 1993.08 | 2 | | 9 | Livro de Ficção | 324.83 | 5 | | 10 | Celular | 1631.67 | 1 | Então, com um código que do qual nos lembrávamos parcialmente, ele nos ajudou a complementá-lo. Esse é o poder do Copilot, ele vai facilitar a escrita de código. Esse recurso é muito útil e você consegue utilizá-lo aqui no *VSCode*. Hoje, nós analisamos diversas coisas, como, por exemplo, os *plugins* que trazem a possibilidade de trabalhar no VSCode com o SQL. Exploramos o *SQLTools*, uma ferramenta interessante, pois ela acessa diversos bancos de dados. No entanto, ela tem algumas desvantagens, como a **dificuldade para realizar sua instalação**. Já o outro *plugin*, o *SQLite*, é muito simples de utilizar. Essa é uma vantagem, mas uma desvantagem seria que ele **possui poucos recursos**, ou seja, não tem muitas opções para você trabalhar. ## Vantagens e Desvantagens de migrar o projeto para o VSCode Agora, falando das vantagens e desvantagens de migrar o seu projeto para o *VSCode*, conseguimos trabalhar em um projeto multidisciplinar quando passamos nossas consultas SQL para o *VSCode*. Porém, temos a desvantagem de ter menos recursos do que uma ferramenta como o *DBeaver*, o *SQLite Online*, as *Workbends* dos SGBDs têm. Eles possuem muito mais recursos. Portanto, para decidir qual é o melhor para você, vai depender do projeto em que você está trabalhando, do contexto e do seu papel nesse projeto. Se você for, por exemplo, uma pessoa DBA trabalhando nesse projeto exclusivamente com o SQL, faz muito mais sentido você optar por uma ferramenta especializada em SQL. Lá, você terá muitos mais recursos. Porém, caso você seja, por exemplo, uma pessoa da área de negócios ou uma pessoa cientista de dados e estiver trabalhando com o *Python*, com o *Jupyter Notebook*, e tiver esse projeto multidisciplinar, faz mais sentido você optar por uma ferramenta que aceite esses diversos recursos. Então, você precisa avaliar cada um dos seus contextos. Ficamos muito felizes de ter resolvido esse problema junto com você, descoberto essa possibilidade de trabalhar com o SQL no VSCode, e esperamos que você continue se aprofundando no SQL na nossa formação. Para que você possa se aprofundar ainda mais neste tema, segue a sugestão de alguns conteúdos complementares: - [Formação Conhecendo SQL]( - [Curso GitHub Copilot e ChatGPT: impulsionando seu desenvolvimento com IA]( - [Sobre a cobrança para o GitHub Copilot]( - [Extensão SQLite]( - [Extensão SQLTools]( Até a próxima!

  • DevOps

    Terraform no Google Cloud

    Neste Alura+ vamos aprender como podemos criar uma máquina virtual no Google Cloud Platform usando o Terraform e ver as diferenças entre o Google Cloud Platform e a AWS. * [Site do Terraform]( * [Download do Terraform]( * [Console do Google Cloud]( * [Documentação do Google Cloud no Terraform]( # Transcrição Na formação de Infraestrutura como Código, utilizamos sempre a AWS como provedora. Mas como fazemos para usar o Terraform com outros provedores, como o Google Cloud, por exemplo? Para tirar essa dúvida, vamos subir uma máquina no Google Cloud e verificar o quanto esse processo difere de uma máquina na AWS. Vamos lá? De início, vamos entrar no site do Terraform e clicar em "Tutoriais", no painel superior, para carregar os tutoriais iniciais e podermos mexer com cada plataforma. No caso, sempre usamos AWS; desta vez, acessaremos os **tutoriais do Google Cloud**. Nessa nova página, veremos todos os tutoriais disponíveis, como "O que é Infraestrutura como Código com o Terraform?" e "Instalando Terrafom". Caso você ainda não conheça o conceito de infraestrutura como código ou ainda não tenha o Terraform instalado, recomendamos dar uma olhada nesses dois primeiros tutoriais e fazer a nossa formação de Infraestrutura com Código também. Nesse vídeo, vamos direto para o tutorial "*Build Infrastructure*" (em português, "**Montando a Infraestrutura**") para começarmos a construir nossa infraestrutura com o Google Cloud. Primeiramente, há uma breve explicação sobre o que é o Google Cloud e temos um aviso inicial de que usaremos o nível gratuito (*free tier*) do Google Cloud Platform (GCP) para o provisionamento dos componentes desse tutorial. Caso comecemos a provisionar outros recursos, podemos mudar para a versão paga. No nosso caso, a máquina virtual que pretendemos provisionar faz parte do *free tier*. A seguir, temos a seção de pré-requisitos. É preciso ter uma **conta no Google Cloud Platform**. Caso você ainda não tenha, é possível criá-la no site do GCP — é de graça. Para conhecer mais sobre os serviços inclusos no *free tier*, podemos acessar a página de informações do Programa Gratuito do Google Cloud. Outro pré-requisito é ter, **no mínimo, a versão 0.15.3 do Terraform** instalada no seu computador. Se você estiver com o Terraform atualizado, já tem uma versão compatível, provavelmente 1.0 ou posterior. Atendidos os pré-requisitos, vamos checar o que precisamos para realmente começar a criar, na seção "*Set up GCP*". O primeiro item é **criar um projeto no GCP**. Vamos clicar no link disponibilizado no tutorial, que nos direcionará ao console do GCP para criar um projeto. Daremos o nome "Alura" para nosso projeto. Logo abaixo do campo de nome, será gerado um ID. No meu caso, é "alura-348223". O seu será diferente, pois os identificadores são únicos, nunca se repetem. À direita desse ID, temos a opção de editá-lo, se for de nosso interesse. Eu vou manter "alura-348223". Não vamos modificar os campos "Billing account" nem "Location", relativos respectivamente à cobrança (caso sejam criados recursos fora do *free tier*) e à organização. Podemos clicar no botão "Create" e, após alguns segundos, veremos nosso projeto criado, com todas as partes prontas. Voltando ao tutorial do site do Terraform, o segundo item é **ligar o *compute engine* do nosso projeto**. Novamente, vamos clicar no link disponibilizado no tutorial, que nos direcionará para a tela do *Compute Engine API* no console do GCP. Outra forma de chegar nessa página é acessando o menu do GCP, no canto esquerdo superior, selecionando a opção "Compute Engine". Nessa tela, clicaremos no botão "Enable" para habilitar e conseguirmos criar elementos relacionados às máquinas virtuais. Esse processo pode demorar alguns minutos, dependerá da carga sobre o Google no momento. De volta ao tutorial, o terceiro item em "Set up GCP" é **criar uma chave de serviço para nossa conta**. Clicaremos no link disponibilizado no tutorial, que nos direcionará para a página *Service Accounts*, dentro da área "IAM & Admin" do console do GCP. Outra maneira de chegar a esta tela é pelo menu do GCP, acessando "IAM & Admin > Service Accounts". Em seguida, vamos selecionar o projeto "Alura". Nessa nova página, constataremos que já temos uma conta de serviços. Para manter a organização e não nos confundirmos com as chaves e credenciais (partes de segurança muito importantes), vamos **criar outra conta de serviços**. No painel superior da tela, pressionaremos "Create Service Account". O campo relativo ao nome é opcional. Já o ID é obrigatório, como indicado pela presença do asterisco. Nosso ID será "terraform". Logo abaixo desse campo, será automaticamente criado um e-mail para essa conta de serviços. No momento, não precisamos nos preocupar com ele. A seguir, clicaremos no botão "Create and Continue". Agora, precisamos **selecionar um cargo (*role*)**. No tutorial do Terraform, no item 4 referente à criação da chave de serviço, é especificado que nesse campo devemos escolher "Project > Editor" e clicar em "Continue". Dessa forma, essa conta terá permissão para editar qualquer parte do projeto. Pressionaremos o botão "Done" para concluir a criação da conta do Terraform. Na sequência, vamos **criar uma chave para essa conta**. Seguindo o tutorial, vamos selecionar a conta de serviços e acessar a aba "Keys" (chaves) no painel superior. Em seguida, clicando em "Add Key", vamos escolher a opção "Create new key", definir o "Key Type" como JSON e clicar em "Create". O *download* da chave será feito automaticamente em nosso computador e veremos uma mensagem contendo o nome dela. Voltando ao tutorial, antes da seção "Write configuration", temos outro aviso (*warning*). Ele nos informa que ***esse arquivo da chave dá acesso total ao nosso projeto no Google Cloud Platform, então é importante o tratarmos como qualquer outra credencial secreta***, como a senha que usamos para entrar no console do GCP. Ou seja, não é uma boa prática salvar essa chave de acesso em um repositório, por exemplo, pois qualquer pessoa terá acesso ao projeto, se essa chave "vazar". Porém, caso isso aconteça, podemos acessar o menu "IAM & Admin > Service Accounts", entrar na nossa conta e apagar a chave. Depois, criamos outra. Temos a opção de criar várias chaves, só é importante mantermos o controle e a organização delas. Podemos, então, **começar a escrever as configurações do nosso projeto**. Em nosso computador, vamos criar uma pasta chamada "GCP" (abreviação de Google Cloud Platform) e abri-la no Visual Studio Code. Dentro dela, criaremos um arquivo chamado main.tf — um arquivo Terraform. Tudo que formos escrever ficará dentro dele. No tutorial, o início da seção "Write Configuration" explica como criar essa pasta e o arquivo main.tf por comandos no terminal. No caso, optamos pela criação manual. Em seguida, temos um bloco de código de exemplo: terraform { required_providers { google = { source = "hashicorp/google" version = "3.5.0" } } } provider "google" { credentials = file(".json") project = "" region = "us-central1" zone = "us-central1-c" } resource "google_compute_network" "vpc_network" { name = "terraform-network" } Vamos analisar esse trecho, composto por três blocos. De início, temos um bloco terraform referente às configurações que usaremos no projeto do Terraform. Da linha 2 a 6, constam dados do provedor: trata-se do provedor do Google, já com informações da fonte (source) e da versão (version). Da linha 10 a 16, temos o segundo bloco, com configurações desse provedor. A linha 11 contém as credenciais que serão carregadas de um arquivo .json. Na linha 13, precisamos informar o ID do projeto. Nas linhas seguintes, teremos dados relativos à região e à zona — assim como a AWS, o Google trabalha com regiões. Nesse exemplo, temos region = "us-central1" e zone = "us-central1-c", ou seja, estaremos usando o provedor do Google na região central dos Estados Unidos, na zona de disponibilidade C. Das linhas 18 a 20, temos o último bloco, com a opção de criação de um recurso, uma VPC. No momento, não queremos uma VPC, apenas uma máquina virtual. Mais adiante, consultaremos a documentação com esse objetivo. Portanto, vamos copiar apenas os dois primeiros blocos (da linha 1 até a 16) e colá-lo no arquivo main.tf. Feito isso, ainda precisamos configurar dois itens nesse arquivo: **indicar a chave de acesso na linha 11 e definir o ID do projeto na linha 13**. Vamos incluir a chave de acesso no projeto, movendo o arquivo .json para a pasta GCP. Em seguida, daremos uma olhada na estrutura e no conteúdo dessa chave. Primeiramente, ela contém um tipo, que é uma conta de serviço. Depois, temos o ID do projeto e o ID de uma chave privada. Em seguida, consta a chave privada em si, que é bastante longa. Vemos, então, o e-mail do cliente (no caso, da conta de serviço), o ID desse cliente e um link de autorização seguido de um link do *token* para poder acessar as informações. Por fim, há dois certificados, um do provedor e outro do cliente. Voltando ao arquivo main.tf, é necessário alterar a origem das credenciais, na linha 11. Como o nome do arquivo .json é muito extenso, no painel à esquerda vamos clicar com o botão direito do *mouse* sobre ele e renoméa-lo para chave.json. Desse modo, podemos modificar a linha 11 para credentials = file("chave.json"), indicando que as credenciais vêm desse arquivo. Quanto ao ID do projeto (na linha 13), podemos obter essa informação no console do Google Cloud Platform ou no arquivo chave.json, em project_id. No meu caso, a linha 13 ficará project = "alura-348223", lembrando que cada usuário terá um ID diferente. Assim, temos nosso Google Cloud configurado para uso. O próximo passo será **criar a máquina virtual**. No navegador, vamos voltar à página inicial do site do Terraform. Desta vez, no painel superior, acessaremos "Registry" — o registro Terraform. Descendo um pouco a página, temos as opções de *providers*. Vamos clicar em Google Cloud Platform. A princípio, veremos o *overview* do que é o Google Cloud. No topo da página, à direita, acessaremos a **documentação**. Na lateral esquerda, há uma lista extensa de recursos à nossa disposição. Anteriormente no Google Cloud, acionamos o *Compute Engine API*, portanto vamos expandir o tópico "*Compute Engine*" dessa lista. Dentro dele, temos uma série de recursos — estamos buscando por máquinas virtuais, que geralmente têm o nome VM (*virtual machine*) ou *Instance* (instância). No caso, encontraremos o subtópico "google_compute_instance". Clicando em "**google_compute_instance**", descobriremos que se trata de um recurso que gerencia uma instância de uma máquina virtual utilizando o Google Cloud Engine (GCE). Para mais informações, podemos acessar a documentação oficial da API. Aparentemente, este recurso faz exatamente o que precisamos. Mais abaixo nessa página, temos um exemplo de uso. Vamos deixar de lado as primeiras cinco linhas referentes à *service account* e copiar o resto. Colaremos esse trecho ao final do nosso arquivo main.tf: # código anterior omitido resource "google_compute_instance" "default" { name = "test" machine_type = "e2-medium" zone = "us-central1-a" tags = ["foo", "bar"] boot_disk { initialize_params { image = "debian-cloud/debian-9" } } // Local SSD disk scratch_disk { interface = "SCSI" } network_interface { network = "default" access_config { // Ephemeral public IP } } metadata = { foo = "bar" } metadata_startup_script = "echo hi > /test.txt" service_account { # Google recommends custom service accounts that have cloud-platform scope and permissions granted via IAM Roles. email = google_service_account.default.email scopes = ["cloud-platform"] } } Em seguida, vamos remover as partes que não são necessárias para nós. Na linha 18, temos o recurso "google_compute_instance". Vamos substituir o nome lógico "default" por "PrimeiraVM". Na linha seguinte, podemos alterar o nome que aparecerá no console do Google: em vez de "test", usaremos "PrimeiraVM" também. Em machine_type (tipo de máquina), precisamos tomar um pouco de cuidado. A máquina atual, "e2-medium", não é suportada pelo *free tier*! Então, vamos mudar para "e2-micro", que se enquadra no nível gratuito. Quanto à zona, vamos usar a mesma que especificamos anteriormente: "us-central1-c": # código anterior omitido resource "google_compute_instance" "PrimeiraVM" { name = "PrimeiraVM" machine_type = "e2-micro" zone = "us-central1-c" # código posterior omitido As tags não são necessárias, podemos removê-las (linha 23). Por outro lado, precisaremos do disco de *boot* (boot_disk), porque é o disco principal do nosso sistema. Na linha 24, temos os parâmetros iniciais: segundo o exemplo, usaremos uma imagem do Debian, na versão 9. Vamos manter desta forma. Em seguida, é oferecido um SSD local: o scratch_disk, um disco para escrever e ler itens temporários. Não precisamos disso e ele não é suportado no *free tier*, então vamos removê-lo (linhas 29 a 32). Agora, na linha 29, temos a interface de rede, necessária para a comunicação. Vamos manter network = "default" e não modificaremos o access_config, para que ele gere um IP público para nossa máquina. Os metadados (linhas 36 a 38) são desnecessários, vamos removê-los. Em seguida, temos o metadata_startup_script. Se quisermos rodar algum comando no momento de criação da nossa máquina, podemos utilizar essa *tag*. Vamos mantê-la e mudar seu valor para "echo oi > /teste.txt". Dessa forma, será escrito "oi" no arquivo teste.txt, no *root*. Por fim, a partir da linha 38, temos um *service account*. Como já configuramos anteriormente o *provider*, essa parte também não é necessária, vamos apagar da linha 38 até a 42. Então, **a segunda parte do arquivo ficará assim**: # código anterior omitido resource "google_compute_instance" "PrimeiraVM" { name = "PrimeiraVM" machine_type = "e2-micro" zone = "us-central1-c" boot_disk { initialize_params { image = "debian-cloud/debian-9" } } network_interface { network = "default" access_config { // Ephemeral public IP } } metadata_startup_script = "echo oi > /teste.txt" } Pressionando "Ctrl + S", salvaremos o arquivo. Já podemos **executar essas configurações para verificar se funcionam**. Na barra superior do VS Code, vamos em "Terminal > Novo Terminal". No terminal, vamos checar se estamos na pasta GCP. Uma vez dentro da pasta, executaremos o comando ls para verificar se os arquivos estão conforme o esperado: temos chave.json e main.tf. Tudo em ordem, vamos rodar um clear para limpar o terminal. Então, vamos **executar o comando terraform init** para iniciar todas as configurações do Terrafom, fazer o *download* da infraestrutura do provedor e deixar tudo pronto para a execução. Terminado esse processo, vamos **rodar o terraform apply**. Assim, a ideia é pegar o nosso plano e criar uma *compute instance* chamada PrimeiraVM. No console, podemos verificar todas as configurações dessa instância e, ao final, temos o plano total "Plan: 1 to add, 0 to change, 0 to destroy" (1 para criar, 0 para mudar e 0 para destruir). Para confirmar, digitaremos "yes". Durante essa operação, teremos um erro alegando que o nome "PrimeiraVM" é inválido, pois não podemos usar letras maiúsculas, apenas caracteres no padrão [a-z0-9]. Logo, na linha 19 do arquivo main.tf, vamos alterar para name = "primeiravm" e salvar. Em seguida, executaremos o terraform apply novamente, digitaremos "yes" para confirmar e esperaremos enquanto esse processo é executado. No meu caso, a operação foi rápida, apenas 11 segundos. Mas esse tempo pode variar de acordo com a conexão da internet ou da carga sobre os servidores do Google e assim por diante. Para verificar se a máquina foi devidamente criada, vamos voltar ao console do Google Cloud Platform, no navegador. No menu, vamos em "Compute Engine". Nesta página, há uma tabela com as instâncias de máquina virtual e veremos a "primeiravm". O IP dela está na coluna "External IP". Para acessá-la via SSH, selecionaremos o *checkbox* à esquerda e clicaremos no botão "SSH". Dessa forma, a chave SSH será colocada dentro da nossa máquina virtual, pois não fizemos isso antes. Essa é uma das vantagem do Google sobre a AWS: não precisamos colocar as chaves logo que criamos a máquina, ele faz esse procedimento para nós depois. Após alguns segundos, estaremos na nossa máquina. Vamos executar o comando ls / para ver os arquivos que temos dentro da máquina virtual. Um deles é o teste.txt, vamos abri-lo com cat /teste.text. Veremos o texto "oi" que configuramos anteriormente, ou seja, a instância foi criada e o arquivo .txt foi inserido no *root* da máquina virtual. Pronto, criamos a configuramos uma máquina virtual com o Google Cloud! **E se não quisermos mais essa infraestrutura?** Podemos encerrá-la por meio do comando terraform destroy, que vai **destruir a infraestrutura**. Assim, o plano não terá nada para criar ou modificar e um recurso para destruir. Vamos digitar "yes" para confirmar a ação e a máquina será apagada. No meu caso, esse processo demorou 37 segundos, mas esse tempo pode variar. Dessa forma, a infraestrutura foi destruída. O projeto não foi apagado, apenas removemos a infraestrutura, que podia gerar custos. Agora que vimos tudo isso, vamos elencar as **diferenças entre a máquina virtual que criamos no Google Cloud e uma máquina virtual que geralmente criamos na AWS**. Primeiro, no arquivo main.tf, no bloco terrafom que vai da linha 1 a 8, temos que trocar o nome do provedor, bem como o source. Além disso, o método de utilizar credenciais e fazer *login* no Google e na AWS são diferentes. Na AWS, fazemos o *login* pela linha de comando com aws configure. No Google, usamos credenciais via arquivo. O recurso criado também muda de nome entre esses dois provedores. **Na AWS, temos o EC2 Instance e, no Google, o Google Compute Instance**. São nomes e recursos diferentes e também têm configurações distintas. Por exemplo, na AWS especificamos zonas por VPC, não por máquinas. Ambos, porém, precisam de um nome e de um tipo de maáquina (machine_type). Quanto ao boot_disk, no Google definimos pela imagem. No caso, escolhemos o Debian, versão 9. Na AWS, usamos as AMIs, que são parecidas, porém têm nome diferente. Precisamos saber a AMI correta para cada região. Em questão de rede, na AWS não precisamos configurar uma interface de rede. Ele já vem com uma interface e um IP público por padrão. No Google Cloud, temos que especificar esses elementos. Ademais, temos o metadata_startup_script que determina o que será feito inicialmente, em que inserimos o código entre aspas. Na AWS, esse processo é mais complicado, temos que colocar o end_of_file ou end_of_tape, algo nesse sentido para identificar onde começa e onde termina. De forma geral, **esses provedores são bem próximos em termos de criação**. O Google também fornece uma VPC padrão, que é um jeito que de acessarmos essas máquinas. Por fim, vamos revisar tudo que fizemos nesse vídeo. Criamos um projeto e uma chave de acesso para acessá-lo. Depois, configuramos uma máquina virtual do tipo e2-micro (suportada no *free tier*) e especificamos a zona onde ela ficaria — no *datacenter* central dos Estados Unidos, na zona de disponibilidade C. Determinamos o sistema utilizado na máquina, uma interface de rede e um *script* para rodar na criação da instância. Espero que você tenham gostado. Até o próximo Alura+!

  • ArtigosBack-end

    Artigo Guia completo sobre engenharia de computação e carreira

    Descubra tudo sobre Engenharia de Computação: áreas de atuação, mercado de trabalho, diferenças da Ciência da Computação e como escolher sua formação. Guia completo e atualizado.

  • 1Página 1…34Página 34…58Página 58
    1Página 1…32Página 3233Página 3334Página 3435Página 35
    36
    Página 36
    …
    58Página 58