Authors: Mauricio Verano Merino

Supervisor: Kelly Garcés and Rubby Casallas

Venue: Universidad de Los Andes

DOI

Abstract

Currently, there are many enterprise applications developed using the Java Enterprise Edition API’s and specifications with a monolithic architecture. This API’s and specifications was not designed to support today’s application requirements. The way most enterprises have adapted their JEE applications for today’s requirements is improving their machines configurations. The previous fact have a big impact in terms of costs. On the other hand, appears cloud computing paradigm. This paradigm is being adopted by many companies in order to support high scalability requirements. This technology is often used to deploy monolith applications in a cloud provider. This solution makes expenses increase compared to an application that was designed and developed to satisfy high scalability requirements and be deployed in the cloud. The prior facts motivates this dissertation. We have designed and implemented a process to make easier the JEE modernization into a micro-service based architecture deployed in the cloud. This process was made in order to take a monolith application and turn into a distributed application, in which every small part could be scaled independently to the other parts. These facts are translated in terms of optimizing computational resources and money. In order to observe the consequences of splitting a monolith application into small pieces of code, it was executed some load test to both applications (monolith and micro-service) using the same tests scenarios. This load tests were designed in order to compare the results obtained by each application. In addition, all the test scenarios were run three times. Finally the results are based on three metrics average response time (milliseconds), percentage error (percentage) and throughput (number of request/second)