EdTech DevOps on AWS
A small start-up company launched a Traveler Relationship Management application to support early-stage study abroad advising while simplifying the application and pre-departure process. To achieve quick deployment of application updates, increased application reliability / availability, and improved operational transparency, the company needed a solid DevOps solution designed to strengthen infrastructure.
The company acts as a technology partner for higher education institutions. In addition, they support global clients and program provider partners. With only a small development team in place, the company has partnered with Unicon for Cloud Services including AWS Consulting and Managed Services.
As a start-up working with a lean operating plan and budget, the company has a very small technical staff without the bandwidth to manage the delivery pipeline and production environment. This results in a lack of mature service delivery practices required by their application. The client sought a vendor partner that could replace their current hosting provider as well as provide consultation to successfully leverage available AWS services in order to meet both long and short-term business goals. Prior to Unicon’s engagement, a general lack of visibility into the health of the application, coupled with no means of notification when a change in application availability or function occurred, caused general frustration for the client team and concern among customers.
The client faced specific challenges with the application, including:
- Inconsistent testing and unsuccessful deployments caused by the lack of backup and recovery solutions, as well as a non-functioning CI/CD (continuous integration and continuous delivery) process
- The need to address Elasticsearch reliability and performance issues, which were impacting service availability
- The need to address GDPR concerns and client security
Due to the start-up nature of the organization, planning conversations included discussions about the following: right-sizing infrastructure and costs importance; planning for high availability and scalability needs to handle future growth; and increased visibility.
Unicon worked with the client to understand the challenges they were facing when deploying their application into AWS. These challenges included no documentation of the infrastructure required to deploy an environment, manual deployment processes, and downtime required in order for changes to occur.
Unicon leveraged AWS CloudFormation and AWS CodeDeploy to help address deployment issues quickly. Implementing AWS CloudFormation helped to swiftly deploy infrastructure for the environments, which allowed further response to the evolving nature of the application. AWS CloudFormation has also been key to ensuring environment consistency across regions. AWS CodeDeploy was implemented to rapidly deploy code with minimal disruption and has increased the reliability of code updates to the environment.
Implementing these two tools rapidly laid the groundwork for future improvements and the evolution to a fully automated DevOps model.
Greater Reliability and Visibility
To improve the overall visibility into the application, top to bottom monitoring and notifications using AWS Cloudwatch, AWS Cloudwatch Logs, and AWS Simple Notification Service (SNS) were implemented. The improvement allowed the client to be proactive in their response to a change in the application state. This is based on information provided by AWS Cloudwatch Logs and alarms based on the log data. Additionally, AWS CloudTrail and AWS Cloudwatch Logs provided greater client visibility into the application itself, which can be used for auditing purposes.
The use of AWS API tools to create and manage snapshots, along with developing baseline AWS AMIs for recoverability, provided greater reliability of the data to the client. This also created the ability to quickly recover the application.
Implementation of AWS Elasticsearch as a replacement for a local Elasticsearch process alleviated a number of issues that were experienced. With the Elasticsearch service capabilities of converting a single node to a multi-node, multi-AZ cluster, the opportunity to make use of a robust service offering consistent and reliable performance resulted in greater reliability and efficiency.
Unicon was able to offer guidance in defining the baseline capacity for the application, which allowed the client to define and reserve EC2 resources to manage costs and track usage. Gaining further understanding of current costs and usage patterns also allowed the client to make better forecasting decisions for future costs on the product roadmap. Additionally, defining a reliable cost model allows a more disciplined approach when managing spikes in application traffic.
Meeting the Challenges: Unicon Cloud Services on AWS
With experience in many of the AWS services including EC2, RDS, S3, CloudFormation, CodeDeploy, CodePipeline, CodeBuild, ECS, and Auto Scaling, Unicon can help clients achieve high levels of reliability and scalability while utilizing a cost-optimized infrastructure for their education workloads. With deep expertise in technology development and delivery for education, Unicon helps a variety of clients deliver on their educational mission through curriculum and content delivery solutions, enterprise portals, learning technology, IAM, and advanced learning analytics.
Unicon is an Advanced Consulting Partner in the AWS Partner Network (APN) and holds the AWS Education Competency. Advanced Consulting Partner status indicates that Unicon has experience to leverage AWS to its fullest potential. Unicon has extensive knowledge deploying and operating applications as well as providing application design and development. Unicon has deployed and operated large scale ed tech applications serving global users on AWS services for over 9 years. Additionally, Unicon has staff certified in many current AWS certifications, including AWS certified Professional level Solution Architects and DevOps Engineers.
Reliability and Agility
- DevOps pipeline supports a repeatable, reliable deployment crucial to the life-cycle of a start-up's rapidly changing and evolving product, allowing customer feedback to be addressed through frequent releases
- AWS CloudFormation templates used to deploy new environments, either permanently or temporarily, allow for repeatable infrastructure deployments for test and staging activities, regional deployments to meet data locality requirements, and DR recovery into a different region if needed
- Utilizing the ability to purchase AWS EC2 reservations while leveraging On-demand EC2 for short-term tasks has led to better financial controls and planning
- Refining AWS resources, including appropriate EBS volume types, allows for a more efficient environment
- Leveraging AWS CloudWatch metrics to correct instance sizing provides more appropriate usage patterns
- AWS Cloudwatch, AWS Cloudwatch Logs and AWS CloudTrail provide insight into the usage patterns of the application performance and security
To learn more about Unicon’s services for AWS, start a conversation with us.