Introduction:
LimeChat is India’s first level-3 AI chatbot company. LimeChat’s focus on e-commerce internet-first brands increases online sales and conversions and reduces customer support costs by 50%.
LimeChat’s smart chatbot offers customers personalized and contextual conversational experiences wherever they are in the buyer’s journey. With integrations across CRM software, store management platform, payments network, and logistics platforms, LimeChat take great care of customer interactions for its clients.
Business Need:
The Limechat hosted a helpdesk solution for customer support and Chatbot logic on Kubernetes Cluster on the Microsoft Azure Platform. However, it faced challenges in ongoing support while running on Azure and wanted to migrate the application to AWS Cloud for better Support and Manageability.
Below were the requirements from Limechat
- A Separate isolated and secure environment is to be created on the AWS cloud.
- Earlier, Limechat hosted their Application on Kubernetes at Azure and wanted to use the same Kubernetes platform on AWS.
- Limechat wanted to have secure, reliable, and scalable Infrastructure at AWS.
- At Azure, Limechat was using Instances with small configurations for PostgreSQL and Redis as they had separate PostgreSQL and Redis Databases for every end customer. At AWS, it needed a single PostgreSQL and Redis Database with a powerful configuration.
- It was looking forward to seamless migration with no data loss and with very minimal downtime.
- Limechat wanted to use AWS-managed services wherever possible.
Implementation
To address the objectives defined Business Need section, Rapyder worked with Limechat and came up with AWS Cloud Deployment Architecture for implementation. As Limechat was using Kubernetes on Azure, it recommended using AWS Managed Orchestration Service – Elastic Kubernetes Service (EKS).
We applied the AWS best practices and business continuity principles and followed through the implementation as explained below:
- Considering end-customer demographic locations, AWS Mumbai Region was selected.
- A separate network with a combination of VPC/ Subnets was created as per AWS best practices.
- All the servers and Databases were hosted in a private subnet, thus eliminating direct access to the application, resulting in additional application security.
- AWS Managed Kubernetes Service – AWS EKS was used to host containerized microservice-based Applications.
- Scalability is considered at both levels, i.e., at the Worker node level (auto-scaling group) and POD level.
- Amazon RDS for PostgreSQL is implemented in MultiAZ for High availability.
- For Data Security, encryption is considered.
- In Transit: using Lets Encrypt SSL
- At Rest: EBS and S3 Data encryption using AWS KMS
- AWS managed Service – Elasticache for Redis was implemented as an in-memory Database.
AWS Services:
AWS Managed Kubernetes Service – Amazon EKS, Application Load Balancer (ALB), NAT Gateway, Amazon RDS PostgreSQL, Amazon Elasticache for Redis, Amazon Cloudwatch, Amazon SNS, AWS CloudTrail, Amazon S3, IAM, AWS Config, AWS KMS.
Third-Party Solution
None
Reaping Rewards:
- With this solution, we provided a Secure, Reliable, and Scalable Infrastructure on AWS EKS, offering High Availability.
- With the Rapyder team’s assistance, Limechat could Migrate to AWS Cloud with minimal downtime and zero data loss.
- Enterprise-grade RDS PostgreSQL in MultiAZ provides the expected performance.
- AWS managed Elasticache for Redis in high availability and boosted customer application performance by providing sub-millisecond response time.
- Using AWS Managed Services like RDS and Elasticache for Redis also released Infrastructure Management overhead from Limechat’s shoulders.