Containers are Inevitable Even for Content Delivery

Containerization breaks applications into components which can easily be deployed and scaled, bringing many benefits to software development. The flexibility containerization brings fits well with modern application development practices and DevOps principles, and has become popular with the growth of platforms including Docker and Kubernetes.

The Continued Rise of Containers

Earlier this week the popularity of containerization and services built around containers was again demonstrated with the acquisition of Deis by Microsoft. Deis provides tools for managing applications built on Kubernetes.

This was another aggressive statement by Microsoft highlighting the emerging dominance of containers as they change the way application engineers build, ship, run and manage applications.

We have watched container technology bring fundamental change to application architecture and management across many industries for several years, and clearly the trend is catching on: Datadog updated their Docker Adoption Report last year and showed that adoption rates increased 30% year over year.

docker adoption

What’s more containerization is showing no sign of slowing and nor should it. Using Google search as an indicator of interest in Docker and VMware as a measuring stick, we can see that as a percentage, Docker is still on a steady rise.

docker versus vmware

Containers and Content Delivery

section.io is committed to making content delivery easier and more accessible for developers using Agile and DevOps methods. Because of this, we chose Docker containers as the building block of our content delivery solution over 30 months ago, and are the first and only enterprise-grade global content delivery system built using container technology. Our entire solution now runs on Docker and a combination of Kubernetes and some home-grown container orchestration.

Below we go through what we run in containers and how section.io users benefit from our leveraging of this technology.

What do we run in Containers?

In containers we have our:

  • Global Delivery Platform
    • Running a discrete and unique container chain for every single one of our customers’ web applications on;
      • Major clouds including AWS and Azure
      • Specialized bare metal hosting services
  • Metrics platform
    • Running a unique and discrete stack of Graphite and Grafana for each customer
  • Logs Platform
    • Again, a unique and discrete Elasticsearch, Logstash and Kibana stack for each customer application
  • Git Repositories
    • Providing our agile application development for configuration of section.io
  • User Portal
    • Web portal hosted in Docker containers hitting our API endpoints

5 Benefits of Containers for our Customers

1. Portable PoPs

Our points of presence consist of a multi-tenant Docker host built to run under our smart load balancing and DNS layers.

Because our PoPs can run anywhere you can run a virtual machine (or a Kubernetes cluster), section.io’s PoP options are practically limitless and can leverage:

  • The capacity and peering of the public clouds like AWS, Google and Azure

  • Specific benefits of boutique hosting companies like Packet.net who provide bare metal as a service or regional specialties

  • Behind the firewall PoPs for extension of the content delivery solution into the enterprise

2. Developer Workflow

A special case for PoP delivery is into the developer workflow. section.io customers can git clone a Docker repository onto the developer workstation. This “Developer PoP,” not offered by any other CDN, is powered by the flexibility of container technology.

By running a Developer PoP, engineers can ensure their application works seamlessly with the production PoP configuration before pushing application code to test, staging or production. Conversely, configuration changes to the content delivery solution can be made (and tested) at the developer workstation where feedback loops are fastest; allowing engineers to drive the configuration harder to achieve optimal caching, security and application optimization outcomes.

3. Choice of Reverse Proxy Software

By publishing reverse proxy software such as Varnish Cache in containers and being able to run those containers in a multi-tenant PoP, section.io can deliver a different set of proxy software for different customers even though they are running on the same network. Thanks to the flexibility of containers, when using the section.io platform, customers can chose from a library of containerized reverse proxies and then chain those containers together in the order which suits each individual application.

A customer may choose to run Varnish Cache and/or PageSpeed for performance and scalability and add ModSecurity or Threat X for a web application firewall. Different versions of the software can be run in the same PoP for different applications or customers.

4. Independent Upgrade Paths

Given that customers can run different versions of the same software subject to their needs at any time, customers can also choose when they would like to upgrade. They can simply swap out one container for another when ready.

For example, customers can choose to upgrade from Varnish Cache 3 to 4 or 5 whenever suits them. Given the syntax changes between versions, not all customers are ready to upgrade at once so forcing them to do so does not make sense (nor does leaving every customer languishing on outdated versions software because the delivery platform cannot upgrade in a timely fashion).

Noting the above developer workflow, customers may also choose to create a local git branch to upgrade versions of software and test locally before promoting and merging the new version of software (and respective configuration changes) into the production branch.

5. Process Isolation

One of the primary benefits of containerization in a shared delivery platform is the isolation of the processes which execute inside the containers. This is quite a benefit from a security perspective as it prevents leakage of process execution which is important especially in light of some recent security problems on other global CDNs.

Try out containerized Content Delivery

To try section.io’s content delivery solution and developer workflow please get in touch and we’d be happy to give you a demo and a free 14 day trial of our system and reverse proxies such as Varnish Cache, Pagespeed FEO, and Threat X.

Request a Demo Get Started Today

Blog Categories

Interested in articles about a specific topic? Click on a category to see all related content.

section.io Sign up

Want to get started improving your website performance, scalability, and security? Sign up for a 14 day free trial of section.io and see what we can do for you!

Get started