Use case

Containerizing PHP application
and deploying on EKS, AKS and GKE

1. Overview

InvoTech is an innovative startup specializing in offering an adaptable financial management platform tailored exclusively for the healthcare sector such as hospitals, clinics etc.

Their platform integrates a robust ERS [Enterprise Revenue System] engine designed for financial transactions within the healthcare domain which generates billing directly to the insurance companies on behalf of the clients.

InvoTech application is built on PHP and due to regulation requirements, it requires separate deployment in the hospital/clinics cloud environment.

Pain
Deploying the ERS solution across varied client environments can cause issues that could result in operational inefficiencies and delays.
This can raise the risk of ERS-related errors, incompatibility, and compromised system performance.

Goal
Provide cloud agnostic solution to customer by the containerization of the PHP application and accelerate the deployment process.

Draft 4 BillRun Containerizing PHP application and Deploying on EKS, AKS and GKE

Before – InvoTech was required to configure the PHP application for every new client separately

Draft 4 BillRun Containerizing PHP application and Deploying on EKS, AKS and GKE (1)

After the project was completed, the deployment of PHP application became faster and smoother

2. IAMOPS Solution

proposed infrastructure

Proposed infrastructure

Based on the requirements for AWS cloud, IAMOPS provided the solution to use EKS as it offers a managed Kubernetes solution that supports the deployment of Kubernetes in both on-premises data centers and different cloud environments. The inherent flexibility of EKS ensures compatibility with InvoTech’s containerized PHP application.

With EKS, InvoTech can gain access to a fully managed and resilient infrastructure, allowing for the seamless deployment and orchestration of their containerized application for Open Source billing solution.

Technologies configured:

  1. Grafana and Uptime Kuma- for monitoring
  2. GitLab CI/CD- for CI/CD
  3. Network Load Balancer- for managing traffic
  4. Amazon Virtual Private Cloud- for Networking

ALB for Ingress Traffic

ALB efficiently manages internet-originating traffic, capitalizing on its advanced routing and SSL/TLS termination capabilities. This gave a boost to InvoTech’s functionality with automated rollbacks and recovery.

Ingress Controller for Kubernetes Native Management

An Ingress controller specializes in overseeing traffic within the Kubernetes cluster, offers Kubernetes-native functionalities such as SSL/TLS termination and URL rewriting which is a major step for handling traffic and maintaining security.

Identity and Access Management (IAM)

For maintaining security paradigm, IAM provided precise control over permissions to EKS resources. While network policies for granular network segmentation, and encryption at rest and in-transit to protect data integrity.

Helm Charts and GitLab CI/CD

To leverage InvoTech for efficient deployment and management of the EKS infrastructure, Helm Charts and GitLab CI/CD were used, ensuring consistent and automated processes.

Application Deployment

Containerizing InvoTech and deploying into the EKS cluster through Kubernetes Manifests or Helm Charts, and implementing deployment strategies such as rolling updates or Blue/Green Deployments enhance the scalability and portability of InvoTech, simplifying deployment and management, while also bolstering the security of the PHP applications.

Cluster Architecture

A multi-availability Zone (AZ) EKS cluster is designed to ensure robust high availability by extending across AZs, effectively mitigating single-point of failures. Amazon EKS facilitates multi-zone deployment, automates failover procedures, and incorporates load balancing, minimizing downtime and preserving reliability.

Amazon Virtual Private Cloud (VPC) for Networking

Amazon VPC serves as the framework for isolating the EKS cluster, establishing connections via AZ subnets, and controlling traffic via security groups. This implementation resolved InvoTech’s networking infrastructural issues while working on a PHP based environment.

3. Best Practices Implemented

Scalability

Effectively handling the growing demands of an application's workload is both complex and time consuming. Amazon EKS offers a valuable advantage by harnessing Kubernetes, which streamlines orchestration and auto-scaling tasks, reducing the need for manual interventions and ensuring optimal performance.

High Availability

Traditional setups often lack multi-zone deployment, automated failover mechanisms, and load balancing, leading to downtime and performance issues during failures or periods of high traffic. Amazon EKS, on the other hand, facilitates multi-zone deployment, automates failover procedures, and incorporates load balancing, minimizing downtime and preserving reliability.

Security

Maintaining data security and access control can be quite challenging. Amazon EKS enhances security through Role-Based Access Control (RBAC) and network policies, effectively safeguarding applications and sensitive data.

Automation

Manual deployment and updates are not only time-consuming but also prone to errors. Amazon EKS seamlessly integrates with DevOps best practices, enabling automated deployments and the implementation of CI/CD pipelines, ensuring efficient and consistent application management.

Cost Optimization

Inefficient allocation of resources and high infrastructure costs can strain budgets. Amazon EKS optimizes costs by dynamically allocating resources and utilizing AWS pricing models, thereby ensuring cost-effectiveness and efficient resource utilization.

4. Summary

InvoTech was successfully implemented an EKS infrastructure, resulting in a scalable, highly available, and secure platform for deploying their PHP application alongside other open-source applications.

The automation capabilities enabled by Helm charts and GitLab CI/CD have significantly boosted operational efficiency, reduced downtime, and consequently, enhanced customer satisfaction, and maximized business growth.

Want to optimize your application deployment and
say goodbye to delays and inefficiencies?

Let's get the Conversation started!

Click below to explore the DevOps journey with us.

Looking for DevOps to join my team

Looking for a job opportunity

Apply to

Containerizing PHP application

Thanks for applying!

Your application has been sent to our recruitment team successfully. If your profile is selected, our recruitment team will get in touch with you.

We wish you all the best!