aPaaS: comerzzia
Micro-service, MASA, Docker, Kubernetes, OpenShift, they are new terms to define an evolution of the application concept. What they give to us?:
-Flexibility: by splitting an application in serveral small pieces (micro-services), allows to run each one separately and in an independent way.
-Agility: each one of those pieces is updated separately which implies that its lifecycle does not depend on the other ones.
-Escalability: allows each piece to be distributed (by duplicating) depending on the resources demand. It is possible to use a third-party infrastructure (cloud) to increase the overall performance without making any changes in the local infrastructure.
-Performance: it could be able to run 8 times more services in the same virtual machine.
-Isolation: a micro-service break down does not impact on the overall application execution.
-Reusable: a component could be used by several applications thereby optimizing the resource usage and its maintenance.
In the current context of technological revolution of the applications, the micro-services oriented infrastructure emerges as a new concept to give agility and escalability to the applications and web services. The comerzzia adoption of this concept allows to get the maximum performance from the micro-services architecture (MSA), which implies a higher flexibility in the development and implementation of either complete modules like comerzzia InvolveCRM, critical micro-services like sales documents processing (tickets, credit notes, returns…) or the omnichannel promotions calculation, and in general, the in and out data from the point of sale.
“By 2019, all leading application platforms will include microservice infrastructure (Gartner)”
This kind of infrastructure is a composition of several technologies, which are being used to build, deploy and manage in a precise way, the components of distributed applications. A micro-service oriented application is built by delimited and scoped units which are deployed and scalated in an independent way, so the lifecycle of a component does not impact on the others, being able to either perform incremental updates of the comerzzia platform or add new modules, without compomising the whole platform.
In order to perform the implementation of the comerzzia platform on this infrastructure, the Docker containers technology has been used, which main target is to run applications in an isolated way and set a per container resource control. This technology follows the concept of SRP (Single Responsibiliy Principle), that sets one container per running application, thus allowing to reach the maximum performance of the micro-service concept: scoped, encapsulated and scalable.
To provide a distributed and high availability architecture, we have adopted the OpenShift platform, wich highest exponent is Kubernetes, developed by RedHat and Google respectively. This application platform as a service (aPaaS) gives high availability features (clustering), agile deployment and resource management among others, also allowing to manage the whole comerzzia architecture lifecycle through a web interface.
With OpenShift it is possible to create an hybrid cloud architecture since, from an onpremise installation (local infrastructure), the scalability to cloud providers like AWS (Amazon Web Services) or GCE (Google Cloud Engine) is guaranteed in a micro-service level (container), which would allow comerzzia components to execute over multiple environments, depending on the resources demand.
To sum up, the comerzzia platform adopts the MASA concept (Mesh App and Service Architecture) wich stands for an appplication and autonomous services mesh interconnection, thereby, the development, deployment and maintenance are performed in an agile way that optimizes the product lifecycle and maximizes the performance.
Senior DevOps Specialist
