Executando sua aplicação Java na Oracle Container Cloud

occs_logo1
Oracle Container Cloud

Neste post veremos como  utilizar a plataforma de Cloud da Oracle para executar nossas imagens de docker com uma aplicação Java no serviço de Container.

O objetivo do post não é ensinar como fazer build de uma imagem com o dockerfile e subi a mesma para o docker hub ou até mesmo demonstrar a utilização docker. Mas sim mostrar como executar,fazer pull da imagem para Oracle Container Cloud. Basicamente considere o post como uma tradução do video do Adam Bien .

Diferente do video não estarei utilizando o Glassfish, mas sim usando duas imagens, uma web-app com Wildfly-Swarm e uma api rest com SparkJava com CRUD sendo consumido no Angular 2/4 .

Obtendo uma Conta 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 : http://cloud.oracle.com/ e criar uma conta trial que te dar $300(900 BRL) para testar a plataforma por 30 dias.

trial
http://cloud.oracle.com/

Bastando preencher os campos solicitado e informar o numero do cartão de credito para que o cadastro seja completado, porem não se preocupe que não sera cobrado nada apos o termino dos 30 dias, a menos que optar por fazer upgrade para uma conta paga para continuar a usar os serviços.

Feito o cadastro, basta aguardar um e-mail de boas vindas com as sua credenciais para acesse a plataforma Oracle Cloud , que leva mais ou menos uns 2 dias.

Oracle Cloud Container

Os serviços Oracle Cloud ajudam os usuários a criar contêineres e  oferece a
capacidade de criar serviços de forma rápida e fácil, aumentando assim a produtividade de uma empresa.

Este serviço usa ambientes especiais de produção, teste e pré-produção. O objetivo principal do Oracle Container Cloud Service é gerenciar o Docker e melhorar o controle para que os sistemas funcionem corretamente.

Com a Oracle Container Cloud oferece às equipes de Desenvolvimento e Operações os benefícios de um contentor Docker fácil e segura ao criar e implantar aplicativos.

Com tudo esse serviço oferece os seguinte benefícios :

  • fornece uma interface fácil de usar para gerenciar o ambiente Docker .
  • fornece exemplos imediatos de serviços contatados e pilhas de aplicativos que podem ser implantados em um clique.
  • permite que os desenvolvedores se conectem facilmente aos seus registros Docker privados (para que eles possam “trazer seus próprios contêineres”).
  • permite que os desenvolvedores se concentrem em criar imagens de aplicativos em contêineres e pipelines de Integração Contínua / Entrega Contínua (CI / CD), não em aprender tecnologias de orquestração complexas.

Bem feita essa rápida introdução sobre o serviço, podemos da inicio ao processo de criação da uma instancia na Oracle Cloud.

Acessando a Oracle Cloud Container

Logo apos ter feito o cadastro de uma conta trial e receber o e-mail de boas vindas juntamente com as credenciais para acessar os serviços podemos da inicio na criação de uma instancia do serviço de Contêiner .

Primeiramente acesse o link que você recebeu no e-mail e ao clicá-la sera levado a seguinte tela :

  login

entre com seu usuário e senha recebido no e-mail, feito o login sera levado a tela de DashBoard contendo informações sobre seus serviços, valores, notificações, etc.

paineldeControle
Painel de Controle/DashBoard

A partir desta tela podemos criar novas instancias dos serviços disponíveis em nossa conta, com podem observar eu tenho dois serviços listados no meu painel, os mesmo estão sendo exposto aqui, eu especifiquei quais serviços eu quero mostrar em meu painel quando entro na minha conta, podemos adicionar mais serviço clicando no card “Personalizar Painel de Controle”.

Como entrar nessa tela pela primeira vez, temos somente o serviço de Identity Cloud apresentado, para criar uma nova instancia de algum serviço temos duas opções :

1 – Clicando no card “Criar Instancia” que ira da uma lista dos serviços disponíveis separados por categoria .

2 – Clicar no menu ao lado do nome “Oracle Cloud – Meus Serviços”, nisso ira lhe apresentar um menus com uma lista de opções e um outro menu chamado “serviços” que lista os serviços que temos disponíveis para usar.

Para esse post eu vou utilizar o serviço chamado “Container Versão Classic ” para isso clique no Card criar instancia ou mesmo vai no menu e procurar por esse nome e você sera levado a tela do serviço , como pode ser visto na seguinte imagem :

container
Oracle Container Console

Agora para criarmos uma instancia desse serviço, vamos clicar na aba “Instances” e sera exibida a seguinte tela :

create

Clique no botão “Create Instance” e você sera levado a uma tela com um pequeno formulário para preencher para poder ser criado uma instancia :

new

Preenche todos os dados e logo depois clique em Edit no campo “SSH Public Key” para termos acesso a instancia via terminal, nisso ira abrir um pop-pup oferecendo 3 opções para entrar com SSH :

ssh

Marque a opção “Create a New key”  , nisso será gerado uma chave publica e privada e a mesma dará opção fazer Download de um arquivo zip contendo a mesmo, feito isso a tela volta para o formulário com o campo preenchido com o valor da chave, logo em seguida clique em “Next” para ser levado a tela de confirmação das configurações, estando tudo certo clique em “Create” para ser levado novamente a tela de instancia aonde o seu serviço esta sendo criado :

service

Nesta tela mostra todas as instancia criadas atualmente, bem como um pequeno sumario dos recursos utilizado por esse instancia.

Agora clique no nome do seu serviço para ser levado a tela onde ira conter mais detalhes sobre o serviço ainda em criação :

overview

Nesta tela é mostrada os recursos, status de criação da instancia, bem como acesso a url para acessar o console para podemos utilizar o serviço,etc. Ira levar um tempinho para que o serviço esta ok.

Depois de tudo pronto podemos acessar o serviço, para isso bastamos ir no menu como na imagem a seguir e clicar em “Container Console” :

menu

Apos clicar você sera levado a uma outra tela de login, aonde deve ser inserido o login e senha criado no momento da criação da instancia :

log

feito isso você estará dentro do console do serviço, ou seja o painel de controle/dashboard conforme a imagem e nesse link contem as descrição de cada função desta tela :

console

agora bastamos clicar em “Services” e seremos levados a seguinte tela :

images

aqui é mostrado uma lista de serviços pré-configurados bastando usá-los e modificá-los da sua maneira.

Agora para a gente fazer um pull da nossa imagem que fica no docker hub, precisaremos criar um serviço, para isso basta clicar no botão “New Serviçe” e vai abrir um pop-pup com um pequeno formulário para criação do nosso serviço nesse link contem as descrição de cada função desta tela  :

newService

bastando preencher o mesmo da seguinte forma para esse post fiz da seguinte maneira :

conf

conf2

conf3

indo na aba YAML você poderá ver como ficou a configuração :

yaml

feito isso basta clicar em salvar, nisso você voltara para a tela de serviços, bastando procura pelo nome do serviço que no meu caso é “danieldiasjava” e clicar em “Deploy” para da inicial ao pull da imagem do docker :

deploy

feito isso, clique no “Container Name” para ir para tela de detalhe e pegar o ip publico para acessar o app :

deploya

nesta tela va na aba “Environment Variable” para ser mostrado um log aonde ira comter o ip_publico conforme a imagem :

ip_public

pegando o ip que no meu caso é public_ip : 129.150.112.30 e utilizando o mesmo no navegador. Então para acessar a os serviço da imagem danieldiasjava/sparkjava-crud temos os seguintes endereços :

GET: http://localhost:8080/api/consultar
POST: http://localhost:8080/api/cadastrar
GET: http://localhost:8080/api/consultar/{codigo}
PUT: http://localhost:8080/api/editar
DELETE: http://localhost:8080/api/deletar/{codigo}

então utilizando o PostMan para testar nosso serviço com o Post da seguinte maneira :

restPost

e fazendo um Get com http://129.150.112.30:8080/api/consultar , trazendo o resultado :

resultado

 

também podemos fazer uso de um frond-end para esta consumindo esse rest, para tal tenho esse simples app feito em angular 2/4 disponível no seguinte link, bastando alterar o arquivo config.service.ts com o endereço do serviço  :

crud

para ver os logs , você pode clicar em “View Logs” no mesmo local quando vimos para pegar o ip_public :

logs

Agora iremo fazer o mesmo para a imagem do Wildfly-Swarm seguindo o mesmo passos, bastando apenas mudar a porta para 8081:8080 ,passando o nome da imagem  : danieldiasjava/ozark-demo , depois do deploy basta acessar o endereço que no meu caso é : http://129.150.112.30:8081/app/ :

souJava

Depois disso bastamos paramos nosso serviço e remover os mesmo no menu “Deployments”, se necessário também pode remover suas imagem no menu “Services”:

remove

Para sair do console do Container basta fazer logout e vamos agora remover nosso serviço de container voltando novamente na tela aonde criamos nossa instancia e acessar um pequeno menu e clicar em “Delete” e marcar uma check-box para forçar o delete :

remo

Bem isso é tudo, espero que os leitores tenham gostado desse passo a passo na utilização de um dos serviços da Oracle Cloud.

Aproveite seus 30 dias e explore mais esse serviço e teste outros também.

O código-fonte para o projeto SparkJava-crud pode ser encontrado aqui.

REFERÊNCIAS

 

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s