Imersão JavaAula 05 - Publicando nossa API no Cloud
Aula 05 - Publicando nossa API no Cloud
Links, dicas e notas de aula
Boas-vindas à quinta e última aula da Imersão Java! Foi incrível ter você estudando com a gente durante esta semana... mas ainda temos mais um passo! Vamos lá?
Para fechar com chave de ouro, vamos tornar nossa aplicação acessível por qualquer pessoa, fazendo o deploy na nuvem. Além disso, vamos gerar figurinhas a partir do conteúdo dessa nossa API.
Código da Aula
Clique aqui para acessar o código completo da aula.
Notion Guia do Mergulho
Para te ajudar durante as aulas, criamos um notion exclusivo da Imersão Java! Com dicas de como se preparar para a Imersão, conteúdos relacionados ao tema, calendário para você ficar por dentro de tudo que vai rolar nessa edição e muito mais.
Links citados
- Dev em T: especialista x generalista.
- Documentação do Docker, a plataforma de containers utilizada para construir a imagem cujo deploy foi feito no Fly.io.
- Site do Docker Hub , repositório central de imagens que podem ser usadas para executar containers de diferentes tecnologias e ferramentas.
- Site do Fly.io, o PaaS (plataforma como serviço) utilizado nesta segunda edição da Imersão Java. Requer cartão de crédito. É fundamental entender a precificação e as quotas gratuitas do Fly.io.
- Site do Heroku, que foi o PaaS utilizado na primeira edição da Imersão Java. É importante entender a precificação do Heroku.
- Documentação sobre a Oracle Cloud.
- Artigo: Como elaborar um bom arquivo Readme para os seus projetos.
Fazendo deploy da imagem da aula
Para que você não precise instalar o Docker, criar um Dockerfile
e fazer o build de uma imagem Docker com sua aplicação na sua própria máquina, disponibilizamos a imagem gerada na aula no seguinte link: https://hub.docker.com/repositories/jacquelineoliveira
O deploy no Fly.io pode ser feito com os seguintes passos:
- Instale o comando flyctl na sua máquina
- Em um Terminal, execute o comando:
flyctl launch --image jacquelineoliveira/linguagensapi:latest
- Configure o endereço do seu MongoDB com o comando:
flyctl secrets set "SPRING_DATA_MONGODB_URI=mongodb+srv://seuusuario:[email protected]/aluraDb?retryWrites=true&w=majority"
(não deixe de definir o usuário e senha corretos)
Material complementar
- Artigo da Alura “Começando com Docker“
- Artigo da Alura “Heroku, Vercel e outras opções de Cloud como plataforma”.
- Podcast Hipters.Tech “Integração Contínua, Deploy Contínuo e Github Actions”.
- Pesquisa da JetBrains, empresa que desenvolve a IDE IntelliJ, sobre o ecossistema Java em 2021.
Instabilidade das APIs
Instabilidade da API do IMDb
Caso a API do IMDb esteja instável ou fora do ar, você pode utilizar os seguintes endereços alternativos:
- https://raw.githubusercontent.com/alura-cursos/imersao-java-2-api/main/TopMovies.json
- https://raw.githubusercontent.com/alura-cursos/imersao-java-2-api/main/TopTVs.json
- https://raw.githubusercontent.com/alura-cursos/imersao-java-2-api/main/MostPopularMovies.json
- https://raw.githubusercontent.com/alura-cursos/imersao-java-2-api/main/MostPopularTVs.json
Para utilizar os endereços alternativos, troque a URL da aula por uma das novas URLs:
// fazer uma conexão HTTP e buscar os top 250 filmes
// String url = "https://imdb-api.com/en/API/Top250Movies/k_0ojt0yvm";
String url = "https://raw.githubusercontent.com/alura-cursos/imersao-java-2-api/main/TopMovies.json"; // usando endereço alternativo
Instabilidade da API da NASA 🌌
Caso a API da NASA fique instável, use as seguintes URLs, que terão os mesmos dados usados na aula:
Além disso, deixamos uma URLs com imagens fantásticas do James Webb Space Telescope, como o primeiro deep field desse fantástico telescópio! TOPZERA! 🌠 ☄️ 🚀 🛰️ 🔭 🌌
Para utilizar os endereços alternativos da NASA APOD, troque a URL da aula por uma das novas URLs:
// String url = "https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY&start_date=2022-06-12&end_date=2022-06-14";
String url = "https://raw.githubusercontent.com/alura-cursos/imersao-java-2-api/main/NASA-APOD.json";
ExtratorDeConteudo extrator = new ExtratorDeConteudoDaNasa();
Divulgue seu projeto
Mostre seu projeto para o mundo compartilhando no LinkedIn e Instagram! Marque a Alura (@AluraOnline) e o Paulo (@paulo_hipster). Vamos adorar ver seus projetos e acompanhar sua evolução! Lembre-se de utilizar a hashtag #ImersaoJava para seu projeto ter ainda mais alcance.
Ah, e não esqueça de colocar a tag ImersaoJava dentro do seu projeto no GitHub. É só clicar na engrenagem que aparece na seção About e colocar a tag ImersaoJava dentro do campo Topics. Queremos ver seu portfólio!
Discord
Participe do Discord para tirar suas dúvidas e conhecer outras pessoas que estão mergulhando em Java junto com você! Clique aqui para entrar.
Bons estudos e até a live de encerramento!
Quem são nossos mergulhadores?
Instrutores e Instrutoras da Alura nessa imersão
LIVES DESTA IMERSÃO!
Reveja tudo que aconteceu
durante as lives
Live NO AR
Conheça seus primeiros passos com Java
Live NO AR
Carreira em Java: Como é trabalhar na área?
Live NO AR
Quais são meus próximos passos com Java?