Development Frameworks for Microservice-based Applications: Evaluation and Comparison

by   Hai Dinh-Tuan, et al.

The microservice architectural style has gained much attention from both academia and industry recently as a novel way to design, develop, and deploy cloud-native applications. This concept encourages the decomposition of a monolith into multiple independently deployable units. A typical microservices-based application is formed of two service types: functional services, which provide the core business logic, and infrastructure services, which provide essential functionalities for a microservices ecosystem. To improve developers' productivity, many software frameworks have been developed to provide those reusable infrastructure services, allowing programmers to focus on implementing microservices in arbitrary ways. In this work, we made use of four open source frameworks to develop a cloud-based application in order to compare and evaluate their usability and practicability. While all selected frameworks promote asynchronous microservice design in general, there are differences in the ways each implements services. This leads to interoperability issues, such as message topic naming convention. Additionally, a key finding is the long startup times of JVM-based services that might reduce application's resiliency and portability. Some other advantages come directly from the programming language, such as the ability of Go to generate native binary executables, which results in very small and compact Docker images (up to 78% smaller compared to other languages).


page 1

page 2

page 3

page 4


SLO-ML: A Language for Service Level Objective Modelling in Multi-cloud Applications

Cloud modelling languages (CMLs) are designed to assist customers in tac...

Resource Management Schemes for Cloud-Native Platforms with Computing Containers of Docker and Kubernetes

Businesses have made increasing adoption and incorporation of cloud tech...

Cloud-Native Architectural Characteristics and their Impacts on Software Quality: A Validation Survey

Cloud-native architectures are often based on microservices and combine ...

Structural Coupling for Microservices

Cloud-native Applications are 'distributed, elastic and horizontal-scala...

Service-Oriented Re-engineering of Legacy JEE Applications: Issues and Research Directions

Service-orientation views applications as orchestrations of independent ...

Developing a Process in Architecting Microservice Infrastructure with Docker, Kubernetes, and Istio

As an application usage grows, its owner scales up vertically by replaci...

Idealize - A Notion of Idea Strength

Business Entrepreneurs frequently thrive on looking for ways to test bus...

Please sign up or login with your details

Forgot password? Click here to reset