Innowi is a Silicon Valley-based SaaS provider of innovative point-of-sale systems. The company offers POS devices, billing solutions, and software for self-service kiosks, cafes, bakeries, and restaurants.
Application Modernization is the key to staying relevant and gaining a competitive edge in the digital era. This often means upgrading legacy monolithic applications to meet the demands of scalability, flexibility, and cost-efficiency. Innowi relies on monolithic architecture for application development, and its tightly coupled nature makes it challenging to isolate and update individual components without risking the stability of the entire application. The lack of continuous Integration and deployment (CI/CD) practices to streamline the development process makes their monolithic architecture less scalable and agile. Moreover, a single RDS failure results in significant application downtime for Innowi and its business partners. Innowi realized that their Monolithic architecture hindered agility and collaboration, making it challenging for development teams to iterate quickly and deliver value to customers.
High Plains Computing offered them Amazon Elastic Kubernetes Service (Amazon EKS), a popular choice for containerization due to its simplicity and scalability. It allows Innowi to run the containerized application using Kubernetes, an open-source container orchestration platform. Amazon EKS takes care of managing the underlying infrastructure and ensuring high availability. The proposed solution involved breaking down the monolith infrastructure into individual microservices that could be independently developed, deployed, and scaled.
The Following Diagram shows, at a very high level, the refactored Innowi solution.
The figure above shows a cloud-native application deployed as a set of services communicating with corresponding pods running application containers. All cluster-level resources were deployed via Terraform automation. Cloud resources in the EKS cluster and applications deployed in the EKS cluster were also created by terraform automation.
The migration process presented several challenges that required careful planning and execution.
Identifying and separating the different services within the monolith was a complex and mammoth task that required a deep understanding of the application’s functionality and dependencies.
Ensuring data consistency and integrity across distributed services was a critical challenge. The HPC team implemented event-driven architecture and used AWS-managed services like Amazon Simple Queue Service (SQS) and Amazon Simple Notification Service(SNS) to handle inter-service communication and data synchronization.
Testing & Deployment
Testing and deploying many services in a coordinated manner posed challenges in maintaining service availability and minimizing downtime during the migration process. The HPC team adopted automated testing frameworks and continuous integration/continuous deployment (CI/CD) pipelines to streamline the process.
The microservice-based architecture allowed Innowi to scale individual services independently based on demand, resulting in improved application performance, reduced infrastructure cost, and faster development cycles.
CapEx Less than $50,000.
Project Duration 90 Days.
OpEx less than $1000 /Per month.
“The adoption of EKS and the migration to microservice proved to be a game changer for us.”