Si les dijera que podemos generar una instalación de OEL7.9 más un motor Oracle 19.3 en tan sólo minutos, con un solo comando y desde cero… ¿lo creerían?

Todo lo mencionado se puede hacer mediante la combinación de Vagrant + Virtual Machine

Vagrant nació como una solución para crear ambientes de desarrollos de forma rápida y automatizada en software de Virtualización, es así como antes si queríamos crear una máquina virtual debíamos ejecutar las siguientes actividades :
- Descargar el software del sistema operativo guest que ibamos a instalar
- Crear la máquina virtual y crear a mano todos sus componentes
- Instalar el software necesario para nuestras pruebas
- Sacar snapshots de nuestra máquina
Aunque fuésemos el arquitecto más eficaz y eficiente todo lo anterior nos tomaba un buen rato, se imaginan esto, pero replicado por 100 o por cada funcionalidad nueva que debamos probar, pues bien Vagrant es la herramienta de desarrollo que nos agiliza todo
Vagrant es de la empresa Hashicorp, el producto es desarrollado desde el 2014 y la principal funcionalidad es proveer de automatización para crear nuestras máquinas virtuales, por lo anterior desde ahora en adelante aparecen conceptos claves a tener muy en cuenta, como:
- BOXES: Imagen prediseñada de nuestro sistema operativo, que puede ser almacenada en algún Cloud o Storage Virtual
- PROVIDERS: Software de virtualización que recibe nuestras BOXES, ejemplo Oracle Virtual Box, Docker (propiamente tal no es un VM, pero al trabajar con contenedores también puede ser automatizado con Vagrant), VMWare (para trabajar con VMware se debe pagar por Vagrant), Microsoft Hyper-V, etc
- PROVISIONING: La encriptación necesaria para generar una BOX con todas las necesidades de nuestra área de desarrollo, provisiones que pueden ser hechas con Shell Script, Chef, Ansible Puppet, Docker, etc
Además, podemos compartir nuestro desarrollo de PROVISIONING (código de máquina virtual) mediante GitHub, lo cual claramente hace todo más portable
¿ Suena apasionante ? Claro que sí y no es sólo para DEVOPS, pues si necesitas probar nuevas funcionalidades, RU o RUR (Release Update y Release Update Revision de bases de datos Oracle) , new features o lo que sea, debes tener la capacidad de generar entornos de desarrollo de forma rápida y mecanizada
Como dice el título «Vagrant + Git = OEL7.9 + Db 19.3» , con la combinación de esas herramientas podríamos tener un ambiente de desarrollo Oracle de una forma muy rápida, he acá un pequeño ejemplo de como crear una máquina virtual con Sistema Operativo OEL7.9, con un motor Oracle versión 19.3
1.- Instalamos GIT (Software de versionamiento) , he acá una guía de como instalarlo
https://github.com/git-guides/install-git
muy sencillo
2.- Instalamos vagrant , he aquí una sencilla guía
https://www.vagrantup.com/docs/installation
3.- Todo el código que necesitamos para comenzar a crear nuestras máquinas virtuales mediante Vagrant ya ha sido generado, quizás alguna partícularidad no, pero el grueso de las máquinas como Sistema Operativo y aplicaciones comunes ya ha sido generado y subido a repositorios Git, ya sea GitHub o GitLab, podemos descargar esos repositorios para reutilizar el código y comenzar a crear máquinas virtuales, para ello utilizamos el comando git clone y la URL donde se encuentra el repositorio

Con lo anterior descargamos toda la estructura de directorio que necesitamos, además de todos los archivos de provisioning para crear nuestro ambiente
Si necesitas ayuda con Git
4.- Antes de comenzar nuestro proceso de creación se debe copiar el Software de instalación de Oracle, recordar que son máquinas generadas desde cero y parametrizadas, por ende se les debe proporcionar todos los software para el provisioning y todos los comandos para realizar la instalación, esto viene indicado en el README.md del proyecto GIT


5.- Una vez copiado nuestro software de instalación del motor, simplemente ingresamos al directorio de trabajo (que ya posee un archivo de configuración -Vagranfile- pre-hecho) y ejecutamos el comando vagrant up, este comando procederá a ejecutar nuestro provisioning, descargar la imagen (OEL) desde un path indicado, configurar todo lo relacionado a la Virtual machine y dejarlo de inmediato configurado en nuestro provider (Software de virtualización), que para nuestro caso es Oracle Virtual Box





6.- Nos conectamos a la máquina creada con Vagrant mediante el comando vagrant ssh


7.- Y nos conectamos a la base de datos ya instalada, configurada y creada

Esto es sólo un ejemplo introductorio, iremos reforzando lo que se puede hacer con Vagrant en los siguientes posts, como se instala, configura, etc . , creación de arquitecturas simples a unas muy complejas, por ejemplo instalación de Oracle RAC 19c 🙂
Y claro, utilizar nuestro ambiente de desarrollo Oracle 19.3 para generar actividades y más entradas a este blog.
Espero les sirva 😉
Referencias
Documentación de Vagrant https://www.vagrantup.com/intro
Descarga de Vagrant https://www.vagrantup.com/downloads
Github https://github.com
Proyectos GIT de Oracle para Vagrant https://github.com/oracle/vagrant-projects
Boxes por montones para descargar http://www.vagrantbox.es