WEOM Metaverse is a Unity 3D application that is supported by web and mobile platforms. Application required improvements in the existing infrastructure, configuration, provisioning and application deployment process that follows AWS best practices.
- Fragmented infrastructure
- Lack of automation
- Implemented multi-tier architecture
- Continuous Infrastructure delivery and CI/CD pipelines deployment
- Seamless launch of application
- Enabled automation of multiple deployments (10-15) per week
New Services Added
- AWS CloudFormation
- Amazon EKS
- Amazon ElastiCache
WEOM Metaverse application is hosted on AWS. During assessment, improvement areas identified are High Availability, Disaster Recovery (DR), CI/CD and Scalability. It also required automated infrastructure provisioning along with automated applications deployment process – using CloudFormation, EKS and other AWS services.
Implemented a three-tier application architecture using AWS multiple availability zones approach in AWS Virtual Private Cloud (VPC) to separate presentation, application, and database layers. This architecture ensured Security, Scalability, Disaster Recovery and High Availability. Infrastructure provisioning was automated for all environments using AWS CloudFormation. Git-triggered CI/CD pipelines were deployed followed by AWS CodeBuild to achieve application build and deployment. Amazon ElastiCache was used to cache frequently accessed data. AWS WAF was used to protect against common web exploits and bots that could affect availability, compromise security, or consume excessive resources.
By using API Gateway REST Regional and Private endpoints with resource-based policies, NETSOL Technologies was able to achieve the required functionality. NETSOL used API Gateway private integrations to use NLB, as well as exposed private endpoints to certain VPCs by whitelisting them via resource-based policies.
Successfully met requirements to set up optimized Infrastructure for Web and Mobile Based Applications wherein three-tier architecture was implemented and ensured separation of application and database layers. Automated deployment was also successfully achieved through code pipelines. Implemented solution, that was highly available and fault tolerant, including disaster recovery. For disaster recovery, identified RPO and RTO were met.
- Fixed Git Large File Storage (LFS) issue using explicit shell scripting in AWS codebuild.
- The Git project has large files that require git LFS
- Codebuild downloads project without large files when Git is setup using codepipeline default configurations.
- It turned out that codepipeline does not support git LFS by default.
- Downloaded git project using CLI commands in buildspec file during pre-build process.
- Project downloaded with large files and build succeeded.
- IOS build
- AWS CodeBuild doesn’t support IOS platform builds
- Implemented 3rd party tool for IOS build and integrated it with our AWS-based CI/CD