Вы находитесь на странице: 1из 8

HERRAMIENTAS PARA GESTION DE ENTORNOS

DE DESARROLLO VIRTUALES

CARACAS, Noviembre 2015

INTRODUCCION

El desarrollo de las herramientas de comunicacin en Internet ha llevado a la creacin


de sistemas entornos web, que integran diferentes herramientas para facilitar la actividad
para la que se requieren. Estas herramientas sirven para designar las aplicaciones de
software que permiten la comunicacin a travs del ordenador (comunicacin mediada por
ordenador) entre los usuarios del sistema por medio de las redes. Son aplicaciones que
facilitan la comunicacin interpersonal en el terreno individual o en grupo, el acceso, la
bsqueda de documentacin y la distribucin de informacin. Todas ellas suponen un amplio
abanico de opciones y recursos comunicativos que el diseador debe movilizar para facilitar
la consecucin de los objetivos.
En los equipos modernos de desarrollo, es cada vez ms necesario trabajar
simultneamente con distintas tecnologas. Trabajar en cada proyecto implica que
el programador debe ser capaz de prepara su equipo de desarrollo de manera que
pueda desplegar estos proyectos independientemente de los requisitos y
dependencias de cada uno.

Las principales caractersticas de las WebTools (entornos basados en web) son:

Acceso remoto desde cualquier ordenador conectado a Internet a travs de un


navegador web (Netscape, Explorer, Linux, Amaya...).

Multiplataforma. Accesibles desde cualquier plataforma (Mac, PC, UNIX...).

No requieren una instalacin previa del software en el ordenador del usuario, tan slo
que ste se conecte a travs de la web al servidor que contiene la herramienta.

Acceso restringido. Estas herramientas tienen la posibilidad de configurar una intranet


y definir as a los usuarios que, con una clave de usuario y un password, podrn
acceder a los contenidos y utilidades de la herramienta.

Interfaz grfica. La presentacin del entorno, de las herramientas y los contenidos


permiten la integracin de elementos multimedia.

Utilizan pginas HTML. La creacin y distribucin de los contenidos dentro del propio
entorno es en formato HTML

Acceso a recursos de Internet. No son entornos cerrados, sino que permiten el acceso
a recursos externos ubicados en el espacio Internet a travs de enlaces directos (ftp,
telnet, URL) o a travs de herramientas de navegacin.

Entornos virtuales:

Docker
Vagrant

Docker es una plataforma Open Source para que desarrolladores y Administradores


de sistemas puedan construir, cargar, y ejecutar aplicaciones. Consiste en un entorno
de ejecucin ligero, portable y herramientas de empaquetado como resultado se
puede implementar ms rpido y ejecutar la misma aplicacin sin cambios tanto en
laptops, Centros de Datos o mquinas virtuales de cualquier Cloud. El contenedor
Linux se ha convertido en una herramienta que ayuda tanto a desarrolladores como
a administradores de sistema a probar aplicaciones o sistemas en un entorno seguro e
igual al de produccin, reduciendo as tiempos de pruebas y adaptaciones a cambios
de hardware desde el entorno de prueba al de produccin.
Con la tecnologa de Docker podremos virtualizar un Linux con todas las aplicaciones
3

que necesitemos dentro de nuestro sistema operativo Linux, para "empaquetarlo" y


desplegarlo en cualquier otro Linux sin necesidad ms que de introducir un par de
comandos.

Caractersticas:
Portabilidad:
El contenedor Docker podremos desplegarlo en cualquier otro sistema (que
soporte esta tecnologa), con lo que nos ahorraremos el tener que instalar en
este nuevo entorno todas aquellas aplicaciones que normalmente usemos.

Ligereza: demuestra un significativo ahorro a la hora de almacenar diversos


contenedores que podamos desplegar con posterioridad. Un ejemplo es la
virtualizacin de las imgenes en Ubuntu que normalmente hacemos con
Virtual box que pesaran alrededor de 1Gb, en Docker esta misma imagen con
Apache y una Aplicacin web ocupara alrededor de 180 Mb.

Autosuficiencia:
El contenedor Docker no contiene todo el sistema completo, sino lo necesario
para desplegar las funcionalidades que se requieran, como lo son libreras,
archivos y configuraciones.
Docker extiende LXC (LinuX Containers), un sistema de virtualizacin ligero que
permite crear mltiples sistemas totalmente aislados entre si sobre la misma
mquina o sistema anfitrin.
Docker se compone de tres elementos principales:

Contenedores Docker
Imgenes Docker
Repositorios Docker

Contenedores Docker:
Son como un directorio, contienen todo lo necesario para que una aplicacin pueda funcionar
sin necesidad de acceder a un repositorio externo al contenedor. Cada uno de stos es una
plataforma de aplicaciones segura y aislada del resto que podamos encontrar o desplegar en
la misma mquina host.
Imgenes Docker:
4

La imagen Docker podramos entenderla como un SO con aplicaciones instaladas (Por


ejemplo un OpenSUSE con un paquete ofimtico). Sobre esta base podremos empezar a
aadir aplicaciones que vayamos a necesitar en otro equipo donde tengamos intencin de
usar la imagen. Adems Docker nos ofrece una forma muy sencilla de actualizar las
imgenes que tengamos creadas, as como un sencillo mtodo para crear nuevas imgenes.
Repositorios Docker:
Tambin conocidos como Registros Docker, contienen imgenes creadas por los usuarios y
puestas a disposicin del pblico. Podemos encontrar repositorios pblicos y totalmente
gratuitos o repositorios privados donde tendremos que comprar las imgenes que
necesitemos. Estos registros permiten desarrollar o desplegar aplicaciones de forma simple y
rpida en base a plantillas, reduciendo el tiempo de creacin o implementacin de
aplicaciones o sistemas.

Sobre una imagen base, se realizan los diferentes cambios. Tras confirmar estos cambios
mediante la aplicacin Docker, se crear la imagen a utilizar. Esta imagen contiene
nicamente las diferencias que hemos aadido con respecto a la base. Cada vez que
queramos ejecutar esta imagen necesitaremos la base y las 'capas' de la imagen. Docker se
encargar de acoplar la base, la imagen y las diferentes capas con los cambios para darnos
el entorno que queremos desplegar para empezar a trabajar.
Docker est disponible para trabajar con Ubuntu, ArchLinux, Gentoo,
Fedora, OpenSUSE y FrugalWare, as como desde el propio cdigo binario de la aplicacin.
Adems tambin tenemos indicaciones para poder desplegar contenedores bajo entornos
Windows, Mac, Amazon EC2, Rackspace o Google Cloud.

Vagrant es un programa que nos ayuda a crear y administrar ambientes de desarrollos


virtuales dentro de una maquina, maximizando la productividad ya que puedo tener varios
ambientes de desarrollo en una sola maquina (Nada es ilimitado estos ambientes estn
condicionados al Hardware del equipo) y flexible ya que al estar sobre una maquina virtual, el
ambiente de desarrollo se puede migrar (portable), restaurar, etc.
Vagrant funciona con
VirtualBox
VMWare
AWS
Otros
Beneficios:
Para los desarrolladores, Vagrant aislar a las dependencias y su configuracin dentro de un
nico entorno desechable, consistente, sin sacrificar ninguna de las herramientas que estn
5

acostumbrados a trabajar con (editores, navegadores, depuradores, etc.) Una vez que usted
u otra persona crea una Vagrantfile solo basta con vagrant up y todo est instalado y
configurado para trabajar. Otros miembros de su equipo pueden crear sus entornos de
desarrollo de la misma configuracin, por lo que si usted est trabajando en Linux, Mac OS X
o Windows, todos los miembros de su equipo est ejecutando cdigo en el mismo ambiente,
en contra de las mismas dependencias, configurado todo el misma manera.
Para los Ingeniero de operaciones, Vagrant le da un ambiente disponible y el flujo de trabajo
coherente para desarrollar y probar scripts de gestin de infraestructuras.
Para los Diseadores, Vagrant configurar automticamente todo lo necesario para esa
aplicacin web para que usted pueda centrarse en hacer lo que mejor sabe hacer: el diseo.
Una vez que un desarrollador configura Vagrant, usted no tiene que preocuparse acerca de
cmo conseguir que la aplicacin se ejecuta de nuevo. Ya no molestar a otros
desarrolladores para ayudarle a solucionar su entorno para que pueda probar diseos. Slo
ver el cdigo, un vagabundo, y empezar a disear.

CONCLUSIONES
Utilizar un sistema como los descritos anteriormente, permite "paquetizar" el entorno
de ejecucin de una aplicacin, como un componente ms del ciclo de desarrollo. Esto
aporta mltiples ventajas que se han descrito al inicio del artculo. Utilizar uno de estos
sistemas nos ofrece gran flexibilidad para trabajar en diferentes proyectos o probar
tecnologas nuevas de una forma gil y flexible.
No es necesario tampoco enfocarse por utilizar un slo producto, Docker y Vagrant
son productos distintos que pueden convivir perfectamente. Si el desarrollo se va a llevar a
cabo en mquinas linux y el rendimiento es clave, se puede utilizar docker como primera
opcin. Si se necesita de una virtualizacin completa o utilizar diferentes sistemas operativos,
acceso fcil y sencillo a las virtualizaciones vagrant es la opcin.

El problema principal que tiene docker es que no se puede arrancar una maquina windows, o
OSX, en un Linux, ya que el container de docker tiene que compartir el kernel de la maquina
real. Vagrant es maquina virtual de verdad. Docker es un entorno aislado que ejecuta el
kernel de la maquina.

BIBLIOGRAFIA
https://www.nessys.es/docker/
http://www.adictosaltrabajo.com/tutoriales/docker-for-dummies/
http://www.miguelvilata.com/blog/docker-vs-vagrant-en-la-gestin-de-entornos-de-desarrollo
https://www.vagrantup.com/
https://betabeers.com/forum/virtualenv-vagrant-o-dockers-recomendaciones-1232/
https://www.docker.com/
https://es.wikipedia.org/wiki/Docker_%28software%29
https://es.wikipedia.org/wiki/Vagrant_%28software%29

Вам также может понравиться