dc.contributor.advisor | Vozmediano Torres, Juan Manuel | es |
dc.creator | Rodríguez de la Cruz, Alberto | es |
dc.date.accessioned | 2021-05-12T17:10:45Z | |
dc.date.available | 2021-05-12T17:10:45Z | |
dc.date.issued | 2020 | |
dc.identifier.citation | Rodríguez de la Cruz, A. (2020). Herramienta para despliegue y gestión de plataformas en la nube. (Trabajo Fin de Máster Inédito). Universidad de Sevilla, Sevilla. | |
dc.identifier.uri | https://hdl.handle.net/11441/108955 | |
dc.description.abstract | El presente documento tiene como objeto la creación de un marco de trabajo y una herramienta que, basándose
en Terraform y en el paradigma de la Infraestructura como Código, permita resolver alguno de los problemas
de la gestión y operación de entornos en la nube. Entre ellos, se encuentra la gestión de múltiples de ellos con
distintas características que comparten un mismo código, la operación compartida entre varios administradores
ó el mantenimiento del estado de cada despliegue bajo control de versiones.
Para lograrlo, se propone una metodología de uso y una organización del código de Terraform que describe la
infraestructura a desplegar. Basándose en ellas, se desarrolla la herramienta Sonatina, implementando una
línea de comandos que permite gestionar múltiples despliegues con capacidad de personalización mediante
variables ó complementos, y manteniendo el estado de cada uno bajo el sistema de control de versiones
GIT.Todo ello en forma de software con licencia Apache License 2.0, para permitir a las compañías su uso
comercial de forma libre.
El proceso de desarrollo de la herramienta se divide en dos fases. La primera es la de diseño, en la que se
identifican los requisitos del software y los paquetes que lo componen, siendo cada uno responsable de aportar
una serie de funcionalidades. En la segunda, se realiza la implementación de estos componentes, basándose en
una serie de librerías de código abierto muy utilizadas en la industria, como cobra, afero u go-git.
Finalmente se ejemplifica el uso de Sonatina con el caso de uso de una empresa de hosting, en el que se
gestionan los despliegues de desarrollo y producción de servidores WordPress dedicados por cliente, que
comparten base de datos, todo ello sobre un clúster de Kubernetes. Con ello se demuestran las capacidades y
posibilidades de la herramienta, que puede ser aplicada también a casos más complejos. | es |
dc.description.abstract | The objective of this document is the creation of a framework and a tool that, based on Terraform and the
Infrastructure as Code paradigm, will be able to solve some of the cloud environment management and
operation problems. Some examples are the management of multiple of them defined by the same code, shared
operation between several administrators, or maintain the deployment state under version control.
To achieve these goals, it’s proposed a methodology and a structure for the Terraform code that describes the
infrastructure to be deployed. Base on them, a tool called Sonatina is developed, which implements a
command-line interface that allows the management of multiple deployments, with the possibility of
customizing them using variables and plugins and maintaining its states under version control. Everything is
based on the Apache License 2.0, to allow its use by the companies with freedom.
The tool development process is divided into a first design phase, where software requirements are identified.
The packages that compose the tools are also identified, being each of them responsible of implement some
features. In a second phase, the component implementation is realized, based on a set of libraries very used in
the industry, like cobra, afero or go-git.
Finally, the case use of a hosting company is presented as an example. It consists of the management of a set
of WordPress servers dedicated per client that uses a common database, all on a Kubernetes cluster. This
shows the capabilities and possibilities of the tool, which can be also applied to more complex cases. | es |
dc.format | application/pdf | es |
dc.format.extent | 93 | es |
dc.language.iso | spa | es |
dc.rights | Attribution-NonCommercial-NoDerivatives 4.0 Internacional | * |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/4.0/ | * |
dc.title | Herramienta para despliegue y gestión de plataformas en la nube | es |
dc.type | info:eu-repo/semantics/masterThesis | es |
dc.type.version | info:eu-repo/semantics/publishedVersion | es |
dc.rights.accessRights | info:eu-repo/semantics/openAccess | es |
dc.contributor.affiliation | Universidad de Sevilla. Departamento de Ingeniería Telemática | es |
dc.description.degree | Universidad de Sevilla. Máster en Ingeniería de Telecomunicación | es |
dc.publication.endPage | 73 p. | es |