Esta aplicación tiene como objetivo la gestión de máquinas virtuales para una futura integración con un sistema más complejo.
La clase VM contiene toda la información en lo que se refiere a las máquinas virtuales que serán almacenadas/usadas por el sistema, por tanto será la clase testeada (por VMtest.py) de forma profunda para asegurar el completo y correcto funcionamiento del elemento central del proyecto.
Despliegue de la aplicación: https://vm-management-tool.herokuapp.com/
Contenedor: https://pacific-shore-31497.herokuapp.com/
Despliegue dockerhub: https://hub.docker.com/r/kronos483/proyectoiv/
Despliegue final: 157.56.167.85
Para más información acceder a la documentación del proyecto.
Se presentará al usuario con una API REST de forma que se consiga una aplicación modularizada y autosuficiente para su posible integración en un sistema más complejo. Obviamente se hará uso de un estilo de programación orientado a objetos debido a los beneficios que este tipo de diseño conlleva.
En este servicio se podrán realizar las siguientes acciones:
- Registrar Máquina Virtual (VM)
- Pedir información de una VM
- Eliminar una VM ya registrada
- Editar Información sobre la VM
$ pip install -r requirements.txt # Para instalar las dependencias
Ejemplo de ejecución
vagrant@vagrant:/vagrant/ProyectoIV$ pytest test/VMtest.py test/APItest.py
============================= test session starts ==============================
platform linux -- Python 3.6.5, pytest-3.8.2, py-1.6.0, pluggy-0.7.1
rootdir: /vagrant/ProyectoIV, inifile:
collected 20 items
test/VMtest.py .......... [ 76%]
test/APItest.py ... [100%]
========================== 13 passed in 4.19 seconds ===========================
- Python como lenguaje de programación.
- Flask como micro-framework web.
- Travis-CI como sistema de integración continua.
- Heroku como plataforma como servicio (PaaS) para integración continua
- Docker como software de aislamiento de los microservicios
- DockerHub como repositorio de contenedores online.
- Vagrant para orquestación
- Ansible para provisionamiento
- Fabric para despliegue