A highly-available and scalable microservice architecture for access management

dc.contributorAalto-yliopistofi
dc.contributorAalto Universityen
dc.contributor.advisorPremsankar, Gopika
dc.contributor.advisorRossi, Markku
dc.contributor.authorRanganathan, Rajagopalan
dc.contributor.schoolPerustieteiden korkeakoulufi
dc.contributor.supervisorDi Francesco, Mario
dc.date.accessioned2018-10-17T08:09:17Z
dc.date.available2018-10-17T08:09:17Z
dc.date.issued2018-10-08
dc.description.abstractAccess management is a key aspect of providing secure services and applications in information technology. Ensuring secure access is particularly challenging in a cloud environment wherein resources are scaled dynamically. In fact keeping track of dynamic cloud instances and administering access to them requires careful coordination and mechanisms to ensure reliable operations. PrivX is a commercial offering from SSH Communications and Security Oyj that automatically scans and keeps track of the cloud instances and manages access to them. PrivX is currently built on the microservices approach, wherein the application is structured as a collection of loosely coupled services. However, PrivX requires external modules and with specific capabilities to ensure high availability. Moreover, complex scripts are required to monitor the whole system. The goal of this thesis is to make PrivX highly-available and scalable by using a container orchestration framework. To this end, we first conduct a detailed study of mostly widely used container orchestration frameworks: Kubernetes, Docker Swarm and Nomad. We then select Kubernetes based on a feature evaluation relevant to the considered scenario. We package the individual components of PrivX, including its database, into Docker containers and deploy them on a Kubernetes cluster. We also build a prototype system to demonstrate how microservices can be managed on a Kubernetes cluster. Additionally, an auto scaling tool is created to scale specific services based on predefined rules. Finally, we evaluate the service recovery time for each of the services in PrivX, both in the RPM deployment model and the prototype Kubernetes deployment model. We find that there is no significant difference in service recovery time between the two models. However, Kubernetes ensured high availability of the services. We find that Kubernetes is the preferred mode for deploying PrivX and it makes PrivX highly available and scalable.en
dc.format.extent73
dc.format.mimetypeapplication/pdfen
dc.identifier.urihttps://aaltodoc.aalto.fi/handle/123456789/34401
dc.identifier.urnURN:NBN:fi:aalto-201810175476
dc.language.isoenen
dc.programmeMaster’s Programme in Computer, Communication and Information Sciencesfi
dc.programme.majorMobile Computing, Services and Securityfi
dc.programme.mcodeSCI3045fi
dc.subject.keyworddockeren
dc.subject.keywordcontaineren
dc.subject.keywordKubernetesen
dc.subject.keywordcontainer orchestrationen
dc.subject.keywordmicroservicesen
dc.subject.keywordaccess managementen
dc.titleA highly-available and scalable microservice architecture for access managementen
dc.typeG2 Pro gradu, diplomityöfi
dc.type.ontasotMaster's thesisen
dc.type.ontasotDiplomityöfi
local.aalto.electroniconlyyes
local.aalto.openaccessyes

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
master_Ranganathan_Rajagopalan_2018.pdf
Size:
1.22 MB
Format:
Adobe Portable Document Format