The Coronavirus (COVID-19) is forcing people to work from home. Suddenly many organizations have to support an entirely remote workforce. The "social distancing" mandates have IT departments scrambling to be sure employees have access and the tools to work from home.
The increase in telecommuters has businesses experiencing capacity requirements as previously many organizations have only tested remote options with a smaller subset of employees. Suddenly, all companies are evaluating how their infrastructure and applications will scale. There are many discussions related to achieving high availability.
For many organizations, working from home meant accessing email and non-operational systems. The "overnight" shift to working from home has caused high levels of stress. Stress on the remote employee as well as stress on application infrastructure. User behavior, network load, and application availability are changing in ways never imagined. The shift in user behavior may identify new single points of failure (SPOFs).
The Coronavirus pandemic is the latest example implicating the importance of implementing highly scalable and available solutions.
For more than a decade, AKF Partners has been helping organizations plan for and respond to rapid shifts in demand. Evaluating product architecture and processes to achieve high availability.
Applying proprietary AKF Models determines if current or future architecture can handle scale. These models help deal with some of the current uncertainty and withstanding higher levels of demand.
The AKF Scale Cube
The AKF Scale Cube is a three-dimensional approach to building applications that can scale infinitely. It is a model for segmenting services, defining microservices and scaling products.
- X-axis scaling consists of horizontal duplication and cloning of services and data.
- Y-axis scale is functional decomposition and segmentation (Microservices).
- Z-axis scaling consists of service/data partitioning along customer boundaries (shards/pods).
The AKF Availability Cube
The AKF Availability Cube is a model to evaluate the theoretical “as designed” availability of existing systems.
Just as in AKF Scale Cube, X-axis scaling consists of cloning services to increase availability. The Y-axis of the Availability Cube also addresses fault isolation between services. It is concerned with the number of service and data fan outs as well as data fuses. Unlike the Scale Cube, “more” of something in the Y-axis of the Availability Cube is not desirable. The Z-axis of the Availability Cube defines “blast radius” boundaries.
These boundaries are defined by groups or segments of customers we serve, geographies, or transactional identifiers within analytics systems.
Is your application highly available
If you are experiencing recurring failures or low availability these models will help. Not only will these models help identify what needs to be fixed, they also help inform the path to success. Contact us if you are experiencing constant outages. If you have a large project or re-design, we can help architect and lead the project.
We offer scalability workshops to gain further exposure to the AKF models. We also offer technical due diligence services that evaluate organizations' technology. The engagement focuses on technology, organization, process, and security. We have considerable experience conducting these assessments both in-person – but more appropriate for the current travel-ban climate – remotely as well.
Creating a scalable product that is ready for growth is challenging. There are many aspects to consider for scalability and availability. Our technical due diligence checklist provides insight into the architecture of products & services.
We can begin to gain a deeper level of understanding and identify any technical risks. Below are some of the questions we use to understand the architecture of products.
Some high-level questions that AKF Partners use as a technical due diligence checklist include:
- Are incoming requests load balanced?
- Are sessions being stored? If yes, where?
- Are services sized appropriately?
- Are active-active or multiple AZs utilized? Tested?
- Are object caches utilized?
- Is edge caching used (CDN/browser caching)?
- Are services separated across different servers?
- Are databases dedicated to a subset of services?
- Do services communicate asynchronously?
- Are single points of failure eliminated?
We have conducted hundreds of on-site and remote architectural reviews. We offer 2 and 3-day reviews for companies of all sizes. Contact us to see how we can help!