Gooru is a Non-Profit Organization providing a free and personalized learning platform that enables teachers to create, curate, and share collections of web resources on any K-12 topic.
The learning navigator developed by Gooru assists student development and progress through real-time data. It also enables teachers to track the progress and monitor the requirements of every student by combining powerful assessments and analytics with a catalogue of learning resources. This learning platform was used by:
- School Districts / Schools – Adopt Gooru as a primary classroom tool for conducting the sessions.
- Teachers – Adopt Gooru as a primary or an additional aid in the classroom and use Gooru functionality as is with students.
- Developer community – Use APIs of Gooru to develop their own apps on top of Gooru ecosystem.
- Content providers – To bring in their content into Gooru either via bulk upload or an incremental update.
The customer required migration and architecture optimization of learning platform from version 2.0 to 3.0 along with proactive monitoring, continuous support and setting up DevOps processes. Their key concerns included:
- Migration of the learning platform from 2.0 to 3.0 along with architecture optimization.
- Automation of release and deployment process.
- Cost optimization & cost conscious infrastructure management.
- High availability of production systems with 99.9% availability.
- Shared support model to cover US and India time zones.
Gooru leveraged BlazeClan’s cloud consulting services to create a complete application assessment and cloud migration strategy along with a proposed implementation plan and timeline.
In the plan, BlazeClan’s team of certified SA’s created a business case analysis, security risk matrix, and total cost of ownership and ROI calculations to provide an in-depth look how to move successfully on the cloud and realize opportunities for significant costs savings. The team charted out a roadmap for migrating from 2.0 to 3.0 and architectural optimization. The team of certified SAs defined a 3 step strategy that included:
- Phase 1 – Assessment of the existing architecture and existing network and security configuration. Assessing tools to be used for application migration (VM Import/Export, Server Migration, Migration Tools) and to migrate the database (Database Migration Service, Replication Tools, Migration Tools), devising migration strategy to move application servers and database servers, migrating data onto AWS. Defining move groups for migration and network & security strategy.
- Phase 2 – Migrating the production environment onto AWS leveraging DevOps tools. Setting up AWS infrastructure.
- Phase 3 – Managed service and Cost optimization of AWS infrastructure after migration of the production environment was executed by recommending use of CloudWatch for CPU, Disk, Network, memory and status check metrics to monitor host utilization, Amazon Trusted Advisor for service limit checks, specific ports unrestricted access, IAM Use check, MFA on root account check.
The team comprehended the need to adopt a DevOps based approach for infrastructure automation. They created templates for deploying each component of the infrastructure making it more flexible and scalable. Continuous integration, deployment and delivery were executed using tools like Bamboo and AWS CodeDeploy.
Bamboo helped in automating the release management of the software application. Automated deployment of code from S3 or Git repository to any Amazon EC2 instances or instances running on-premises was handled using AWS CodeDeploy.
- High availability: Successful migration of version 2.0 to 3.0 followed by 24/7 monitoring resulted in making the platform highly available to the students and teachers.
- Scalability: The Company achieved the ability to scale the application as and when required along with granular level control of the environment.
- Reduced Cost: Managing the server 24/7 reduced the risk and downtime, resulting in cost optimization of approximately 10% on a monthly basis.
- Fault Tolerant: Continuous Monitoring resulted in achievement of a fault tolerant architecture.
- Microservices Architecture: The Company now has a small, highly modular and loosely coupled architecture.
BlazeClan availed a number of AWS services to execute this project successfully.
- Amazon EC2 was used for computing capacity management for their application deployment. It helped in reducing the time required to spin up new server instances to minutes, allowing them to quickly scale capacity, both up and down, as per their requirement.
- Amazon S3 was used to store and retrieve any amount of data from anywhere and everywhere.
- AWS NAT Gateway was used to allow instances on a private subnet to connect to the Internet or to other AWS services.
- AWS CloudWatch was used to monitor the performance of the system
- Puppet helped in configuration management that included setting up of the server, installing the packages, user creation and setting up the OS.
- Bamboo and GIT were the open source DevOps tools that were used for build and release management. Bamboo is a continuous integration (CI) server that was used to automate the release management for a software application, creating a continuous delivery pipeline. It was integrated with the Git repositories.
- AWS CodeDeploy helped in automating the deployment of the code from S3 or Git repository to any Amazon EC2 instances or instances running on-premises.
- Datadog being a SaaS-based monitoring and analytics platform was used for monitoring infrastructure and application components.
- AWS Import/Export was used to address the challenges with large data transfers that result in high network costs, long transfer times, and security concerns.