Welcome!

Recurring Revenue Authors: Yeshim Deniz, Carmen Gonzalez, Liz McMillan, Pat Romanski, Elizabeth White

Related Topics: @CloudExpo

@CloudExpo: Blog Feed Post

A Formula for Just in Time Provisioning in the Cloud

Traditional Architectures and Deployment Models is Superior to Cloud Computing in Provisioning

imageOne of the ways in which traditional architectures and deployment models is actually superior (yes, I said superior) to cloud computing is in provisioning.  Before you label me a cloud heretic, let me explain. In traditional deployment models capacity is generally allocated based on anticipated peaks in demand. Because the time to acquire, deploy, and integrate hardware into the network and application infrastructure this process is planned for and well-understood, and the resources required are in place before they are needed. In cloud computing, the benefit is that the time required to acquire those resources is contracted to virtually nothing, making capacity planning much more difficult. The goal is just-in-time provisioning – resources are not provisioned until you are sure you’re going to need them because part of the value proposition of cloud and highly virtualized infrastructure is that you don’t pay for resources until you need them. But it’s very hard to provision just-in-time and sometimes the result will end up being almost-but-not-quite-in-time. Here’s a cute [whale | squirrel | furry animal] to look at until service is restored.

While fans of Twitter’s fail whale are loyal and everyone will likely agree its inception and subsequent use bought Twitter more than a bit of patience with its often times unreliable service, not everyone will be as lucky or have customers as understanding as Twitter. We’d all really rather prefer not to see the Fail Whale, regardless of how endearing he (she? it?) might be.

But we also don’t want to overprovision and potentially end up spending more money than we need to. So how can these two needs be balanced?


THE VARIABLES

The first thing we need to do is know, in a given cloud, how long it will take to provision capacity and put it into the rotation. It would be nice if cloud providers offered a service devops could query to get the “current wait time” (a la customer service queues) but until then this timing will certainly need to be obtained by simply keeping track yourself.

The other “constant” (if there is such a thing in a elastic environment) is the capacity of the instances you are using. We’ll consider this a constant at this point because honestly, we’re not ready to move to the higher levels of enlightenment (and programmability) required to dynamically determine this value – though that will most certainly be the subject of a future, future post. Capacity needs to be in units measurable by the solution aggregating requests (a strategic point of control). This is almost certainly a Load balancer or application delivery controller of some kind, as these components are what enable elastic scalability and basically make cloud work. Typical units might be RPS (requests per second) but because of differences in the way different types of requests consume resources it may be easier and more consistent across applications to use connections, as in “concurrent open connections” as it is one of the limiting factors on capacity of application services.

The other two variables we need are only available at run-time, dynamically. You need to know the existing load – in the same units as capacity – and the current resource consumption rate. The resource consumption rate should be in the same units as capacity and in the same time unit as time to provision. If that’s minutes, use minutes. If that’s seconds, use seconds, and so on. It should be noted that the resource consumption rate is the harder of the two to obtain, requiring access to the historical performance statistics of the aggregating component (the load balancer).

But let’s assume you can and do have all these variables. How is that useful?


THE FORMULA

image

The formula is actually a fairly simple one once you’ve got the variables. You’re trying to figure out how much time you have before capacity is depleted (and hoping that the answer is smaller than the time to provision). Just-in-time provisioning, as the term implies, is an attempt to formulaically determine when to start the provisioning process such that capacity always meets demand without over-provisioning. Now, you’re always hedging your bets that a high resource consumption rate will continue in the next “time to provision”. It may be the case that the “spike” is over before the new instance is provisioned, but in this case you’re better safe than sorry, right? Unless your customers like seeing a [whale | squirrel | furry animal] and don’t mind the wait.

Consider the following example:

Total capacity right now is 1000 connections. The existing load is 800 connections. Connections are currently being consumed at a rate of 200 per minute. Provisioning more capacity takes 5 minutes. 1000image – 800 = 200 / 200 per minute = 1 minute of capacity left.

Provisioning should have begun at least 4 minutes ago, and optimally 9 minutes ago (too many years developing software for me – fudge factor included) to ensure capacity was available. In this situation, someone is getting a picture of a [whale | squirrel | furry animal].

The trick for devops is to tune the threshold at which the provisioning process begins. Too soon and you might be wasting resources (and money), too late and you end up with timeouts and angry users. Devops needs a way to programmatically evaluate the results and decide, based on the application (it may be more sensitive to failure than others) and the business significance of the transaction (purchase processes may need more warning than search or general browsing), when it is appropriate to start provisioning in such a way as to ensure availability without incurring a lot of cost overhead.


DYNAMIC INFRASTRUCTURE can ENABLE THIS TODAY

Now I’m sure this sounds like something out of science fiction, but it’s not. The variables can be obtained, if not easily, and the formula can easily be codified into scripts or management applications that enable this entire process to be automated. At a minimum, it should be possible for any skilled devop (developer or operations focused) to create a script/application/widget/gadget that gathers the data required and displays an alert when it’s time to provision – I suggest a nice HTML interface that encloses the entire page in BLINK tags, because nothing says FIX THIS NOW than BLINKING TEXT, right?

Regardless of how it’s actually to put to use, just-in-time provisioning is the goal of agile operations. How that happens is by leveraging cloud computing and highly virtualized data centers and combining that flexibility with the agility of a dynamic infrastructure. Remember, Infrastructure 2.0 isn’t just about configuration through automation. That’s nice, but it’s not the whole enchilada. It’s also about dynamism and flexibility at run-time, in providing actionable data and capabilities that allow elastic scalability to be truly elastic.

Read the original blog entry...

More Stories By Lori MacVittie

Lori MacVittie is responsible for education and evangelism of application services available across F5’s entire product suite. Her role includes authorship of technical materials and participation in a number of community-based forums and industry standards organizations, among other efforts. MacVittie has extensive programming experience as an application architect, as well as network and systems development and administration expertise. Prior to joining F5, MacVittie was an award-winning Senior Technology Editor at Network Computing Magazine, where she conducted product research and evaluation focused on integration with application and network architectures, and authored articles on a variety of topics aimed at IT professionals. Her most recent area of focus included SOA-related products and architectures. She holds a B.S. in Information and Computing Science from the University of Wisconsin at Green Bay, and an M.S. in Computer Science from Nova Southeastern University.

IoT & Smart Cities Stories
Nicolas Fierro is CEO of MIMIR Blockchain Solutions. He is a programmer, technologist, and operations dev who has worked with Ethereum and blockchain since 2014. His knowledge in blockchain dates to when he performed dev ops services to the Ethereum Foundation as one the privileged few developers to work with the original core team in Switzerland.
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more busine...
Bill Schmarzo, author of "Big Data: Understanding How Data Powers Big Business" and "Big Data MBA: Driving Business Strategies with Data Science," is responsible for setting the strategy and defining the Big Data service offerings and capabilities for EMC Global Services Big Data Practice. As the CTO for the Big Data Practice, he is responsible for working with organizations to help them identify where and how to start their big data journeys. He's written several white papers, is an avid blogge...
René Bostic is the Technical VP of the IBM Cloud Unit in North America. Enjoying her career with IBM during the modern millennial technological era, she is an expert in cloud computing, DevOps and emerging cloud technologies such as Blockchain. Her strengths and core competencies include a proven record of accomplishments in consensus building at all levels to assess, plan, and implement enterprise and cloud computing solutions. René is a member of the Society of Women Engineers (SWE) and a m...
Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a mul...
Whenever a new technology hits the high points of hype, everyone starts talking about it like it will solve all their business problems. Blockchain is one of those technologies. According to Gartner's latest report on the hype cycle of emerging technologies, blockchain has just passed the peak of their hype cycle curve. If you read the news articles about it, one would think it has taken over the technology world. No disruptive technology is without its challenges and potential impediments t...
If a machine can invent, does this mean the end of the patent system as we know it? The patent system, both in the US and Europe, allows companies to protect their inventions and helps foster innovation. However, Artificial Intelligence (AI) could be set to disrupt the patent system as we know it. This talk will examine how AI may change the patent landscape in the years to come. Furthermore, ways in which companies can best protect their AI related inventions will be examined from both a US and...
Bill Schmarzo, Tech Chair of "Big Data | Analytics" of upcoming CloudEXPO | DXWorldEXPO New York (November 12-13, 2018, New York City) today announced the outline and schedule of the track. "The track has been designed in experience/degree order," said Schmarzo. "So, that folks who attend the entire track can leave the conference with some of the skills necessary to get their work done when they get back to their offices. It actually ties back to some work that I'm doing at the University of San...
When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things'). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing. IoT is not about the devices, its about the data consumed and generated. The devices are tools, mechanisms, conduits. This paper discusses the considerations when dealing with the...