Challenge

Moonami is a Moodle-as-a-service company servicing thousands of clients around the globe. Moonami’s software-as-a-service platform is built on top of Amazon and allows their clients to sign up and get provisioned with a Moodle instance instantly.

Moonami signed an AWS managed services contract with Six Feet Up to address several challenges with their deployments, including:

Single Point of Failure

Moonami was relying on a very small number of technical operating resources. This low bus factor represented a single point of failure within the team. Additionally those technical experts wanted to move away from being on call 24/7.

Reactive IT Support

Moonami’s existing monitoring system wasn’t sufficient to allow the team to take proactive measures against upcoming issues. Instead, the technical team was only notified of a problem after clients reported it.

High AWS Costs

Moonami wanted to review their resource utilization and figure out if they could reduce their AWS bills.

Aging System 

Moonami’s task manager system was no longer supported and the company needed guidance with its replacement.

Implementation Details

Moonami signed an AWS managed services contract with Six Feet Up to help optimize their AWS deployment. We focused our efforts around 4 specific initiatives:

1. Monitoring and Alerting

Moonami was using Datadog and Opsgenie for monitoring and alerting, with Datadog handling the aggregation of the analytics from Amazon’s Cloudwatch. This was a highly active way of watching the environment.

Instead, we focused on a “set it and forget it” system.  We turned on AWS Enhanced Monitoring for RDS for better database monitoring to detect if the system was running out of memory or CPU. We also set up dashboards and thresholds to know when things are trending the wrong direction before the client notices an issue.

Finally, we became Moonami’s 24/7 backup support team, hence address the single point of failure issue.

2. Orchestration Optimization

We started by documenting all the pieces in place and reviewing monthly utilization data trying to find opportunities to optimize resources.

Moonami was using EC2 for the VMs, RDS for database backend storage, and Memcached and Redis Cache for the various Moodle pieces. We recommended using Amazon ElastiCache to replace the Redis and Memcached box set up in EC2.

Next, we looked at cloud native products to replace custom components and advised Moonami to replace Zadara with EFS storage to get rid of third party dependency.

After that, we tackled orchestration improvements and worked on deploying configuration files out to Moonami’s infrastructure using Saltstack. We also recommended leveraging Salt’s task runners to replace the aging task manager.

3. Cost Reduction

We realized Moonami’s AWS spend was largely linked to two main issues:

  • wasted resources and
  • expensive data transfer fees

Moonami had overbought on EC2 instance sizes so we recommended reducing those but spinning up more of them so the company could adapt to its customer demand faster by scaling up quicker. We also urged upgrading RDS instances to the latest generation for performance boost and cost savings.

To help reduce usage, we recommended putting in place garbage collection on S3 buckets, as well as looking for infrastructure pieces that Moonami had spun up for testing but never turned down.

The final cost saving initiative was to make infrastructure changes to reduce the amount of data transfer between zones and out to customers.

4. Security

As part of our normal AWS managed service offering, we ran an audit of Moonami’s infrastructure and looked for things that might be open to the public and shouldn’t be and to audit any infrastructure components that may have vulnerabilities or exploits active.

Results

Overall, AWS managed services is all about spending money in the right place. We helped optimize and scale up Moonami’s deployment so they can handle more customers. We reduced their monthly AWS spend so the company can invest on modernizing aging tools and systems. And finally, we set up an infrastructure they can run without relying on technical experts.

Are you ready to start your next project?

Let's Talk