Launched in 2018 as a Cloud-based company, Inquisitive delivers inquiry-based lessons to streamline teacher prep and increase student engagement in and out of the classroom. Teachers credit Inquisitive with saving them a week’s worth of prep.
- Flawless application performance of cloud-based lessons in the classroom required
- Limited visibility into modern application performance–microservices and serverless
- Manual process for discovering and fixing application issues/bugs
- A small team of application developers
- Automated monitoring and troubleshooting of distributed application performance
- Visual debugging
- End-to-end observability
- Fast data query/search
- Agentless & any production workload—AWS ECS, AWS Lambda, Kubernetes, AWS Fargate, or VM
- Hybrid environments – microservices and/or serverless
Results & Benefits
- Setup in < five minutes – full automation
- Fix issues in seconds
- 90% reduction in troubleshooting time
- 75% reduction in error rates
- Faster developer velocity with shorter mean time resolution of issues
- Improved QA and time to market
- Streamlined hybrid environment management/evolution
The ability to monitor, troubleshoot and fix application performance issues rapidly were crucial to Inquisitive’s cloud learning business. Inquisitive’s research-based approach for lessons encourages student engagement and inquiry with highly visual videos and supporting materials on a broad range of history, geography, technology and science topics that increase in depth. Since teachers are using Inquisitive learning videos and lesson-based materials in the classroom, digital delivery of the learning modules from the cloud must be flawless
That’s where Ky Cheng, Inquisitive’s Chief Technology Officer and lead developer for Inquisitive learning applications, comes in. To make the applications work flawlessly, he needed to know what is working or not working in the application and fix it before it impacts teachers and students. Ky also wanted to ensure that no future feature and application is built with that flaw or issue.
Cloud Infrastructure Environment
When Inquisitive was launched, Ky made some crucial infrastructure decisions. Inquisitive would deliver its learning modules from the Cloud: in this case, a Cloud hosted by Amazon Web Services (AWS) with AWS ECS, API gateways, Route 53 for DNS, S3 for static assets and Elastic Beanstalk for Docker container scaling. His environment today is an even mix of AWS ECS and Lambda functions. Inquisitive is running Hapi.js applications on AWS ECS as part of its main API endpoint.
At the beginning when his infrastructure footprint was small, the six-person Inquisitive engineering team was able to handle issues and bugs manually leveraging their own expertise and log aggregator tools. But he knew his approach was not sustainable as the company grew. He also ruled out monitoring and troubleshooting tools that were agent- or server-based, since they did not work well especially in his hybrid environment with AWS ECS and Lambda functions.
Epsagon: Automated Monitoring and Troubleshooting for Microservices and Serverless
Epsagon’s Architecture Diagram
With Epsagon, his team went from no visibility into containers with billions of events and Lambda functions “where one function involves hundreds of lines of code and many moving parts” to an agentless application performance monitoring and troubleshooting solution with distributed, automated tracing of every request in a transaction and integrated logging and tracing in a single, highly visual interface.
Epsagon provides Inquisitive immediate visibility into every container that is launched by AWS ECS, providing a searchable, sortable interface for all running containers. Since Epsagon is agentless, Inquisitive can run across any production workload—AWS ECS, AWS Lambda, Kubernetes, AWS Fargate, or just a VM. Epsagon also is OpenTracing compatible. Epsagon automatically connects CloudWatch metrics and AWS metadata with other sources, visualizes all containers and microservices, and provides libraries for Java, Python, Go .NET and Node.js—the most popular languages.
The solution detected services running on the AWS ECS cluster automatically and leveraged real-time insights and metrics into the health and performance of web applications running on AWS ECS. “On day one, it also found a function that was doing nothing and just running in the background 100,000 calls a day. We shut it down immediately and saved right there,” Ky said.
Epsagon setup at Inquisitive took less than five minutes since it is fully automated—with no training, manual coding, tagging or maintenance, and Inquisitive developers were able to “fix bugs in seconds.” Developers can search across every trace and drill down into every container or function, identify errors and performance issues, and solve issues quickly. Alerting from Epsagon has enabled a new level of responsiveness from the developers.
In addition to the full automation, set up in less than five minutes and issue resolution in seconds from Epsagon, Inquisitive also experienced:
- 90% reduction in troubleshooting time
- 75% reduction in errors
“Epsagon’s business impact,” Ky noted, “is seen in developer velocity–not just fixing bugs but the ability to roll out new features and applications with confidence at scale.”