Do You Need Elastic Infrastructure? Maybe Not.
Park Place: Hardware Maintenance
In a previous blog post, we discussed the differences between scalability and elasticity and hinted at something many organizations are finding—they don’t need as much elasticity as vendors are pushing on them. Getting a handle on when and where elasticity matters can help the budget-conscious IT shop provision more effectively and balance on-premises and other enterprise-managed IT assets with public cloud and hosted solutions..
How We Got Here: Elasticity Became a Buzzword
To sell something, one needs to be able to describe its advantages. It’s no coincidence that the term “elasticity” became popularized at the same time hyperscale cloud services providers were introducing and heavily pitching their elastic services, such as AWS’s Elastic Compute Cloud. The word elasticity itself is designed to promote metered, on-demand use, which certainly has its place.
The only problem is when elasticity is seen as a universal virtue. For example, Gartner fell guilty to conflating scalability and elasticity in its “Five Attributes of Cloud Computing.” While it would be hard to argue against scalability, elasticity is not always necessary—but from the trade rags and promotional events, it began to sound indispensable.
When Scalability Will Suffice
Common sense dictates that a metered-use solution will usually cost more than other typical production environments, especially if the enterprise succeeds in controlling its own hardware costs. Pay-as-you-grow schemes can get especially expensive when self-provisioning happens across multiple departments and business units, with minimal oversight from IT. Even when the IT department is closely involved in avoiding Shadow IT, cloud resources can be difficult to manage without significant automation and more transparency regarding each application’s resource usage than many IT shops currently enjoy.
Because scalability is more gradual, it can be more easily controlled. Organizations can forecast, monitor, and adjust capacity on a regular basis, whether monthly, quarterly, or annually. This holds true whether the workloads are running on premises or in the cloud, and it makes scalable architectures great for much of the business backbone.
Elasticity generally comes into play with e-commerce, mobile and web, and software companies. For other types of businesses, from law firms to car dealerships to research institutions, scalability will often suffice for most IT needs, with only public-facing applications with high traffic variance requiring significant elasticity.
Elasticity Must Happen Everywhere
Another complication is that elasticity is an all-or-nothing proposition. Having elasticity in the cloud means little if firewalls, switches, private bandwidth, and other infrastructure elements aren’t similarly flexible.
If an enterprise invests heavily in elastic capabilities, there is little choice but to scale up other components to accommodate maximum demand. Thus the total savings in the cloud, when other infrastructure needs are considered, may not be as great as expected.
In the words of Evolve IP “There is a reasonably major tradeoff between private and scalable versus public and elastic.” IT leaders need to make the right choice.
Transparency is Complicated
Elasticity works when resources are provisioned in alignment with actual business needs. When usage spikes, more server, storage, or other capacity should be automatically allocated, and when it drops off again, that capacity should be released back into the wild.
This sounds simple, but the problem is that many cloud management tools don’t provide the granular information about peak loads and cloud instances necessary to right-size accurately. As an InfoWorld article points out, “The description of Auto Scaling Groups on the Amazon Web Services website ends with a seemingly innocuous statement that hints at one of the core challenges: ‘The better you understand your application, the more effective you can make your Auto Scaling architecture.’” The author underscores that many organizations don’t really comprehend the infrastructure resources their own applications use.
Analytics has thus become a key barrier to controlling cloud costs and automating highly dynamic provisioning. Microservices, new monitoring technologies, and other advancements are coming to the rescue, but in the meantime, IT organizations would be wise to carefully consider where it’s worth adding the extra complexity of elasticity if and when a sufficiently scalable solution can get the job done.