Our solution is to combine the expertise of Telindus within the private and public cloud business, together with the expertise of Codit within the development and application modernization world. This combination enables our customers to take advantage of both worlds.
What is a monolithic application landscape and what is a micro service-oriented service architecture? In IT, we talk about a monolithic application when it is conceived as a single “executable” that runs on a single compute node such as a virtual machine or a server. We will talk about a micro service-oriented application when the “executable” is composed of several small modules that compose the application and that typically run on multiple compute nodes in a distributed manner.
Companies have the opportunity to move from a monolithic application architecture to a distributed, microservices architecture. The key lies in the segmentation of the various application components. Typically, the application is decomposed in different modules, which each deliver a specific business function or capability.
Easier to build and maintain
A microservice-oriented application is easier to build, as various teams or developers can each work on their own module – which only needs to deliver a specific outcome. If they agree on the common language between modules and have one another’s requirements, the inner workings of one will have no impact on the other whilst delivering the expected outcome.
Organizations are faster to develop and increase their go-to-market by then combining their architecture with modern development methods such as continual development or DevOps tools.
Increase resiliency and scalability
An application that is micro service-oriented will also be more resilient and scalable if the segmentation in its various parts has been done properly. Indeed, a move from monolithic to distributed often includes a move from a stateful application to a stateless application. A stateful application is an application that stores its state – it stores information within its core whereas a stateless application will externalize information storage in order to be “independent”.
What is the advantage of going stateless? If a specific module crashes or needs additional resources in order to improve the service quality, you can simply start an additional module – no concurrency between modules should exist as the both works based on a common data source.
Finally, and to conclude, the last portion that remains, is the hosting of the application landscape. Indeed, in order to bring the scalability and resiliency such an application architecture requires, companies must be able to deliver flexibility. That is where the cloud delivers all its capabilities and advantages. By containerizing applications or converting them to cloud functions, each module can correspond to a container or a function. Services like kubernetes (k8s), available on the Azure’s AKS, Google’s GKE and Amazon’s EKS public clouds as well as on the Telindus’s U-flex platform in Luxembourg, allows applications to scale and be resilient without the need of manual interactions. This is leveraging automations already in place.
If you are looking at transforming your applications and modernizing them or moving to the cloud, our Telindus and Codit experts are at your disposal.