Scaling Beyond Capacity: Network, Process and Architecture

When thinking of a system (like a cloud platform for digital experiences), scale means a system will continue to perform under increased workloads.

Scaling Beyond Capacity: Network, Process and Architecture

Scale is so frequently used in business, it can lose its meaning. When thinking of a system (like a cloud platform for digital experiences), scale means a system will continue to perform under increased workloads, but it doesn’t tell you how you can get there. Often the simplest answer isn’t the most efficient.

When it comes to your digital footprint, that workload is spread across the hardware, software and the human components of the system. Adding capacity to infrastructure is an easy process and isn’t fraught with too many challenges. However, all of that hardware can cause costs to balloon.

Scaling with a Network

Technically, this is adding hardware, however a content delivery network (CDN) provides a lightweight solution for caching that delivers improved performance. This method of adding lightweight capacity to cache-critical content close to the user takes some of the load off of your web servers. It has become so popular that some hosting companies include it in their offering.

A one-size-fits-all approach, however, won’t deliver the performance improvements you seek. This is because the included CDN does not allow you to configure settings for your application, limiting the potential of your performance gains. To fully realize the performance and scale of CDN, maintaining control of your settings will ensure optimal performance based on your priorities.

Scaling with process

At any given point, your team has any number of new feature requests, patches to deploy and minor updates to make to your application. Long branches of code can cause challenges in updating. Teams require code freezes to perform testing on a single update. All of these actions require time.  

Continuous delivery and integration are best practices that teams have widely adopted t address these challenges. They include the adoption of code pipeline tools that automate the process of building new code (both in the case of new code and for updates to existing branches).

These update processes can eliminate the requirement of code freezes and ensure that key tests are performed and automated. The end result, adopting these best practices helps team manage work in smaller chunks, keep sites updated without code freezes and excessive downtime, and enable a faster delivery of updates and changes.

At Acquia, we have both an open API to integrate with existing pipelines tools and our own Acquia Pipelines to automate the building and testing of code. Furthermore, with Acquia Cloud CD, we incorporated the creation of a production-like development environment to be automatically enabled for testing. This furthers the efficiency of the continuous delivery process.

Scaling with architecture

Over the past few years, a new approach to adding scale to digital teams has emerged. Decoupled or headless architecture strategies allow front-end and back-end web development teams to change how websites and applications are developed. In this approach, teams meet at the beginning of the project to agree on requirements.

Rather than the front-end (design) team awaiting the completion of the back-end design, they can begin developing the frontend immediately. Open APIs from web content management systems, like Drupal, enable this process to work. Rather than requiring the details of back-end structure, the front-end team needs only the design of the API to have the frontend “fetch” content from the back end.

Acquia launched our Node.js service for this use case in 2017. This service incorporates the support for JavaScript frameworks running on Node.js web servers to our traditional Drupal stack. The end result is a seamless architecture and workflow to enable teams to leverage not only a decoupled approach to how the front-end and back-end teams work together, but also a decoupled approach to how the application is designed.

No matter what your application, you are going to need to plan for it to scale. This may be due to the size of the team you have supporting your digital strategy, growth in traffic to your site or application, or more ambitious features incorporated into your site. When you are considering how to scale, consider that it requires much more than just hardware.

Featured Resources

View More Resources