Contact

Community

Progress of E-GENE SaaS in the Cloud 2.0 Era
  • AuthorAdministrator
  • Date2024.01.15

Progress of E-GENE SaaS in the Cloud 2.0 Era


What is Micro Service Architecture?

Microservices Architecture (MSA) is an architectural paradigm that develops and deploys software systems by dividing them into small, independent services. In contrast to traditional monolithic architectures, MSA consists of small functional modules divided into multiple services. Each service can contain its own database, business logic, and user interface, and can be independently deployed and scaled. The key characteristics and principles of MSA are as follows.


  1. Independence and Separation: Each microservice performs its own function and can be independently deployed. This reduces the impact of a single service failure on the entire system.
  2. Self-Managed Data: Each service has its own database and independently owns and manages its data.
  3. API Communication: Communication between services primarily occurs through APIs. Each service requests the necessary data and exchanges responses.
  4. Independent Distribution: Each service can be developed, tested, and distributed independently. This facilitates the implementation of continuous integration and continuous delivery (CI/CD).
  5. Technological Diversity: Each service can choose its own technology stack. This facilitates the adoption of new technologies and allows mixing and matching of various technologies without relying on a single technology.

MSA improves flexibility, scalability, and agility. It also helps reducing the complexity of large-scale systems. A monolithic architecture refers to an application structure where all functions are implemented in a single package, like current E-GENE. Almost all systems use this monolithic architecture, which is fundamentally fast to develop. However, as features increase and systems become more complex, challenges, such as longer feature implementation times and reduced system stability, occurred. Then what are the disadvantages of monolithic architecture?


Monolithic Application Structure: The impact of changes is significant, reducing product reliability.

  1. High Cohesion Between Modules: High system complexity creates a high barrier to entry.
  2. Difficulty in Maintenance and Distribution: Updating and distributing the entire application is difficult and time-consuming.
While these shortcomings are not to be solved immediately, but they will have signification impact on growth in the future as the system evolves.

     

E-GENE Cloud SaaS Service Progress

Cloud SaaS services, unlike traditional On-Premise systems, require fast development and distribution. Furthermore, E-Gene requires exceptional scalability as it is an enterprise system. The primary priority and major challenge of MSA transition was the separation of microservices. Separating microservices can be done in various ways; including functional, source, and service-level separations. E-Gene had a difficulty in defining microservices as it has a strong platform-like nature and has database separation principle for each microservice. After extensive reviews, we have separated E-Gene into user ITSM service and administrator console service by role, and authentication service and interface service by function.

 

  • User Service: The services used by ITSM service users. Will be separated into various services such as PMS.
  • Console Service: System for service management by customer administrators. Through user management and E-GENE package tools, service customization can be done.

  • Authentication Service: E-GENE SaaS service provides secure and integrated log-in service.
  • Interface Service: The service handles integration with external systems, such as e-mail and messengers, that can influence service speed. It performs asynchronous processing.

E-GENE is a no-code platform capable of building a variety of services. The services must be distributed individually to dispersed environments. In a multi-tenant environment, development and distribution environments should be provided separately for each service. On this purpose, we divided development and service environments by separating user service and console service. By separating environments, developers can focus on implementation, verification, and tests. Distribution of such stabilized service will enhance the stability of user environment.

 

[Figure] MSA Architecture


Through this project, STEG has transitioned E-GENE to MSA structure in a short period of time, and launched SaaS service. It can be considered as a successful beginning, but in the Cloud 2.0 Era, consistent improvement and effort is necessary to maintain high competitiveness and provide high quality service. For higher user satisfaction, STEG's E-GENE service improvement will continue on. 

  

  • Separation of Front-End and Back-End: Dynamic screens provided through JSP are causing slower service speed. To provide dynamic UI/UX and to enhance speed, front-end application should be reorganized. 
  • Defining Service API: Our platform do provide many functions, but the distinction between each service is ambiguous. Therefor, service-based API should be defined for users. 

E-GENE SaaS service has just started is long voyage. In the Cloud 2.0 Era, I anticipate STEG's success in public and private cloud market, as the leading ITSM enterprise of Korea.

Go Jae-hak, Director of R&D Center, STEG Inc.