Conteúdo


Aumente a produtividade com cinco plug-ins do Cloud Foundry

Desenvolva aplicativos de nuvem localmente, liste problemas do ambiente, mostre estatísticas em tempo real, e muito mais

Comments

O Cloud Foundry é a plataforma de aplicativo de nuvem de software livre padrão de mercado para desenvolvimento e implementação de aplicativos de nuvem corporativos e, se você usar a interface da linha de comandos (CLI) do Cloud Foundry, será possível instalar plug-ins que poderão aumentar sua produtividade, permitindo que você:

  • Desenvolva aplicativos de nuvem localmente
  • Mostre estatísticas em tempo real de sua distribuição do Cloud Foundry
  • Economize o tempo normalmente necessário para copiar e colar URLs de aplicativos de nuvem
  • Exiba informações sobre o usuário do aplicativo
  • Exiba uma lista dos problemas existentes atualmente em seu ambiente de nuvem

Embora a CLI do cf seja uma ferramenta eficiente por si só, os plug-ins podem tornar a tarefa de um desenvolvedor ainda mais fácil... Também é possível escrever seus próprios plug-ins que podem ser hospedados internamente ou incluídos na comunidade do CF.

Neste artigo, eu demonstrarei como usar esses plug-ins do Cloud Foundry para executar as tarefas listadas acima:

  • PCF Dev, uma distribuição do Cloud Foundry desenvolvida para execução no laptop ou na estação de trabalho de um desenvolvedor
  • top, uma interface interativa que mostra as principais estatísticas, semelhante ao comando top do UNIX
  • Open, para abrir URLs do aplicativo no navegador
  • whoami, que mostra o nome do usuário que está com login efetuado atualmente
  • doctor, que varre seus aplicativos, rotas e serviços implementados em busca de anomalias e relata quaisquer problemas

É possível localizar vários outros plug-ins em Plug-ins de CLI do cf da Comunidade do Cloud Foundry ou criar seu próprio, tudo isso sem depender de um único fornecedor.

Antes de começarmos a instalação da CLI, vamos dar uma rápida olhada na plataforma do Cloud Foundry.

Sobre o Cloud Foundry

Cloud Foundry—que possui autonomia com relação à linguagem e à infraestrutura—automatiza, escala e gerencia um aplicativo de nuvem por todo o seu ciclo de vida. É possível desenvolver aplicativos em praticamente qualquer linguagem e usar qualquer provedor de nuvem.

O projeto iniciou em 2009 e se tornou open source em 2015 com a criação da Cloud Foundry Foundation. O Cloud Foundry suporta Ruby, Java, Python, PHP, Golang e Node; isso abrange as principais linguagens e estruturas, sendo um dos motivos para ele ser tão popular entre desenvolvedores. Como o Cloud Foundry é um software livre e pode ser implementado em diversas plataformas de nuvem como AWS, Azure e até mesmo OpenStack, isso evita um problema que assusta muitos desenvolvedores e startups: depender de um único fornecedor.

Os desenvolvedores também têm a opção de implementar aplicativos em soluções Cloud Foundry gerenciadas e plataformas certificadas como IBM Bluemix, Atos Cloud Foundry, Pivotal Cloud Foundry, SAP Cloud Platform, Huawei FusionStage e Swisscom Application Cloud. Algumas alternativas ao Cloud Foundry são Heroku, OpenShift e Google App Engine.

Se você for absolutamente novo no Cloud Foundry, consulte a seção Tópicos Relacionados deste artigo para obter os tutoriais sobre como começar a usar a plataforma.

Em seguida, explicarei como instalar a CLI.

CLI, uma chave para a produtividade

A CLI do Cloud Foundry é o cliente da linha de comando certificado que permite que desenvolvedores interajam com a plataforma e seus serviços. Ela é mantida pela Cloud Foundry Foundation.

É possível fazer download e instalar a CLI do Cloud Foundry em plataformas Linux, Mac OSX e Windows.

Embora o Cloud Foundry tenha um ótimo painel de gerenciamento, nada se compara à linha de comandos quando se trata de produtividade e automação. Muitos dos usuários mais assíduos preferem a CLI a aplicativos da GUI.

Instalando a CLI

Será necessário instalar a CLI do Cloud Foundry para poder usar os plug-ins, portanto, siga em frente e conecte-a. A maneira mais fácil é por meio do gerenciador de pacote:

# Para Mac OSX
$ brew install cloudfoundry/tap/cf-cli

# Para Ubuntu e outros distros baseados em Debian

$ wget -q -O -
https://packages.cloudfoundry.org/debian/cli.cloudfoundry.org.key | sudo
apt-key add -
$ echo "deb http://packages.cloudfoundry.org/debian stable main" | sudo
tee /etc/apt/sources.list.d/cloudfoundry-cli.list
# ... em seguida, atualize seu índice de pacote local e, por fim, instale o
CLI do cf
$ sudo apt-get update
$ sudo apt-get install cf-cli

# Para o Fedora e outros sistemas baseados em RedHat

# Configure o repositório do pacote Cloud Foundry Foundation
sudo wget -O /etc/yum.repos.d/cloudfoundry-cli.repo
https://packages.cloudfoundry.org/fedora/cloudfoundry-cli.repo
# ...em seguida, instale o CLI do cf (o que também efetuará download e incluirá a chave pública em seu sistema)
sudo yum install cf-cli

Também é possível fazer download de binários para seu sistema operacional.

Plug-ins, as estrelas do show

A Interface da Linha de Comandos do Cloud Foundry (CLI do cf) inclui uma funcionalidade de plug-in que permite aos desenvolvedores incluir comandos customizados na CLI do cf.

Agora eu detalharei os plug-ins—como instalar e usá-los.

PCF Dev

O PCF Dev é uma distribuição com pequena área de cobertura, fornecida pela equipe Pivotal e projetada para execução dentro de uma única máquina virtual em sua máquina local, oferecendo a experiência completa do Cloud Foundry e um ambiente de desenvolvimento com todos os recursos em um pacote fácil de instalar.

Em outras palavras, ele permite desenvolver seus aplicativos de nuvem localmente. O PCF Dev também é uma boa maneira de avaliar e conhecer o Cloud Foundry.

Para todos os propósitos práticos, o PCF Dev se comporta como um plug-in. Por exemplo, para desinstalá-lo, use o comando cf uninstall-plugin pcfdev.

Para executar o PCF Dev, deve-se ter pelo menos 4 GB de memória e 20 GB de espaço livre em disco em sua máquina. Todos os exemplos neste artigo funcionam perfeitamente com o PCF Dev.

Instale o plug-in

Faça o download do binário do plug-in para seu SO:

  • GitHub permite desenvolver uma versão de software livre do PCF Dev que contém apenas o Elastic Runtime e o CF MySQL Broker.
  • Rede Pivotal permite desenvolver uma versão que contém outros componentes do PCF, como Redis e RabbitMQ.

Para obter a versão integral, pode ser necessário efetuar login antes de poder fazer download do plug-in.

Quando você tiver o arquivo .zip do plug-in, extraia-o em uma pasta e execute o arquivo binário que ele contém. Eu transferi por download a versão do Mac OSX do plug-in, mas obviamente você deve fazer download da versão que corresponde ao seu sistema operacional.

kn330@local-osx $ ls
pcfdev-v0.26.0+PCF1.10.0-osx.zip

kn330@local-osx $ unzip pcfdev-v0.26.0+PCF1.10.0-osx.zip
Archive:  pcfdev-v0.26.0+PCF1.10.0-osx.zip
inflating: pcfdev-v0.26.0+PCF1.10.0-osx

kn330@local-osx $ ./pcfdev-v0.26.0+PCF1.10.0-osx
Plugin successfully upgraded. Versão atual: 0.26.0. For more info
run: cf dev help

Se o plug-in for instalado com êxito, você verá a mensagem de êxito como a saída.

Se estiver usando Linux, você poderá não ter o utilitário unzip pré-instalado. Será possível fazer download e instalá-lo usando o comando a seguir:

$ sudo apt-get install unzip

Usando o plug-in

PCF Dev é a maneira mais fácil de acelerar uma distribuição local no Cloud Foundry, e isso poderá ser feito com o comando cf dev start :

kn330@local-osx $ cf dev start
Downloading VM...
Progress: |====================>| 100%
VM downloaded
Importing VM...
Starting VM...
Provisioning VM...
Waiting for services to start...
40 out of 40 running
_______  _______  _______    ______   _______  __   __
|       ||       ||       |  |      | |       ||  | |  |
|    _  ||       ||    ___|  |  _    ||    ___||  |_|  |
|   |_| ||       ||   |___   | | |   ||   |___ |       |
|    ___||      _||    ___|  | |_|   ||    ___||       |
|   |    |     |_ |   |      |       ||   |___  |     |
|___|    |_______||___|      |______| |_______|  |___|
is now running.
To begin using PCF Dev, please run:
cf login -a https://api.local.pcfdev.io --skip-ssl-validation
Admin user => Email: admin / Password: admin
Regular user => Email: user / Password: pass

Pode levar vários minutos para as máquinas e serviços do PCF Dev iniciarem.

A saída também ecoa as credenciais que podem ser usadas para login no Cloud Foundry Dev.

É possível verificar o status de seu ambiente de desenvolvimento com o comando cf dev status :

kn330@local-osx $ cf dev status
Running
CLI Login: cf login -a https://api.local.pcfdev.io --skip-ssl-validation
Apps Manager URL: https://local.pcfdev.io
Admin user => Email: admin / Password: admin
Regular user => Email: user / Password: pass

Agora execute um aplicativo demo em seu ambiente local do Cloud Foundry.

Primeiro, clone o aplicativo demo spring-music, que foi escrito em Java™ na Estrutura Spring.

kn330@local-osx $ git clone https://github.com/cloudfoundry-
samples/spring-music

Monte o aplicativo usando gradle:

kn330@local-osx $ cd ./spring-music
kn330@local-osx $ ./gradlew assemble

Efetue login no PCF Dev com o nome do usuário admin e a senha admin:

kn330@local-osx $ cf login -a api.local.pcfdev.io --skip-ssl-validation
API endpoint: api.local.pcfdev.io
...
API endpoint:   https://api.local.pcfdev.io (API version: 2.75.0)
User:           admin
Org:            pcfdev-org
Space:          pcfdev-space

Realize push do aplicativo:

kn330@local-osx $ cf push --hostname spring-music
Using manifest file /../spring-music/manifest.yml
...
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
1 of 1 instances running
...
requested state: started
instances: 1/1
usage: 1G x 1 instances
urls: spring-music.local.pcfdev.io

É possível verificar o aplicativo implementado visitando a URL http://spring-music.local.pcfdev.io com seu navegador.

O painel de administração para o ambiente local do PCF Dev está acessível em http://apps.local.pcf.dev. Se você está visitando pela primeira vez, também deve-se executar o comando cf dev trust. É necessário fazer isso porque o painel administrativo é executado em https e o PCF Dev usa um certificado autoassinado que precisa ser incluído na cadeia de chaves confiável de sua máquina local.

Para obter mais informações sobre o PCF Dev, digite cf dev help.

top

O plug-in top é uma ferramenta interativa da CLI do Cloud Foundry que exibe estatísticas em tempo real sobre sua distribuição do Cloud Foundry, incluindo métricas de aplicativos e de rota, utilização do recurso do sistema por aplicativos e outros valores importantes. Pense no top como uma alternativa do Cloud Foundry ao Linux top . A fonte primária de informações que o plug-in top geralmente usa é pelo monitoramento do plug-in Cloud Foundry Firehose.

O top é executado no modo privilegiado ou não privilegiado, dependendo de quais permissões foram concedidas ao usuário.

Instale o plug-in

É possível instalar o plug-in facilmente da seguinte forma:

kn330@local-osx $ cf install-plugin -r CF-Community "top"

Usando o plug-in

Para começar a usar o plug-in, basta inserir o seguinte:

kn330@local-osx $ cf top

Como pode ser visto na Figura 1, o aplicativo spring-music que foi implementado no ambiente do PCF Dev está sendo exibido junto com dois outros aplicativos do sistema.

Figura 1. Estatísticas em tempo real do Cloud Foundry usando o plug-in top
Cloud Foundry live statistics using the top plugin
Cloud Foundry live statistics using the top plugin

Os aplicativos do sistema ficam visíveis porque efetuamos login como o administrador. Para obter mais informações sobre um aplicativo, selecione o aplicativo com as teclas de seta e pressione Enter.

Figura 2. Obtendo detalhes do aplicativo usando o plug-in top
Getting app details using the top plugin
Getting app details using the top plugin

Open

Este é um dos meus plug-ins favoritos porque ele me ajuda a economizar o tempo normalmente necessário para copiar e colar as URLs do aplicativo. Quando você tiver esse plug-in instalado, poderá abrir qualquer aplicativo usando o comando cf open app-name.

Instale o plug-in

kn330@local-osx $ cf install-plugin -r CF-Community "Open"
Searching CF-Community for plugin Open...
Plugin Open 1.1.0 found in: CF-Community
7.63 MiB / 7.63 MiB [===================================] 100.00% 6s
Plugin open 1.1.0 successfully installed.

Usando o plug-in

Isso abrirá o aplicativo spring-music no navegador.

cf open spring-music

whoami

O plug-in whoami faz exatamente o que seu nome indica—ele exibe informações sobre o usuário. Esse plug-in poderá ser muito útil se você tiver várias distribuições do Cloud Foundry e precisar alternar continuamente entre elas.

Instale o plug-in

kn330@local-osx $ cf install-plugin -r CF-Community "whoami-plugin"
Searching CF-Community for plugin whoami-plugin...
Plugin whoami-plugin 0.2.0 found in: CF-Community
9.22 MiB / 9.22 MiB [===========================================]
100.00% 7s
Plugin Whoami Plugin 0.2.0 successfully installed.

Usando o plug-in

kn330@local-osx $ cf whoami
You are logged in as admin at https://api.local.pcfdev.io
You are targeting the pcfdev-space space in the pcfdev-org org

doctor

O plug-in doctor foi inspirado pelo brew doctor e mostrará uma lista de problemas que existem atualmente em seu ambiente. Homebrew é um gerenciador de pacote de software livre para Mac OS X. Se você é um usuário do Ubuntu, brew doctor é semelhante ao comando apt-get -f install.

Instale o plug-in

kn330@local-osx $ cf install-plugin -r CF-Community "doctor"

Usando o plug-in

Imagine que você tem uma rota oscilante que não possui aplicativos associados a ela:

kn330@local-osx $ cf doctor

doctor: time to triage cloudfoundry

Following routes do not have any app bound to them:
Host: springer2 <--->  Domain: local.pcfdev.io


Total Number of Apps: 1
Total Number of Running Apps: 1

Para corrigir esse problema, é possível excluir a rota com o comando a seguir:

kn330@local-osx $ cf delete-route local.pcfdev.io --hostname springer2

Really delete the route springer2.local.pcfdev.io?> y
Deleting route springer2.local.pcfdev.io...

Agora, se você executar cf doctor novamente, tudo deverá estar OK.

kn330@local-osx $ cf doctor

doctor: time to triage cloudfoundry

doctor: Everything looks OK!

Conclusão

Embora a CLI do cf seja uma ferramenta eficiente por si só, os plug-ins podem tornar a tarefa de um desenvolvedor ainda mais fácil. Outros plug-ins da comunidade fornecem os recursos para:

  • Obter um dump de heap ou de encadeamento
  • Alternar entre ambientes de CF com um único comando
  • Inspecionar, efetuar dump e restaurar seu banco de dados MySQL
  • Gerenciar políticas de rede de aplicativos
  • Copiar aplicativos e serviços em outro destino de CF
  • Sincronizar uma pasta local a uma remota para fazer mudanças rapidamente
  • Mostrar quais aplicativos estão usando um buildpack instalado
  • Executar o mesmo comando em todos os aplicativos em um espaço, em uma organização ou globalmente

A lista continua.

Também é possível escrever seus próprios plug-ins que podem ser hospedados internamente ou incluídos na comunidade do CF.

Não fique atrás de outros programadores na corrida para aumentar a produtividade do appdev de nuvem. Comece a usar plug-ins com o Cloud Foundry hoje!


Recursos para download


Temas relacionados


Comentários

Acesse ou registre-se para adicionar e acompanhar os comentários.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Cloud computing
ArticleID=1056768
ArticleTitle=Aumente a produtividade com cinco plug-ins do Cloud Foundry
publish-date=01192018