WordPress Containerization, Serverless, and CI/CD Implementation for Skybound Entertainment

Scaling Skybound: Automated WordPress Deployments with AWS

Wordpress Containerization on AWS

Executive Summary


Stratus10 partnered with Skybound Entertainment to architect and containerize their WordPress website, including leveraging serverless technologies, to enhance portability, manageability, and scalability. By automating infrastructure and deployment pipelines, Skybound achieved reliable and repeatable deployments, significantly improving operational efficiency.
 

About Skybound


Skybound is a multiplatform content company that works closely with creators and their intellectual properties, extending their stories to further platforms including comics, television, film, tabletop and video games, books, digital content, events, and beyond. The company is the home of notable properties including The Walking Dead, Invincible and Superfight

skybound

Website: https://skybound.com

 

Customer Challenges


Skybound faced challenges around scaling their VMs when their website was hit with high traffic loads and managing their code and deployment pipelines. Manually creating and maintaining new environments was excessively time consuming, and the size of the website's codebase along with the large number of images and assets made managing deployments a tedious and long process.  
 

Why AWS


Skybound’s solution required a scalable, flexible, and secure infrastructure as well as a seamless way to deploy changes to their code without affecting end users. By containerizing the WordPress website and its source code and leveraging AWS services such as Fargate, ECS, CloudFormation, CloudWatch, and other services, Skybound gained the ability to seamlessly manage their code changes, deploy to multiple environments, and scale up without user interruption. 
 

Why Stratus10


Stratus10 was an ideal fit to deliver a containerized solution for Skybound that was repeatable and flexible enough to adjust to their high traffic demands. Our expertise across the AWS suite of services resulted in an optimal solution for Skybound that leveraged services they didn’t even know were available. Our proficiency in application containerization, autoscaling techniques, and well-architected best practices helped Skybound achieve this environment. Additionally, we delivered parameterized CloudFormation templates, simplifying the process of creating new environments.  

Solution Delivered


Highlights

  • All infrastructure automated using IaC technologies
  • The full WordPress installation for each environment has been containerized
  • Utilizes managed serverless database to reduce cost and provide automatic scaling
  • Continuous integration and delivery pipelines were created to automate build and deployment to dev, staging, and production
  • CDN used to accelerate content delivery globally
     

Containerization 

Each environment is built as a Docker image and stored in Amazon ECR (Elastic Container Registry). Amazon ECS (Elastic Container Service) is used to manage the lifecycle and placement of tasks, and Fargate is used to provide fully managed task execution and eliminate the need to manually maintain and scale instances.
 

Infrastructure Automation

All the infrastructure necessary to host each environment, including the VPC, networking components, security groups, database, ECS clusters, Fargate tasks, and IAM entities are captured in CloudFormation templates, providing a reliable, repeatable, mechanism for infrastructure creation that can be audited and version controlled.
 

Serverless Database

Amazon Aurora Serverless for MySql was selected as the database for each environment. As a fully managed service, the tasks of database maintenance have all been eliminated, the cost of running the database is optimized since it only utilizes what is needed, and scaling is automatic as the load varies.
 

CI/CD Pipelines

Using Amazon’s CodePipeline, pipelines have been created to both build/update the infrastructure and to deploy application changes to staging and production, upon approval. GitHub is used to store application code and infrastructure templates. CloudFormation is used to deploy infrastructure, and  AWS CodeBuild is used to build docker images.
 

CDN

Amazon CloudFront is used to cache content and deliver the customer’s various media with low latency to Skybound’s geographically diverse user base.
 

Implementation


Infrastructure

CloudFormation “environment” templates were written to create all necessary resources for each environment. The templates are parameterized so that they can be reused to create each environment (dev/staging/production). The environment templates create the following resources:

  • CloudFront distributions
  • S3 buckets
  • VPC, route tables, subnets, internet gateways, load balancers, target groups, security groups
  • Aurora RDS clusters, RDS subnets, and secrets
  • ECS clusters
  • ECS task definitions and task roles
  • Auto-scaling roles, targets, and policies
  • Container security groups
  • CloudWatch Log groups

Pipelines:

Using AWS CodePipeline, multiple pipelines were configured to create the infrastructure for the dev, staging, and production environments. Additional pipelines were configured to deploy the WordPress site to each environment.
 

Results and Benefits


Implementing Stratus10’s solution has led to improved performance, increased security, and a well-architected environment for Skybound's WordPress deployments.  Application components were segregated, allowing for “least privilege” principles to be leveraged. Autoscaling via containers running on Fargate ensures system reliability while reducing unnecessary delays during scaling events. Site reliability has significantly increased with the implementation of AWS CloudFront as a CDN. Furthermore, AWS CloudWatch provided administrators with pertinent data and actionable insights to monitor Skybound's website and respond to system-wide performance changes. 

Read more about Skybound's migration to AWS Redshift >>

Use case: App Modernization / Containerization
Client: Skybound
Date: May 2022
Category: Containerization