Executando sua aplicação Java na Oracle Cloud Infrastructure

Daniel Dias
Daniel Dias
Published in
7 min readSep 30, 2019

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 Oracle 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
Daniel Dias

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