Uno de los objetivos de la computación en nube es permitir una variada selección de recursos de trabajo para consumidores en la nube, otro objetivo es mantener las tareas de soporte en un nivel manejable para los equipos de desarrolladores de software e imágenes. Puede parecer que estos dos objetivos son excluyentes entre sí, sin embargo esta serie (consulte visión general de la serie) demuestra cómo el uso y la administración eficaz de paquetes de software y recursos de imagen pueden posibilitar estos dos objetivos.
Este artículo:
- Proporciona una visión general de los conceptos de administración de paquetes de software e imágenes.
- Explica el modelo de recursos.
- Compara este modelo con otras plataformas de administración de paquetes de software.
- Discute casos de uso.
- Examina las herramientas disponibles.
Los conceptos se ilustran con el ejemplo de utilización de una aplicación de calculadora de ahorro de energía. Aprenda cómo implementar una solución simple, incluyendo una muy pequeña cantidad de código Python e instrucciones para el desarrollo de un paquete RPM. Lea cómo implementar ese paquete de software en una máquina virtual en la nube. Los artículos subsiguientes de la serie investigarán las herramientas individuales, APIs y casos de uso con más detalles, utilizando el mismo ejemplo de aplicación.
Este artículo es adecuado para los usuarios de la nube y planificadores que quieren saber cómo administrar los recursos de la nube de manera eficaz y sostenible. No es necesario tener conocimientos de programación. Aunque se proporcionan algunos ejemplos de script muy cortos, todos los antecedentes necesarios son explicados. Los ejemplos utilizan Linux® pero fácilmente pueden ser adaptados para funcionar en Windows®.
En el contexto de IBM SmartCloud Enterprise, un paquete de software es un colección de archivos de instalación de software, archivos de configuración y metadatos que se pueden desplegar en una instancia de máquina virtual.
Se pueden crear y administrar paquetes de software en SmartCloud Enterprise mediante IBM Image Construction and Composition Tool (ICCT), APIs de SmartCloud Enterprise REST y herramientas de terceros.
El software de imágenes en máquinas virtuales normalmente viene preinstalado y configurado por el desarrollador de las imágenes. Un problema con este enfoque "liofilizado" es la posibilidad de que no se encuentre una imagen con la combinación de software que se desea. Esto puede llevar al "hágalo usted mismo" donde se elige una imagen de máquina virtual lista para usar y se considera como una base para instalar software propio. Esto puede conducir a una proliferación de imágenes de máquina virtual, conocido en los círculos de TI como dispersión de imágenes de máquina virtual.
Otro problema es que las imágenes de máquinas virtuales diseñadas para casos de uso específicos no suelen ser muy útiles para escenarios distintos del pretendido por el desarrollador de las imágenes. SmartCloud Enterprise provee un puente que cruza la brecha entre el enfoque liofilizado y el enfoque hágalo usted mismo mediante parámetros de máquina virtual, scripts de activación y paquetes de software para crear imágenes de plantilla en SmartCloud Enterprise.
Otra solución más portátil es IBM Image Construction and Composition Tool (ICCT), una herramienta independiente que puede añadir software en máquinas virtuales. ICCT ahora se incluye con IBM Workload Deployer 3.1, IBM SmartCloud Provisioning 1.2 e IBM SmartCloud Enterprise. ICCT almacena imágenes como paquetes de Open Virtual Format Archive (OVA) que se pueden desplegar mediante productos IBM Workload Deployer 3.1, IBM SmartCloud Enterprise y VMware.
Las imágenes de máquina virtual pueden contener:
- Sistemas operativos
- Middleware
- Aplicaciones
- Configuraciones específicas de usuario
A medida que se añaden más elementos a una imagen, esta se convierte en menos reutilizable; mientras menos reutilizable es una imagen individual, aumenta la probabilidad de que se termine con más imágenes. Y, tangencialmente (pero, sin embargo, un concepto importante), cuanto menos elementos se incluyen en una imagen, menos útil resulta la imagen para los usuarios de la nube.
Decidir qué incluir en una imagen y cómo transformarla en una plantilla son dos tareas fundamentales en el arte del desarrollo de imágenes.
Modelo de recursos de SmartCloud Enterprise
Un modelo simplificado de recursos lógicos se muestra en la Figura 1.
Figura 1. Modelo de recursos de imágenes y paquetes de software
Las descripciones de los recursos, atributos y relaciones se muestran en la Tabla 1.
Tabla 1. Descripciones de recursos, atributos y relaciones
| Recurso | Descripción | Atributos y relaciones |
|---|---|---|
| Imagen | Un archivo binario que se puede almacenar, para el cual se crea una instancia en una instancia de máquina virtual y metadatos para describirlo. | Una imagen se almacena en una ubicación. El estado indica si está utilizable o en transición. Una imagen para la cual se puede crear una instancia. |
| Ubicación | Un centro de datos o una ubicación donde las máquinas físicas son almacenadas. | Imágenes, instancias y VLANs deben ser ubicadas juntas. |
| Instancia | Una máquina virtual | El proceso de aprovisionamiento toma una imagen y un Tipo de Instancia y, opcionalmente, direcciones y volúmenes, como entrada para crear una instancia de ejecución. El estado indica si está en ejecución u otra condición. |
| Tipo de Instancia | Una plantilla para los recursos asociados a una máquina virtual. | Cantidad de CPUs virtuales, memoria, discos y arquitectura (32 o 64 bits). |
| SoftwareBundle | Scripts de instalación y activación y, opcionalmente, archivos binarios y otros recursos que puedan instalarse. | Un SoftwareBundle puede añadirse a una imagen. Al crearse una instancia para esa imagen, el SoftwareBundle y los scripts de activación se inyectan en el sistema de archivos de la máquina virtual. |
| Volumen | Un dispositivo de almacenamiento de bloque virtual en el que se puede almacenar datos e imágenes. | Un volumen puede unirse a una instancia durante el aprovisionamiento o más tarde cuando se esté ejecutando. Los datos de un volumen no pueden accederse a menos que esté unido a una instancia. |
| Dirección | Una representación de una dirección IP que se puede administrar como un recurso independiente. | Una dirección puede unirse a una instancia. La dirección siempre se asociará a una VLAN. |
| VLAN | Una red virtual de área local o subred. | Las VLANs pueden ser públicas o privadas, solo permiten una conexión mediante una VLAN o máquina virtual multidirecciones. |
| Clave | Una representación de una clave SSH; la clave privada debe ser guardada por el usuario; la nube pone a disposición la clave pública y permite al usuario generar una nueva clave siempre que sea necesario. | Una clave será incorporada a las máquinas virtuales Linux durante el aprovisionamiento y antes de la inicialización. |
Sistemas de administración de paquetes de software
La administración de paquetes de software es un aspecto crítico de la administración de sistemas computacionales, incluida la administración de sistemas en nubes. La administración de paquetes en un contexto de nube es especial debido a que se interactúa con instancias de máquina virtual que son aprovisionadas dinámicamente. Esto permite una oportunidad para aprovisionar software adicional al instante y también eleva las expectativas de los usuarios de que el sistema "funcionará".
Los sistemas de administración de paquetes de software en nube tienen un concepto semejante y pueden incluir sistemas de administración de paquetes que se integran con algunas plataformas de desarrollo de software y sistemas operativos.
Esta sección traza las líneas generales de los sistemas de administración de paquetes de software Linux y las aplica a los sistemas en nube. Explica un ejemplo que crea un módulo de software en Python, lo empaqueta como un RPM y lo inyecta en una máquina virtual basada en nube en tiempo de aprovisionamiento.
Administración de paquetes RPM y YUM
Red Hat Package Manager (RPM) fue desarrollado por Red Hat en la década de 1990 y es una parte de la Base Estándar de Linux. También ha sido portado a otros sistemas operativos como IBM AIX®:
- Ayuda a mantener la coherencia entre paquetes
- Puede utilizarse para obtener información sobre los paquetes instalados
- Comprueba la autenticidad de los paquetes mediante firmas criptográficas
- Actualizaciones de paquetes ya instalados
- Puede recuperar paquetes desde la Internet
Existen varios front-ends para RPM, incluyendo Yellow Dog Updater Modified (YUM), up2date, Zypper y Smart Package Manager. RPM se utiliza principalmente en Red Hat Enterprise Linux, CentOS y Fedora. Para los sistemas basados en Debian, incluyendo SUSE y Ubuntu, se utiliza la administración de paquetes de Debian.
YUM fue desarrollado en la Universidad de Duke (EE.UU.) como un front-end para permitir a RPM administrar sistemas Red Hat Linux. YUM suministra a RPM funciones adicionales de actualización automática y administración de dependencias, además funciona con repositorios de paquetes de software centralizados. Aunque RPM entiende las dependencias, no las soluciona. Este es un problema donde YUM ayuda considerablemente..
Para instalar un paquete con el comando rpm mediante la opción -i :
# rpm -i <package-name> |
Si existen dependencias que son necesarias el comando rpm no funcionará Se debe tener autoridad de raíz para instalar, eliminar o actualizar paquetes.
Para instalar un paquete con YUM utilice el comando yum con la opción
install . Por ejemplo, para instalar dos2unix:
# yum install dos2unix |
Si existen dependencias que son necesarias, entonces YUM las instalará automáticamente.
Administración de paquetes Debian
Advanced Packaging Tool (APT) es el sistema de administración de paquetes utilizado por los sistemas Debian, incluyendo SUSE y Ubuntu. Así como para RPM y YUM, los datos del paquete se almacenan en una base de datos centralizada.
Se puede instalar un paquete con el comando apt-get install . Para instalar el paquete dos2unix :
# apt-get install dos2unix |
apt-get encuentra la información del paquete en el repositorio remoto, determina las dependencias, descarga el paquete y lo instala.
Python cuenta con funciones integradas para la distribución e instalación de módulos. Para instalar y consumir software Python, estos recursos son fácilmente utilizados para descarga y descompresión de un módulo, además de ejecutar el comando setup. Python es un lenguaje conveniente para demostrar la distribución de software y el proceso de administración del software del ejemplo. No es necesario saber nada sobre Python para la comprensión de este artículo más allá de lo explicado en esta sección.
Antes de empezar, algunos términos básicos de reutilización del código Python se listan en la Tabla 2.
Tabla 2. Términos de reutilización del código Python
| Término | Descripción |
|---|---|
| Módulo | Una unidad de código reutilizable en Python. |
| Módulo Python puro | Un módulo escrito en Python contenido en un archivo denominado module.py. |
| Paquete | Un directorio con uno o más módulos Python puros que contienen un archivo de inicialización __init__.py. |
| Módulo de extensión | Un módulo escrito en C/C++ o en código Java™ para Jython. |
| Módulo de distribución | Una colección de módulos distribuidos como un recurso único. Esto es equivalente a un paquete de software en muchas otras plataformas y en el sentido general del término. |
Para instalar un módulo Python:
# python setup.py install |
Normalmente, esto se hace como raíz e instala el módulo en el directorio {INSTALL_ROOT}//site-packages, por ejemplo, /usr/lib/python2.6/site-packages. Alternativamente, se puede instalar como un usuario regular en el árbol de directorio inicial del usuario, con el comando:
$ python setup.py install --user |
Python ofrece el kit de herramientas Distutils para ayudar a los creadores de módulos a distribuir sus softwares que posibilitan estos comandos.
El código de ejemplo: un módulo de distribución Python
Vamos a crear un módulo Python y un script de instalación que se probarán al hacer la instalación. El paquete es una calculadora de energía denominada ecalc que contiene solo el módulo energy_calculator con la clase EnergyCalculator. En este sencillo ejemplo, el código imprime sólo algunos datos de muestra; no obstante, es fácil aplicar los mismos conceptos a un escenario más complejo donde es necesario un sistema de administración de paquetes de software altamente organizado.
El código para la clase EnergyCalculator es:
# energy_calculator.py """ energy_calculator module for computing energy usage """
class EnergyCalculator: """EnergyCalculator class"""
def __init__(self): self._base = 200
def energy_used(self): return self._base
|
Para invocarlo desde el cliente calculadora de energía:
#!/usr/bin/python # energy_client.py
""" EnergyCalculator client """
from energy_calculator import EnergyCalculator
ec = EnergyCalculator() print("You used {0} kJ today".format(ec.energy_used()))
|
Cuando invocado, la salida del ejemplo es:
$ ./energy_client.py You used 200 kJ today |
Primero, cree el script de configuración:
# setup.py
# Setup script for libenery
from distutils.core import setup
setup(name='libenergy',
version='0.1',
py_modules=['energy_calculator'],
)
|
A seguir, cree el módulo de distribución:
$ python setup.py sdist |
El comando del script de configuración en el ejemplo anterior crea un paquete de distribución de origen. Crea un directorio dist con un archivo comprimido, libenergy-0.1.tar.gz, que se puede utilizar para la instalación del paquete. No incluye el script cliente energy_client.py. Advierte de la falta de información sobre el creador, URL y README. El comando también crea un manifiesto en el archivo MANIFEST que se incluye en el archivo TAR. Para copiar el archivo libenergy-0.1.tar.gz en su máquina virtual, utilice el comando de copia segura:
$ scp -i ${key} libenergy-0.1.tar.gz idcuser@${vm}:libenergy-0.1.tar.gz |
El comando supone que se trabaja en Linux. Para Windows es semejante, pero es necesario instalar el comando scp . Está incluido con OpenSSH. Utiliza la clave de SSH ${key} para copiar el archivo a la máquina virtual con nombre de host o dirección de IP ${vm} como idcuser. Defina las variables de shell para estos, lo que evita volver a escribir los valores. En seguida, es posible desempaquetarlo e instalarlo remotamente con el siguiente comando, que se ejecuta desde el directorio dist:
$ ssh -i ${key} idcuser@${vm} 'gunzip libenergy-0.1.tar.gz;
tar -xvf libenergy-0.1.tar; cd libenergy-0.1; sudo python setup.py install'
|
Este script de SSH ejecuta la descompresión del paquete de manera remota y lo instala como raíz con el comando sudo . Los comandos remotos se escriben entre comillas y separados por puntos y comas.
Ahora que se ha instalado el módulo energy_calculator en la máquina objetivo, el programa cliente puede ser llamado con el siguiente script:
$ scp -i ${key} energy_client.py idcuser@${vm}:energy_client.py
$ ssh -i ${key} idcuser@${vm} './energy_client.py'
You used 200 kJ today
|
Los comandos anteriores primero copian y luego ejecutan el script cliente. Ejecute los comandos desde el directorio que contiene el script cliente:
Recapitulemos lo que se ha logrado hasta el momento:
- Se han escrito un ejemplo de módulo Python y un script cliente para ejercitarlo.
- Se ha creado un paquete de instalación para el módulo.
- El módulo se ha instalado remotamente en una máquina virtual mediante SSH.
- El módulo se ha invocado remotamente en la máquina virtual mediante el script cliente.
Nada mal, considerando que hasta el momento en este ejemplo se ha escrito y consumido software "propio". Sin embargo, el ejemplo es sencillo; existen algunas deficiencias que aparecen:
- El consumidor tiene que saber cómo instalar módulos Python. La posibilidad de utilizar el mismo método para instalar paquetes de software escritos también en otros idiomas es altamente deseable.
- Resulta inconveniente para los no programadores de Python conseguir información pertinente y, quizás, actualizarlo.
- No se describen sus prerrequisitos, como cuál tipo y nivel de sistema operativo y Python son necesarios.
- Para evitar el problema de dispersión de imágenes, es deseable instalarlo desde la consola en nube e inyectar el paquete en máquinas virtuales. Como mínimo, es deseable contar con opciones distintas que escribir scripts bash de apariencia compleja, como en el ejemplo dado.
La capacidad de inyectar el módulo de la calculadora de energía en una máquina virtual en tiempo de aprovisionamiento o cuando sea necesario actualizarlo automáticamente, es altamente deseable.
Instalando el módulo Python con RPM
Python cuenta con algunas herramientas adicionales que ayudan a crear paquetes de instalación de Red Hat Package Management (RPM), Windows y otros formatos que auxilian a solucionar las deficiencias 1, 2 y 3 recién mencionadas. Estos formatos son una ayuda más conveniente al escribir scripts de activación e inicialización.
Esta sección muestra cómo escribir un script de activación para probar si la calculadora de energía ya está instalada. Si no está instalada, se puede instalar con un comando rpm .
Para crear un paquete RPM:
$ python setup.py bdist_rpm |
Este comando crea un paquete RPM libenergy-0.1-1.noarch.rpm en el directorio dist. Cópielo en la máquina virtual objetivo mediante un comando scp :
$ scp -i ${key} libenergy-0.1-1.noarch.rpm idcuser@${vm}:/tmp/libenergy-0.1-1.noarch.rpm
|
Instale el módulo de la calculadora de energía:
$ sudo rpm -i /tmp/libenergy-0.1-1.noarch.rpm |
El comando rpm comprueba si está instalado o no, y no lo instala si se ejecuta una segunda vez.
Compruebe que el módulo está instalado, ejecutando el cliente calculadora de energía, energy_client.py, como se muestra. Este archivo RPM y el comando siguiente se utilizarán para inyectar el módulo de la calculadora de energía en las máquinas virtuales cuando se aprovisionen en la nube.
Clonando una imagen mediante el portal web SmartCloud
El proceso manual de creación de paquetes de software no es tan sencillo como usar herramientas, por ejemplo ICCT, pero demuestra el proceso de empaquetar software en detalles y se puede aprovechar para automatización mediante las APIs de SmartCloud Enterprise. Por estas razones lo discutiremos primero.
Uno de los primeros pasos necesarios es crear una imagen de la que se tenga propiedad. Esto es necesario para editar los metadatos y añadir los archivos que se inyectarán en las máquinas virtuales a ser aprovisionadas basándose en la imagen. Hay dos maneras de hacer esto:
- Iniciar una instancia de máquina virtual y hacer las personalizaciones que se desean, incluyendo la instalación de software.
- Clonar una imagen existente.
La clonación de imagen se describe porque es el enfoque más aprovechable para automatizar y construir herramientas para la administración de imágenes.
Para clonar una imagen:
- Haga clic en el botón Add Image en la página Control Panel | Images . La ventana Base images se abre.
Figura 2. Clonando una imagen en el portal web SmartCloud
- Haga clic en el botón Next . El paso 2 del asistente se abre.
Figura 3. Paso 2 del asistente Clonar Imagen
- Introduzca un nombre y una descripción para la imagen clonada. Compruebe los datos del Paso 3 en el asistente y haga clic en el botón Next .
- Acepte los términos y condiciones del Paso 4 y haga clic en el botón Submit . En pocos minutos la imagen es clonada y exhibida en el Panel de Control y en el Catálogo de Activos.
Los contenidos del activo de la imagen en el catálogo de activos se parecerán a la Figura 4.
Figura 4. Archivos incluidos en los repositorios de la imagen clonada
Los archivos incluyen parameters.xml que describe los parámetros de entrada y los archivos que modelan la topología de la imagen. Los archivos que más le interesan están en la carpeta activation_scripts, como se muestra en la Figura 5.
Figura 5. Archivos en la carpeta activation_scripts
Inyectar scripts de instalación en VMs durante el aprovisionamiento
Los contenidos de la imagen clonada de las secciones anteriores en el catálogo de activos deben verse así:
Figura 6. Archivos incluidos en los repositorios de la imagen clonada
Los archivos incluyen parameters.xml que describe los parámetros de entrada y los archivos que modelan la topología de la imagen. Los archivos que más le interesan están en la carpeta activation_scripts, como se muestra en la Figura 7.
Figura 7. Archivos en la carpeta activation_scripts
La clave para inyectar archivos en una máquina virtual en tiempo de aprovisionamiento es el archivo scripts.txt. Este es el archivo scripts.txt de la imagen clonada de RHEL 6:
cloud-startup3.txt=/etc/init.d/cloud-startup3.sh activate.txt=/etc/cloud/activate.sh |
Esto lleva al archivo cloud-startup3.txt que se inyecta en la máquina virtual como /etc/init.d/cloud-startup3.sh y al archivo activate.txt as /etc/cloud/activate.sh.
Para inyectar archivos propios en una máquina virtual:
- Descargue los archivos de la carpeta activation_scripts, colocándolos en una carpeta con el mismo nombre.
- Añada el archivo libenergy-0.1-1.noarch.rpm a la carpeta.
- Cree el script libenergy-activate.sh:
/usr/bin/logger 'installing libenergy-0.1' rpm -i /tmp/libenergy-0.1-1.noarch.rpm 2> /tmp/energy.log /usr/bin/logger < /tmp/energy.log
- Sea cuidadoso al usar separadores de línea estilo UNIX o al ejecutar el recurso dos2unix. Es deseable que este script se copie en la máquina virtual y se ejecute en la inicialización. Para esto, añádalo a la carpeta activation_scripts. Edite el archivo scripts.txt como se muestra:
cloud-startup3.txt=/etc/init.d/cloud-startup3.sh activate.txt=/etc/cloud/activate.sh libenergy-0.1-1.noarch.rpm=/tmp/libenergy-0.1-1.noarch.rpm libenergy-activate.sh=/home/idcuser/libenergy-activate.sh
- Invoque el script desde el script de inicialización en nube, cloud-startup3.sh. Edite cloud-startup3.sh y añada las líneas en negrita como se muestra:
start) echo "== Cloud Starting" if [ ! -e /etc/cloud/idcuser_pw_randomized ]; then echo "Randomizing idcuser password" echo idcuser:'< /dev/urandom tr -dc _A-Z-a-z-0-9 |head -c16' | /usr/sbin/chpasswd touch /etc/cloud/idcuser_pw_randomized fi /sbin/restorecon -R -v /home/idcuser/.ssh chmod +x /home/idcuser/libenergy-activate.sh /home/idcuser/libenergy-activate.sh ;;
- Comprima la carpeta y llame el archivo resultante, activation_scripts. Edite el activo de imagen para la imagen clonada y cargue el archivo ZIP. Este se descomprime durante el proceso de carga.
Para probar la imagen clonada y modificada, aprovisione una máquina virtual basada en la imagen clonada; compruebe que el módulo esté instalado ejecutando el cliente calculadora de energía, energy_client.py, como se muestra:
$ scp -i ${key} energy_client.py idcuser@${vm}:energy_client.py
$ ssh -i ${key} idcuser@${vm} './energy_client.py'
You used 200 kJ today
|
Si no se ve el resultado,
You used 200 kJ today , verifique los errores en el archivo de registro de mensajes, /var/log/messages.
En este punto se aprendió cómo inyectar un módulo de software en una máquina virtual sin necesidad de instalar ninguna máquina virtual. Solo se inicializó la máquina virtual para comprobar el resultado. Esto es un salto importante en la capacidad de automatizar la administración de imágenes en la nube y es la base de varias herramientas que están disponibles para ayudar a los usuarios a administrar sus imágenes en máquinas virtuales.
Las siguientes secciones muestran cómo utilizar algunas de estas herramientas y cómo automatizar más eficazmente mediante APIs. Además, observe que no se ha creado un recurso de paquete de software independiente en la nube; se ha fusionado directamente el archivo de instalación de RPM y el script de instalación con los metadatos de la imagen virtual en el repositorio de activos. Discutiremos los recursos de paquetes de software basados en nube.
Creando paquetes de software que admiten composición
Para crear un paquete de software que admite composición, descargue y modifique una de las plantillas proporcionadas en el SmartCloud Asset Catalog. En el Catálogo de Activos, encuentre en la columna izquierda el enlace de búsqueda denominado Composable Software Bundles (Figura 8). Examine los resultados de la búsqueda.
Figura 8. Resultados parciales de la búsqueda de paquetes de software que admiten composición
Hay muchos paquetes diferentes disponibles para utilizar como plantillas. Utilice el botón Asset Manager Clone para clonar y modificar el paquete. Esto ayuda a crear recursos que se pueden utilizar en herramientas de automatización propias para compartir entre imágenes de máquinas virtuales, pero solo serán visibles para el usuario. Para crear paquetes de software más reutilizables, es necesario registrarlos mediante ICCT u otra herramienta.
Utilizando ICCT para administrar paquetes de software
ICCT se incluye en el catálogo de imágenes de IBM SmartCloud Enterprise, lo que permite su ejecución en la nube. Para utilizarlo vaya al Panel de Control de SmartCloud Enterprise:
- Seleccione Instance y haga clic en el botón Add Instance .
- Seleccione un centro de datos, seleccione la imagen de ICCT desde el catálogo y aprovisione una nueva instancia mediante el asistente de aprovisionamiento.
- Introduzca el nombre de usuario y la contraseña de ICCT. Después que la máquina virtual es aprovisionada, se puede usar el enlace en la página Getting Started para iniciar sesión.
- Después de registrarse en ICCT, haga clic en el enlace Build and Manage Software Bundles .
- En el panel izquierdo está el paquete denominado Enablement Bundle for SmartCloud Enterprise. Esto debe extenderse para crear paquetes de software propios si el plan es utilizar ICCT o las APIs del paquete de software SmartCloud Enterprise.
En este artículo, a través del examen de un ejemplo sencillo, se ha obtenido una amplia comprensión de las capacidades de paquetes de software e imágenes ofrecidas por IBM SmartCloud Enterprise. Futuros artículos se basarán en este ejemplo utilizando herramientas que tienen capacidades adicionales para crear versiones más complejas de este ejemplo y automatizar muchas de las tareas manuales que se realizaron aquí.
Aprender
-
Para información adicional acerca de las tecnologías citadas en este artículo consulte:
- Python documentation
- Learn Linux, 101: RPM and YUM Package Management
- RPM Package Manager online
- Fedora (Red Hat) RPM Guide online
- Learn Linux, 101: Debian Package Management
- Establish a system to build custom virtual cloud images (ICCT tool)
-
Para más información sobre cómo realizar tareas en IBM SmartCloud Enterprise, visite los siguientes recursos:
- Up and download files from a Windows instance.
- Install IIS web server on Windows 2008 R2.
- Create an IBM Cloud instance with the Linux command line.
- Create an IBM Cloud instance with the Windows command line.
- Extend your corporate network with the IBM Cloud.
- High availability apps in the IBM Cloud.
- Parameterize cloud images for custom instances on the fly.
- Windows-targeted approaches to IBM Cloud provisioning.
- Deploy products using rapid deployment service.
- Integrate your authentication policy using a proxy.
- Configure the Linux Logical Volume Manager.
- Deploy a complex topology using a deployment utility tool.
- Provision and configure an instance that spans a public and private VLAN.
- Secure IBM Cloud access for Android devices.
- Recover data in IBM SmartCloud Enterprise.
- Secure virtual machine instances in the cloud.
-
En cloud developer resourcesde developerWorks, descubra y comparta los conocimientos y la experiencia de los desarrolladores de aplicaciones y servicios que desarrollan sus proyectos para implementación en la nube.
- Descubra y consulte access IBM SmartCloud Enterprise.
Obtener los productos y tecnologías
-
Consulte product images disponible para IBM SmartCloud Enterprise.
Comentar
-
Únase al cloud computing group on developerWorks.
-
Lea great cloud blogs on developerWorks.
-
Únase a developerWorks community, una red profesional y un conjunto unificado de herramientas comunitarias para conectarse, compartir y colaborar.

Alex Amies es ingeniero senior de software en Laboratorio de desarrollo de China de IBM GTS Development Lab. Actualmente es un arquitecto que participa en el desarrollo de IBM SmartCloud Enterprise. Anteriormente se desempeñó como arquitecto y desarrollador de seguridad y productos en nube junto a otros grupos de IBM.
Alexei es miembro del equipo de diseño de SmartCloud Enterprise con énfasis en paquetes de software, ICON, VPN/VLAN para sistemas de soporte a negocios en la nube. Está basado en EE.UU.
Andrew es miembro del equipo de diseño de SmartCloud Enterprise enfocado en sistemas de soporte a negocios. Está basado en EE.UU.
Shaikh es IBM Master Inventor y técnico principal de Business Support Systems para ofertas de IBM SmartCloud Enterprise y Enterprise+, basado en EE.UU.
Qiang Guo Tong entró a IBM en 2004. Es uno de los líderes del equipo de desarrollo de IBM SmartCloud Enterprise, responsable por la creación de nuevos recursos. También es el arquitecto de la solución de habilitación de globalización de SmartCloud. Su experiencia técnica abarca las tecnologías de globalización y también de JavaEE. Tiene más de ocho años de experiencia en desarrollo de aplicaciones basadas en arquitectura JavaEE y se concentra en tecnologías Web 2.0 como Dojo y JSON-RPC.
Randy es Master Inventor y miembro del equipo de diseño de SmartCloud Enterprise. Actualmente se concentra en servicios de soporte a negocios con especialización en áreas de facturación y clasificación, habilitación de procesos de negocio y diseño de modelos de datos de BSS. Basado en Research Triangle Park, NC, Randy tiene un amplio conocimiento de toda la tecnología de BSS en la nube cimentado en un pasado largo y variado en el ámbito de la administración de sistemas desde que entró a IBM en 1989.

Scott Peddle es desarrollador consultor de software en IBM SmartCloud Enterprise. Scott lidera proyectos enfocados a la integración de Rational Asset Manager en un entorno de nube. La experiencia de Scott incluye la conducción de un proyecto de integración para herramientas de WebSphere BPM, como WebSphere Business Modeler y WebSphere Integration Developer, mediante Rational Asset Manager. Scott también fue ingeniero de release de productos Rational de diseño y construcción, como Rational Software Architect y Rational Application Developer.