A lot of times we get asked, how does your software select the appropriate ensemble (set of infrastructure) for a particular workload? It’s one we’re happy to get, because we have put a lot of work into figuring out the right way to do it.
When the company first started, the effort was very manual and required an expert s touch. We understood that by looking at the quality profile (the 51 attributes of a workload) a well-seasoned architect could select the appropriate infrastructure to support it. So, we hired a bunch of well-seasoned architects and set about solving that problem for our clients. The problem was, not everyone can afford months of our seasoned architects time. We may be more reasonably priced than some of the other big boys, but let’s face it, good IT consultants aren’t cheap.
Our first attempt was to simply evaluate how similar the requirements of a particular workload were to the supply characteristics of a particular set of infrastructure. For example, if a workload requires high availability and a particular ensemble can provide it, then that ensemble gets a point. The ensemble with the most points wins. This simple matching technique worked reasonably well, but it also produced egregious mistakes. For example, a workload with immense data processing requirements might get mapped to an ensemble that doesn’t have adequate CPU power simply because the availability, scalability and graphic interface qualities are similar.
To solve this problem, we started using a Bayesian approach. We went back over all the data we had collected in client engagements. We fed all of the client-approved results from our consulting engagements into our proprietary system and taught it the types of demand that require specific ensembles. Bayesian logic gave us a way to code all of our expert architects’ knowledge provides a means to pass that knowledge to you without paying hourly rates.
For example, when we analyze the workload described in this blog post against our six standard ensembles (Numerical Processing, Complex Transaction, Low Latency, Workflow Integration, Content Collaboration and Report Processing), we get the following distribution:
As we (as expert architects) would expect, we see high scores for both WI – workflow integration (required to select which customers to alert about which new inventory) and CC – content collaboration (necessary to send customers nice glossy information about new products).
For a demo of how this type of analysis may work for you (with your workloads and with your infrastructure ensembles or internal/external cloud potions) drop us a line.