Skip and go to main content

An app to visualize capacity planning

Image

Dept helped Charter Communications, a leading broadband connectivity company and cable operator serving more than 31 million customers in 41 states in the US through its Spectrum brand, design and develop a custom application. The Charter capacity planning team uses this information to make accurate predictions of resource needs. This helps Charter to justify large infrastructure spending that helps them stay ahead of their needs.

Multiple data sources and no comprehensive visualization

Setting up cloud compute resource infrastructure in data centers all over the country is not a quick and easy task. It takes investment, time, and technical expertise. Missteps can cost tens of thousands of dollars.

Charter Communication’s capacity planning team came to Dept with the challenge of multiple data sources, and no way to visualize all the data comprehensively.

The team needed a way to take resource requests and examine historical/current resource usage data to accurately plan for resource needs. This tool would incorporate current utilization, planned decommissions, and future requests to display forecast models that would empower the team to stay ahead of the need.

Charter Communications needed a custom application to easily and accurately predict future resource utilization so they could plan ahead for additional resource needs and confidently approve requests.

Image

A capacity planning app that aggregates historical allocation and usage data

Dept built (and continues to build) Charter Communications a capacity planning application that aggregates historical allocation and usage data. The application organizes the information using ETL scripts which incorporate digestible data into the application database. The data is then displayed in trend charts so the team can see how capacity utilization changes over time.

Using an algorithm that incorporates yearly trends along with more recent historical data, the graphs display future usage predictions that also incorporate pending request data (planned, provisioned, and decommissioned).

Later this year, we will be working on a portal that allows end-users to ‘request’ capacity, and an admin side that can ‘approve’ it. This enables them to see ‘the future’ capacity because we know what the requests are, and how long they will be provisioned for.

Image

The technology

The team chose to implement a component-based framework known as React. In order to have data persist as users navigate the application, the team decided to use a common state management library, known as Redux, that allowed the team to store data in a centralized location and could be accessed by different parts of the application. For the graph visualizations of the aggregated data, the team chose React-Vis since it is a common charting library that is easy to use. The backend uses Node Typescript.

The team used typescript on both the front and back ends that would allow them to share components. The advantage of using Typescript over other programming languages (such as traditional javascript) is that it empowers the team to catch bugs sooner (with features such as type checking).

Because of the complex queries made by the application, a traditional PostgreSQL database was used.

Image

Results

  • Aggregated allocation, utilization, and capacity data are now viewable all in one place.
  • The Capacity planning team can see all requests without making siloed approvals on resources.
  • Requests are associated with projects allowing the admin team to see the rolled-up capacity needs of a given project. (CPU, RAM, Storage)
  • Each request enables the requestor and admin to communicate about a specific request and notifies the admin and requestor when changes on that request are made.
  • The new request form requires requesters to provide all the information necessary for provisioning before submission.
  • Requests made within very specific parameters are auto-approved saving the Capacity Planning team time on reviewing requests.
  • The Charter team can more confidently and accurately justify resource spending based on the modeling algorithm
  • Helps the Charter team avoid the rush of implementing new resources in an unreasonable time frame.

These people know everything about this project