There are five essential pillars of cloudiness. In this recurring blog series, we’ll count down from No. 5 to No. 1. Last time, we looked at security. In this second post, we discuss agility returns.
The cloud is constantly changing and if infrastructure can’t roll with the punches, applications and services aren’t going to survive long. Cloud is about being agile and letting applications float like a butterfly and deliver service like a bee.
Before the advent of the cloud, return on investment was the key decider in infrastructure planning. With the dynamic that the cloud brings to computing resources, the new deciding factor is return on agility.
Return on agility is the value provided by automatically and dynamically responding to the trends in consumption of a service. Return on agility is measured indirectly as dollars per request but more directly with time – time for innovation and further efficiency gains.
Here we’re concerned with how to be agile and the benefits that it provides, which allows us to determine what the particular return on agility for our systems might be.
Quickly reacting to events with infrastructure allows the whole system to be more flexible and handle spikes with finesse. Consumers of a service receive the best experience when the resources are pre-allocated, but in the world of reddit, where a traffic spike can hit at any moment, predicting provisioning targets is simply out of the question. Thus, the best solution is not worrying about up-front provisioning but to instead setup monitoring that notifies the services to scale out when a user experience threshold may be met in the near future — meaning within 15 to 30 minutes.
A reactionary approach to infrastructure planning closes the gap between resource provisioning and resource consumption. This reduces the gap between consumption and provisioning allowing for less time with reduced user experience and less time wasting computing resources. This reactionary provisioning also brings the amount spent into correlation with the consumption of the application.
The last way to be agile is knowing the weapons (products) and environment the application has to work with, allowing the application to fight whatever battles it will face. Using products made available by the provider and others boosts agility by increasing the time available for other tasks.
The following are tips to help keep current on the available cloud products:
- Read all of the high-level documentation about every cloud product in the provider’s portfolio; something might stick out that allows the infrastructure to require less management
- Read the technical documentation of any service your application might consume; this includes API documentation, FAQs and best practices – many others have struggled to overcome obstacles to complete their goals; learn from their mistakes and lessons learned by reading as much as possible
- Ask questions about the best way to configure services. Every application requires a little dirty work to best consume a service – a call or chat with your Fanatical Support team can do wonders and assist with building one of the world’s most complex and interesting applications
Now that we know a few ways to begin achieving the agility we desire, let’s talk about why we would be interested in achieving a higher level of agility.
We’ve alluded to the monetary benefit of agility already with the amount of time gained due to these practices, but there is also the innovation. The last benefit is the transformation of the application from an expense to a revenue generator.
The old adage states that time is money and IT is not an exception by a long shot. We constantly hear the plea for more time for projects so they can have higher quality, be easier to maintain and remain useful for a long time.
Through continuous integration, delivery and deployment, infrastructure as an operational cost becomes very streamlined. Also, the time for development shrinks as the application becomes more maintainable and deployable, which allows non-linear project planning and progress agility.
By leveraging agility with proper quality constraints, application development cycles can become shorter while providing just as many, if not more, bug fixes and features. The non-linear project motion allows innovation to head in the direction of creativity for the application.
Being able to let creativity run rampant while having confidence in application deployment lets the business channel the creativity into new revenue and allows new items or services to grow the customer base.
Thus, agility is key not only to business but also to IT, development and providing services or applications on a technology infrastructure.
Tune in next week when we talk about the third pillar of cloudiness: scaling horizontally. Need more information about developing on the cloud? Be sure to check out our Rackspace Cloud API documentation and the Rackspace DevOps blog.
Alex Brandt, a Technical Trainer with Rackspace University, contributed to this article.