Please use this identifier to cite or link to this item: http://hdl.handle.net/2445/65133
Title: CoreOs per a aplicacions robustes i escalables
Author: Puigdomènech Poch, Miquel
Director/Tutor: Cerquides Bueno, Jesús
Keywords: Computació en núvol
Computació distribuïda
Programari
Treballs de fi de grau
Cloud computing
Computational grids (Computer systems)
Computer software
Bachelor's theses
Issue Date: 16-Jan-2015
Abstract: This project starts by researching the current software and architecture design trends to develop applications for the cloud. The main goal we want to achieve is to define both a system and an application architecture that enables small to mid-sized businesses to develop cloud-based scalable and resilient applications. Furthermore, the proposed architecture should not rely on the specific services provided by any of the big providers (e.g.: Amazon AWS, Google Cloud), to avoid tying the company's fate to those. We reach this goal first researching about the different cloud-oriented software paradigms, and identifying the Operating System as a Service (OSaaS) offerings as a promising foundation on which to build our system. OSaaS is a very recent paradigm that lies between the more well-stablished Platform as a Service (PaaS) and an Infrastructure as a Service (IaaS) offerings. We pick OSaaS because it offers more portability than PaaS systems (that tie your system to the specific vendor platform) while still providing useful coordination and orchestration tools (whereas you must develop those yourself in IaaS offerings). We then compare two similar technologies in that space: MesOS and CoreOs. CoreOS is more strict in its approaches and offers a unified experience, whereas MesOS employs several semi-independent tools to provide a similar experience. After comparing these platforms we choose CoreOs to develop our proposed architecture. Essentially, CoreOS is a minimal linux distribution specifically designed to run as a containerization host, plus a number of orchestration services to coordinate multiples CoreOS nodes in a cluster. As a result, it allows for the design of resilient and consistent services and applications (the two main things we want). Next we analyze the requirements that our software must fulfill to exploit the capabilities of such clusters. We explore the 12 factor app concept, that describes a number of aspects to consider when developing software for the cloud. In doing so, we adapt some of these aspects and relate the general guidelines to how these will affect the application performance within our CoreOS cluster. Finally we deploy a small virtual cluster implementing our proposed architecture and experiment with it. We deploy several services and test their functionality and resilience. These experiments demonstrate that certain kinds of services (such as web applications) are better suited for our architecture, whereas others (such as databases) still present some unsolved challenges.
Note: Treballs Finals de Grau d'Enginyeria Informàtica, Facultat de Matemàtiques, Universitat de Barcelona, Any: 2015, Director: Jesús Cerquides Bueno
URI: http://hdl.handle.net/2445/65133
Appears in Collections:Treballs Finals de Grau (TFG) - Enginyeria Informàtica
Programari - Treballs de l'alumnat

Files in This Item:
File Description SizeFormat 
codi_font.zipCodi font21.26 kBzipView/Open
memoria.pdfMemòria1.9 MBAdobe PDFView/Open


This item is licensed under a Creative Commons License Creative Commons