Executando sua aplicação Java na Oracle Cloud Infrastructure

Daniel Dias
Sep 30, 2019 · 7 min read

Neste post vamos aprender um pouco sobre Oracle Cloud Infrastructure para montarmos uma simples ambiente para executar nossas aplicações Java .

Aqui iremos apenas fazer uso do recurso livre de custos que foi anunciado no Oralce Open World 2019 — São Francisco , a Camada Sempre Livre.

O que vamos montar na Infraestrutura é :

  • Instalar Git, Maven e OpenJDK
  • Fazer clone de um exemplo usando Helidon e Executa-lo

Introdução ao Oracle Cloud Infrastructure

O Oracle Cloud Infrastructure é um conjunto de serviços em nuvem complementares que permitem criar e executar uma ampla variedade de aplicativos e serviços em um ambiente hospedado altamente disponível.

O Oracle Cloud Infrastructure oferece recursos de computação de alto desempenho (como instâncias físicas de hardware) e capacidade de armazenamento em uma rede virtual de sobreposição flexível que pode ser acessada com segurança a partir da rede local.

Nessa Categoria a Oracle oferece os seguintes produtos :

https://www.oracle.com/cloud/

Para nosso post estaremos utilizando o COMPUTE e iremos criar uma Maquina Virtual .

Recentemente a Oracle introduziu a Camada SEMPRE FREE e sem LIMITES de TEMPO .

Todas as contas do Oracle Cloud Infrastructure (gratuitas ou pagas) possuem um conjunto de recursos gratuitos durante toda a vida útil da conta. Esses recursos exibem o rótulo Always Free no console.

Usando os recursos Always Free, você pode provisionar uma instância de máquina virtual (VM), um Oracle Autonomous Database e os recursos de rede, balanceamento de carga e armazenamento necessários para suportar os aplicativos que você deseja criar.

Com esses recursos, você pode executar tarefas como aplicativos de pequena escala ou realizar testes de prova de conceito.

A lista a seguir resume os recursos elegíveis para o Oracle Cloud Always Free que você pode provisionar em sua locação:

Para saber mais detalhes sobre os recurso veja o link.


Obtendo uma Conta Free e Always Free

Antes de iniciarmos nossa aventura, você vai precisar criar uma conta na Oracle Cloud para poder utilizar os serviços.

Para isso basta acessar o site : https://www.oracle.com/cloud/free/e criar uma conta trial que te dar $300(900 BRL) para testar a plataforma por 30 dias.

Clique em START for FREE e preencha o formulario para cria a sua conta :

e aguarde um e-mail com seu acesso .

Agora se já tem uma conta Oracle Cloud faça o login :

clique em Sing in to Cloud e será levado para a seguinte tela :

Entre com o nome da sua conta cloud e vai para a seguinte tela :

entre com seu E-MAIL e SENHA uma vez feito o login, será apresentada a seguinte tela :


Criando uma instância

Agora vamos criar uma instância de VM com uma imagem Linux e iremos conectar na mesma via SSH. Porém para isso precisamos criar as chaves para obtermos acesso a instancia.

Primeiramente abra o seu terminal e execute os seguinte comando para criar as chaves :

ssh-keygen -t rsa -N "" -b 2048 -C "<key_name>" -f <path/root_name>

Feito isso ira gerar dois arquivos uma chave privada e uma publica com final pub.

Em seguida vamos criar um Compartimento para ajudar a organizar os recursos.

O compartimento é uma coleção de recursos relacionados (como redes em nuvem, instâncias de computação ou volumes de bloco) que podem ser acessados apenas por grupos aos quais a administrador da sua organização recebeu permissão.

Para isso vamos no menu ao lado do nome Oracle Cloud e vá na opção identity -> Compartments :

e a seguinte tela é apresentada :

bastando a gente clicar em CREATE COMPARTMENT para preencher o seguinte formulario e criar o seu compartimento:

Em seguida vamos criar uma Virtual Cloud Network com as suas SubNets. No seguinte link tem uma explicação detalhada de cada componente.

Então vamos ao menu e selecionamos Networking -> Virtual Cloud Networks :

Será levado para a seguinte tela :

Aqui irei criar minha rede no Compartimento daniel_blog, certifique-se de esta apontando para o seu compartimento criado no passo anterior .

Preencha o formulario e deixando marcado a opção Create Virtual Cloud Network Plus Related Resources e depois clique em cria a sua rede:

Agora sim podemos criar a nossa instância, para isso vamos ao menu Compute ->Instances:

Certifique-se mais uma vez que esta em seu compartimento e vá em CREATE INSTANCE .

Aqui entramos com o nome da instância e também e qual sistema operacional iremos utilizar, aqui eu deixei Oracle Linux, mas pode trocar por Ubuntu ou Windows.

na seguinte sessão deixamos como está :

Agora no Instance Shape, devemos troca o default, então clique em “Change Shape” e escolha a micro que é a opção sempre FREE :

na proxima sessão deixe marcado a opção Assign public IP address :

em Boot volume deixe em branco mesmo :

em Add SSH key adicione sua CHAVE PUBLICA aquela com final pub:

isso aqui é o suficiente para cria sua maquina na cloud, porém vamos instalar alguns recursos quando a maquina estiver sendo criada, para isso clique em Show Advanced Options, ira aparece outras opções , então vá em User data e selecione a opção Paste cloud-init script e cole nele o seguinte script :

https://gist.github.com/Daniel-Dos/f967bfe6712253a8dcc35458dd1c60e3

depois disso clique em CREATE para ser criado a sua maquina :

Assim que ficar no status RUNNING poderemos acessar .


Acessando a sua instância

Uma vez criando a sua maquina, o proximo passo é acessa-lo via SSH , para isso abra o seu terminal e digite o seguinte comando :

onde opc é o nome do usúario do Oracle Linux e o ip publico que é mostrado quando concluiu a criação da maquina .

Uma vez dentro da da maquina, execute o comando ls para ver o conteúdo da pasta /home/opc e veja que ele executou o Script :

Agora entre na pasta DanielDiasjava-Blog com o comando : cd DanielDiasjava-Blog/Projeto-Cloud/helidon-se/, e por algum motivo devemos da permissão a essa pasta na hora do build do Maven, pois o mesmo ira falhar.

Então antes de executar o maven , rode o comando seguinte para dar permissão , aqui vou esta usando o 777 mesmo , então faça :

sudo chmod 777 helidon-se/

após isso execute o maven :

mvn clean package -DskipTests

e uma vez feito o build entre na pasta cd DanielDiasjava-Blog/Projeto-Cloud/helidon-se/target e execute java -jar helidon-sample.jar

a aplicação vai esta executando na porta 8080, porém precisamos liberar essa porta na lista de segurança , para isso faça o seguinte :

Vá em Virtual Cloud Networks e entre na rede que voce criou e em seguinda em Subnets :

selecione qualquer uma delas :

em Security Lists entre no que aparecer e vá em Ingress Rules e clique em Add Ingress Rules e preencha o formulario :

em seu postman utilize esse endpoint para ver a aplicação devolver um array vazio : http://SeuIPPublico:8080/event ou utilize o mesmo endpoint para post com a seguinte entrada :

e veja no seu console SSH a executação do app .

após isso, volte ao local da sua instância de um STOP nela e em seguinda um TERMINATE e também exclua todos os recursos que criamos como Network e Compartiment.

Bem isso é tudo que eu tinha que apresentar sobre o Oracle Cloud Infrastructure. Então use e abuse da camada sempre free da Oracle Cloud para começar a aprender mais e testa suas aplicações e soluções .

Referencias

Daniel Dias

SouJava Board Member, JCP Member, JSR-354 (Money), JSR-371 (MVC 1.0), JSR-382 (Configuration 1.0) specifications contributors, Expert Group JSR-385 (UoM 2.0) and Eclipse Committer, is taking the first steps in contributing Open Source projects.

Daniel Dias

Written by

SouJava Board Member, JCP Member, JSR-371 (MVC 1.0), JSR-382 (Config) specifications contributor, EG JSR-385 (UoM) and Eclipse Committer .

Daniel Dias

SouJava Board Member, JCP Member, JSR-354 (Money), JSR-371 (MVC 1.0), JSR-382 (Configuration 1.0) specifications contributors, Expert Group JSR-385 (UoM 2.0) and Eclipse Committer, is taking the first steps in contributing Open Source projects.

More From Medium

More on Java from Daniel Dias

More on Java from Daniel Dias

More on Java from Daniel Dias

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade