DevOps Practice Project Reference for a children's entertainment & learning platform
21 February 2025
Country: France (delivered from UAE)
The client
The Akkodis client is an online provider of digital educational services for young children.
The challenge
The platform offers a suite of educational apps for kids aged 2-10, including videos, audiobooks, and games, all within a safe and ad-free environment. Their focus is on providing high-quality content that entertains and educates young children.
The client operates a complex multi-production environment encompassing several application servers. Their ecosystem includes diverse applications (TV, stories, games) and websites, each with three distinct environments: development, staging, and production. Each server within these environments is linked to a dedicated database server and a pipeline.
Prior to this project, the client faced significant challenges related to application deployment, stability, and scalability.
The client’s primary challenge was unpredictable and frequent downtime. This resulted in user churn, revenue loss, and a negative impact on customer satisfaction. The lack of agility hindered their ability to adapt to evolving market trends and slowed down the introduction of new features and improvements. Deployments were complex and risky, often requiring significant overtime and night shifts for both the client and Akkodis teams. The “all at once” deployment strategy amplified the risk of widespread outages. This inefficient process hampered innovation and created a stressful environment for all involved.
The solution
To address these challenges, a comprehensive DevOps solution centered around Continuous Integration and Continuous Delivery (CI/CD) was implemented using AWS cloud services. The key components of the solution include:
-
CI/CD Pipeline: AWS CodeBuild, CodePipeline, and CodeDeploy were utilized to automate the build, test, and deployment processes. AWS CodeArtifact was used for managing dependencies. This automation streamlined the release process and reduced the risk of human error.
-
Dynamic Content Delivery: AWS Elastic Beanstalk was implemented for managing and scaling the dynamic content of the applications.
-
Static Content Delivery: AWS Simple Storage Service (S3) was used for storing and serving static content, offering scalability and cost-effectiveness. Amazon CloudFront was integrated as a Content Delivery Network (CDN) to improve performance and reduce latency for end-users.
-
Caching and Invalidation: Lambda functions were implemented to manage cache invalidation, ensuring users always access the latest content.
-
Monitoring and Alerting: CloudWatch was used for comprehensive monitoring of server health, including logs, alarms, and log insights. Alarms were configured to notify the team through Amazon Simple NOtification Service (SNS) and Simple Email Service (SES), enabling proactive issue resolution. This monitoring system provided visibility into the application performance and infrastructure health.
-
Deployment Strategy: A shift from “all at once” deployments to Blue/Green deployments was implemented for applicable use cases. This strategy, where feasible, allowed for seamless and less risky releases, minimizing downtime, and enabling quick rollbacks if needed. For other deployments, the CI/CD pipeline and automated testing significantly reduced risk and improved deployment speed compared to the previous manual and “all at once” approach. The selection of deployment strategy (Blue/Green or other automated deployments) is now determined based on the specific application, risk assessment, and business requirements. This hybrid approach ensures that the most appropriate deployment strategy is used for each situation, maximizing both efficiency and stability.

The result
The implemented DevOps solution yielded significant improvements across several key areas:
-
Predictable Downtime: The monitoring system allows for anticipating potential server issues, enabling proactive intervention, and preventing unexpected outages.
-
Reduced Downtime: Downtime was drastically reduced to approximately 0.05%, minimizing user disruption and revenue loss. Issues are often resolved before the subscribers are even aware of them.
-
Faster Time to Market: The CI/CD pipeline enabled faster and more frequent releases, allowing the platform to adapt quickly to market demands and introduce new features more rapidly. The ability to rollback deployments provided a safety net for rapid iteration.
-
Cost Optimization: Monitoring of unused services and the ability to scale server capacity up or down resulted in over 30% savings on the monthly cloud bill.
-
Increased Customer Satisfaction: The combination of reduced downtime, faster feature releases, and improved application performance contributed to increased customer satisfaction.
-
Improved Team Morale: The automation and streamlined processes reduced the burden on the the client teams, eliminating the need for frequent overtime and night shifts. This improved team morale and productivity.