¡Participa de la Maratón Behind the Code, la competencia de programación más desafiante! Inscríbete aqui

Incremente la productividad con cinco plug-ins de Cloud Foundry

Cloud Foundry es la plataforma de aplicaciones de nube con código abierto estándar de la industria para desarrollar e implementar aplicaciones empresariales en la nube. Si utiliza la interfaz de la línea de comandos de Cloud Foundry (CLI) podrá instalar plug-ins que le permiten:

  • Desarrollar localmente aplicaciones de la nube
  • Mostrar estadísticas en directo de su distribución de Cloud Foundry
  • Ahorrar el tiempo que normalmente se necesita para copiar y pegar las URLs de las aplicaciones en la nube
  • Mostrar información del usuario de la aplicación
  • Mostrar una lista de los problemas que existen en ese momento en su entorno de nube

Aunque, por sí misma, cf CLI es una herramienta potente, los plug-ins pueden facilitar aún más el trabajo de los desarrolladores… Usted también puede escribir sus propios plug-ins que se pueden alojar internamente o también se pueden añadir a la comunidad de CF.

En este artículo demostraré cómo utilizar estos plug-ins de Cloud Foundry para realizar las tareas anteriores:

  • PCF Dev, una distribución de Cloud Foundry que se diseñó para ejecutarse en la computadora portátil o en la estación de trabajo de un desarrollador
  • arriba, una interfaz interactiva que muestra las principales estadísticas similares a las de UNIX arriba command
  • Abra, para abrir los URLs de una aplicación en el navegador
  • whoami, que le muestra el nombre del usuario que tiene la sesión iniciada en ese momento
  • doctor, que examina sus servicios, rutas y aplicaciones implementadas para buscar anomalías e informa de los problemas

Es posible encontrar muchos otros plug-ins en Cloud Foundry Community cf CLI Plugins o puede crear el suyo propio, sin tener ningún problema de bloqueo de proveedores.

Antes de que empecemos a instalar el CLI, echemos un vistazo rápido a la plataforma Cloud Foundry.

Acerca de Cloud Foundry

Cloud Foundry — que es independiente del lenguaje y de la plataforma — automatiza, escala y gestiona una aplicación en la nube durante su ciclo de vida. Es posible desarrollar aplicaciones en casi cualquier lenguaje y utilizar el proveedor de nube que usted elija.

El proyecto comenzó en 2009 y se convirtió en código abierto en 2015 con la creación de Cloud Foundry Foundation. Cloud Foundry soporta Ruby, Java, Python, PHP, Golang y Node; esto cubre a la mayoría de los principales lenguajes e infraestructuras, que es una de las razones por las que son tan populares entre los desarrolladores. Ya que Cloud Foundry es de código abierto y que se pueden implementar en varias plataformas de nube como AWS, Azure e incluso OpenStack, esto evita el problema de bloqueo de proveedores que asusta a muchos desarrolladores y startups.

Los desarrolladores también tienen la opción de implementar aplicaciones en soluciones Cloud Foundry administradas y en programas certificados como IBM Cloud, Atos Cloud Foundry, Pivotal Cloud Foundry, SAP Cloud Platform, Huawei FusionStage, y Swisscom Application Cloud. Algunas alternativas para Cloud Foundry son Heroku, OpenShift y Google App Engine.

Si es absolutamente nuevo en Cloud Foundry, vea la sección de temas relacionados de este artículo para encontrar tutoriales sobre cómo dar los primeros pasos y cómo utilizar la plataforma.

Ahora voy a explicar cómo instalar el CLI.

CLI, una clave para la productividad

Cloud Foundry CLI es el cliente certificado de línea de comandos que permite que los desarrolladores interactúen con la plataforma y con sus servicios. Cloud Foundry Foundation se encarga de su mantenimiento.

Usted puede descargar e instalar Cloud Foundry CLI en plataformas Linux, Mac OSX y Windows.

Aunque Cloud Foundry tiene un bonito panel de gestión, nada es mejor que la línea de comandos a la hora de la productividad y de la automatización. Muchos de los usuarios más serios prefieren CLI a las aplicaciones de GUI.

Cómo instalar la CLI

Tendrá que instalar Cloud Foundry CLI para ser capaz de utilizar los plug-ins, así que continúe y conéctela. La forma más fácil es a través del gestor de paquetes:

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

# Para Ubuntu y para otras distribuciones basadas en 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
# ...a continuación, actualice el índice de su paquete local y luego finalice la instalación de cf
CLI
$ sudo apt-get update
$ sudo apt-get install cf-cli

# Para Fedora y para otros sistemas basados en RedHat

# Configure el repositorio de paquetes de Cloud Foundry Foundation
sudo wget -O /etc/yum.repos.d/cloudfoundry-cli.repo
https://packages.cloudfoundry.org/fedora/cloudfoundry-cli.repo
# ...a continuación, instale cf CLI (que también descargará y añadirá la
clave pública a su sistema)
sudo yum install cf-cli

También es posible descargar los archivos binarios para el sistema operativo.

Los plug-ins, las estrellas del espectáculo

La Interfaz de la Línea de Comandos de Cloud Foundry (cf CLI) incluye funcionalidad de plug-in que permite que los desarrolladores añadan comandos personalizados a cf CLI.

Ahora describiré en detalle a los plug-ins; cómo instalarlos y utilizarlos.

PCF Dev

PCF Dev es una distribución pequeña que ha brindado el equipo de Pivotal y que está diseñada para ejecutarse dentro de una única máquina virtual de su máquina local, lo que le proporciona toda la experiencia de Cloud Foundry y un entorno de desarrollo con funciones completas en un paquete fácil de instalar.

En otras palabras, le permite desarrollar localmente sus aplicaciones en la nube. PCF Dev también es una buena forma de evaluar y de aprender a utilizar Cloud Foundry.

Para todos los aspectos prácticos, PCF Dev se comporta como un plug-in. Por ejemplo, para desinstalarlo se utiliza el comando cf uninstall-plugin pcfdev.

Para ejecutar PCF Dev, debe tener al menos 4 GB de memoria y 20 GB de espacio libre en el disco de su máquina. Todos los ejemplos de este artículo funcionando bien con PCF Dev.

Instale el plug-in

Descargue el binario del plug-in para su SO:

  • GitHub le permite construir una versión de código abierto de PCF Dev que sólo contenga Elastic Runtime y CF MySQL Broker.
  • Pivotal Network le permite construir una versión que contenga otros componentes PCF, como Redis y RabbitMQ.

Para obtener la versión completa es posible que tenga que iniciar sesión antes de descargar el plug-in.

Una vez que tenga el archivo .zip del plug-in, extráigalo en una carpeta y ejecute el archivo binario que contiene. He descargado la versión Mac OSX del plug-in, pero usted deberá descargar la versión que corresponda a su sistema operativo.

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
Plug-in actualizado correctamente. Versión actual: 0.26.0. Para más información ejecute: cf dev help

Si el plug-in se ha instalado correctamente, como resultado verá el siguiente mensaje de éxito.

Si está utilizando Linux, es posible que no tenga preinstalada la utilidad para descomprimir. Puede descargarla e instalarla utilizando el siguiente comando:

$ sudo apt-get install unzip

Cómo utilizar el plug-in

PCF Dev es la forma más fácil de sincronizar una distribución local en Cloud Foundry, y puede hacerlo con el 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.
Para comenzar a utilizar PCF Dev, ejecute:
cf login -a https://api.local.pcfdev.io --skip-ssl-validation
Admin user => Email: admin / Password: admin
Regular user => Email: user / Password: pass

Para que las máquinas y los servicios de PCF Dev se inicien se pueden tardar varios minutos.

El resultado también recuerda las credenciales que se pueden utilizar para iniciar sesión en Cloud Foundry Dev.

Es posible verificar el estado del entorno de desarrollo con el 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

Ahora ejecute una aplicación de demostración en su entorno local de Cloud Foundry.

Primero, clone la aplicación de demostración spring-music, que está escrita en Java™ en la Infraestructura Spring.

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

Ensamble la aplicación con gradle:

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

Inicie sesión en PCF Dev con el nombre de usuario admin y la contraseña 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

Envíe la aplicación:

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

Es posible verificar la aplicación implementada con su navegador visitando el URL http://spring-music.local.pcfdev.io.

Se puede acceder al panel del administrador para el entorno PCF Dev en http://apps.local.pcf.dev. Si lo está visitando por primera vez, también debe ejecutar el comando cf dev trust. Tiene que hacerlo porque el panel de instrumentos del administrador en https y en PCF Dev utiliza un certificado autofirmado que se tiene que añadir al llavero confiable de su máquina local.

Para obtener más información acerca de PCF Dev, teclee cf dev help.

top

El plug-in “top” es una herramienta interactiva de Cloud Foundry CLI que muestra estadísticas en directo de su distribución de Cloud Foundry, lo que incluye métricas de la aplicación y de la ruta, la utilización de recursos del sistema por cada aplicación, y otros valores importantes. Piense en “top” como una alternativa de Cloud Foundry a Linux arriba. La principal fuente de información que normalmente utiliza el plug-in “top” es el plug-in Cloud Foundry Firehose, monitorizándolo.

“top” se ejecuta en modo privilegiado o no privilegiado dependiendo de los permisos que se hayan otorgado al usuario.

Instale el plug-in

Es posible instalar fácilmente el plug-in de la siguiente manera:

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

Cómo utilizar el plug-in

Para comenzar a utilizar el plug-in, debe introducir lo siguiente:

kn330@local-osx $ cf top

Como puede ver en la Imagen 1, la aplicación spring-music que se desarrolló en el entorno PCF Dev se está mostrando junto con otras dos aplicaciones del sistema.

Estadísticas en directo de Cloud Foundry con el plug-in “top”

Estadísticas listadas con el plug in aparecen: spring-music, apps-manager y routimng_api.

Las especificaciones del sistema están visibles porque hemos iniciado sesión con la cuenta de administrador. Para obtener más información sobre una aplicación, seleccione la aplicación con las teclas de las flechas y haga clic en Intro.

Cómo obtener detalles de la aplicación con el plug-in “top”

Detalles de la aplicación spring music, como porcentajes, memorias y espacios libres y ocupados.

Abra

Este es uno de mis plug-ins favoritos porque me ahorra mucho tiempo que normalmente es utilizado para copiar y pegar las URLs de las aplicaciones. Una vez que tenga instalado este plug-in, podrá abrir cualquier aplicación con el comando cf open nombre-de-aplicación.

Instale el 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.

Cómo utilizar el plug-in

Esto abrirá la aplicación spring-music en el navegador.

cf open spring-music

whoami

El plug-in whoami hace exactamente lo que su nombre implica en inglés; muestra información acerca del usuario. Este plug-in puede ser muy útil si usted tiene varias distribuciones de Cloud Foundry y tiene que estar cambiando entre ellas.

Instale el 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.

Cómo utilizar el 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

El plug-in Doctor está inspirado en brew doctor Y le mostrará una lista de los problemas que existen en ese momento en su entorno. Homebrew es un gestor de paquetes de código abierto para Mac OS X. Si usted es usuario de Ubuntu, brew doctor es similar al comando apt-get -f install.

Instale el plug-in

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

Cómo utilizar el plug-in

Imagine que una de sus rutas está colgando y que no tiene ninguna aplicación asociada a la misma:

kn330@local-osx $ cf doctor

doctor: time to triage cloudfoundry

Las siguientes rutas no tienen ninguna aplicación vinculada a ellas:
Host: springer2 <--->  Domain: local.pcfdev.io

Número Total de Aplicaciones: 1
Número Total de Aplicación de Ejecución: 1

Para corregir este problema, puede borrar la ruta con el siguiente comando:

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

Elimine en efecto la ruta springer2.local.pcfdev.io?> y
Deleting route springer2.local.pcfdev.io...

Ahora, si vuelve a ejecutar cf doctor, todo debería estar bien.

kn330@local-osx $ cf doctor

doctor: time to triage cloudfoundry

doctor: ¡Todo se ve bien!

Conclusión

Aunque, por sí misma, cf CLI es una herramienta potente, los plug-ins pueden facilitar aún más el trabajo de los desarrolladores. Otros plug-ins de la comunidad brindan capacidades para:

  • Obtener un volcado de pilas o de hilos
  • Cambiar entre entornos de CF con un único comando
  • Inspeccionar, volcar y restaurar su base de datos de MySQL
  • Gestionar las políticas de red de las aplicaciones
  • Copiar las aplicaciones y servicios a otro destino de CF
  • Sincronizar una carpeta local con una remota para hacer cambios sobre la marcha
  • Mostrar qué aplicaciones están utilizando un buildpack instalado
  • Ejecutar el mismo comando en todas las aplicaciones de un espacio, organización o globalmente

La lista continúa sin parar.

Usted también puede escribir sus propios plug-ins que se pueden alojar internamente o también se pueden añadir a la comunidad de CF.

No se quede atrás de otros programadores en la carrera por la productividad en appdev de la nube. ¡Comience a utilizar hoy los plug-ins con Cloud Foundry!

Aviso

El contenido aquí presentado fue traducido de la página IBM Developer US. Puede revisar el contenido original en este link