SPS's Tech Compute Guardrail

When designing a software system one of the fundamental questions we need to answer is β€œwhere will this software run?”. At SPS Commerce we have chosen AWS as our cloud provider which helps lead us to the answer of this question, but the AWS choice does not answer every question. In most scenarios we will run our software in a Docker container on one of our EKS or ECS clusters. However, in some scenarios, we may need to run directly on EC2 instance or may need to run workloads in one of our data centers due to licensing or cost concerns.

We are providing this direction in our Compute guardrail to help guide decision making for specific use-cases and to help inform our build pipelines, tooling, monitoring and security. When discussing this guardrail we had questions like β€œWhen should I use an EC2 instance?”, β€œIn what scenarios should I choose serverless over a Docker container?” or β€œWhat operating system distribution should I choose for my compute needs?”. Our Compute guardrail guides developers to answer these questions and make the best decisions for their compute needs. For example, our guidance drives developers to use Docker containers or Serverless over EC2 so we can reduce cost and simplify our infrastructure. We also guide developers to use Serverless, specifically AWS Lambda, to integrate AWS services together.

At SPS Commerce our choice of compute resources is especially important. The choices we make affect everything from the tooling we build, to the build pipelines we develop, to our budgeting and forecasting. The Compute guardrail is one tool to help guide us in these decisions. As development teams embrace the SPS guardrails we can be more consistent in our build pipelines, save costs by achieving high utilization of our cluster compute resources, run efficient serverless functions and reduce our operating system fragmentation. If we can achieve these goals, teams can quickly deliver business value to our customers rather than spend countless cycles reinventing the compute wheel.

Mike Bjerkness

Mike Bjerkness @mbjerkness