In January of 2008, dreading the idea of a cliche "prediction" post, I wrote a post that attempted to somewhat humorously outline seven businesses that would result from the then nascent cloud computing movement. As I look back at that post this year, I'm surprised to find myself thinking that most--if not all--of these should appear in one form or another in the coming year.
Here's the list, with my updated commentary from this year in italics:
SaaS<-->Enterprise data conversion practice: All those existing enterprise apps will need to have their data migrated to that trendy new SaaS tool; and should anyone actually decide they hate their first vendor, they'll be spending that money again to convert to the next choice. Perhaps they'll even get fed up and return to traditional enterprise software. Easy money.
This item was confronting the unfortunate truth that most SaaS options are built on proprietary (or "single platform", in the case of open source) database schemas. That fact alone means that getting enterprise data out of that highly customized on-premise HR application and into the cloud will take some real technical skill, as will changing or reversing that decision. I still believe that this will be a major portion of systems integrator revenue around SaaS adoption, especially for "commodity" functions like HR and finance.
Enterprise Integration as a Service: No matter how much functionality one SaaS vendor will provide, it will never be enough. Integration will always be necessary, but where/how will it be delivered? Go for the gold with a browser based integration option. Just figure out how to do it better/cheaper/faster than force.com, Microsoft, Google, Amazon, etc...
There have been some good attempts at moving EAI into the cloud (see Boomi), but I think this is the year that we will see enterprise class offerings from IBM, Microsoft, and others make their debut. I also wouldn't be surprised if Amazon or Salesforce.com didn't have something up their sleeves here. It's just too important a platform to ignore.
SaaS meter consolidation service: Given the problem stated in number two above, who wants five or six bills where its impossible to trace the cost of a transaction across vendors? Provide a single billing service that consolidates the charges of the vendor stable and provides additional analytic capabilities to break down where costs and revenues come from. Then get ready to defend yourself against the data ownership walls put up by those same vendors (see four below).
This is probably the offering I am least sure will appear in 2010, but there are some signs that people understand the challenge. If you have an application with its front end running on Google App Engine, its business logic on Force.com, and its data analysis on Amazon Web Services, will there be a way to track the costs of that application through a single invoice? I'd like to think the telecoms have an advantage here, but they seemingly remain blind to it.
(Cloud) Customer litigation practice: Given the example of Scoble's experience with Facebook, there are clearly a lot of sticky legal issues to be worked out about "who owns what." Ride that gravy train with litigation expertise in data ownership, vendor contractual obligations and the role of code as law.
As 2008 began, Robert Scoble had his Facebook account shut down for running an automated script to harvest his social network data from that service. The uproar that followed demonstrated one of the truly sticky subjects of cloud computing: who owns and governs the data residing in a public cloud service?
Unfortunately, that question remains unanswered, leaving me to believe there are still a few landmark court cases yet to appear in U.S., EU, and worldwide courts. Of course, today I would probably add cloud malpractice litigators to the mix...
SaaS industry (or SaaS customer) data ownership rights lobbyist: Given 4 above, each industry player is going to want their voice in Congress to protect/promote their interest. Drive the next set of legislation that screws up online equality and individual rights.
While some would argue with me, I think there is a huge policy battle around cloud waiting in the wings, and I know for a fact that several large cloud providers are already lining up lobbyists to drive policy beneficial to their businesses. I am not yet aware of consumer or enterprise focused lobbying, but I believe strongly it is only a matter of time.
Sys Admin retraining specialist: All those sys admins who will be out of work thanks to cloud computing are going to need to be retrained to monitor SLAs across external vendor properties, and to get good at waiting on hold for customer service representatives.
In point of fact, "retraining" of sys admins is already happening, though mostly through a combination of voluntary experimentation with cloud services, active projects, and the effects of virtualization on the data center. However, new technologies that make the cloud hum for a sys admin, like Puppet and Chef, will introduce opportunities to offer courses in advanced applications. Add to this the training in architectures and operations that developers now require to really excel at cloud computing, and you have a terrific business opportunity.
Handset recycling services: The rate at which "specialized" hardware will evolve will raise the rate of obsolescence to a new high. Somebody is going to make a killing from all those barely used precious metals, silicon, and LCD screens going to waste. Why not you?
Of course, there are already a variety of charities and businesses playing in this space. However, two facts are important to note: much of the charity work benefits developing countries, and the rate of obsolescence for cell phone technology hasn't slowed one iota.
Don't get me wrong. I'm not predicting that these businesses are a shoe-in. On the contrary, I think the form that ANY of these businesses take will likely surprise most of us. However, as I look ahead at 2010, it's amazing to me how many of the unsolved problems of 2008 are only just now getting addressed. To those of you addressing them, good luck in 2010.
As reported on CNET, Amazon Web Services has announced a new pricing option that lets its customers take advantage of spare capacity within the EC2 infrastructure at variable, supply-and-demand-driven pricing.
The news has taken the cloud community by storm. For some, it represents the beginning of a long-anticipated move to market pricing for core IT infrastructure services.
(Credit:
Wikimedia Commons)
While there is some truth to the importance of AWS spot pricing to the history of cloud computing, let's keep things in perspective: this pricing is set by Amazon, not any market. We are a long way from a true commodity market for any form of cloud computing service.
Before I go any further, let's review how the feature works:
Each customer sets a maximum price he or she is willing to pay for "spot instances."
Amazon sets a "spot price" for instances hour-by-hour, based on available supply and demand.
Customers pay whatever the spot price is up to their maximum price. So, if someone bids $0.07/hour, and the spot price is $0.05/hour, the person pays $0.05/hour.
If the spot price exceeds the customer's maximum price, the customer's instances are terminated.
Spot pricing is the third EC2 pricing option, joining existing on-demand and reserved instance options. The first two options targeted two critical-use cases for cloud computing: reserved instances for mission-critical apps where capacity must always be available to meet demand, and on-demand pricing for just about everything else.
However, the success of both options likely left Amazon with a big problem: excess capacity. The success of reserved instances means that Amazon has to keep around enough capacity to guarantee that it can handle any spike in demand that might come along. The success of on-demand pricing means that Amazon has to build out new capacity fast enough to stay ahead of the voracious demand curve.
So, what to do? Enter spot pricing. Amazon's new pricing is an incredibly creative way to encourage consumption of unused data center capacity, by providing that capacity at clearance sale prices on the condition that Amazon can take it back at a moment's notice. For the right kind of applications, it's a true win-win situation.
Why not profit from what would otherwise be a liability?
Note, however, that this feature is not market-based pricing. Amazon determines the spot price and can raise that price enough to gain back capacity at will, at no real cost to itself. There is no competition. There is no commoditization. There is just consumption of what is not being used.
The truth is, real commoditization of infrastructure services--or any other cloud service, for that matter--isn't in the best interest of Amazon or any other service provider.
Regardless, commoditization can't happen without open standards that allow easy portability and interoperability of data and code, as well as security, control, service-level assurance and compliance systems. Those standards are coming, but it is impossible to predict when they will arrive. I only hope Amazon embraces them when they do.
In the meantime, we can watch with admiration how the success of Amazon Web Services allows it to explore the future of IT with the enthusiastic help of a customer base that truly benefits from each success. I can't wait to see how customers choose to take advantage of spot pricing.
In a much anticipated move, Microsoft announced the combination of the Windows Azure group with the Windows Server and Solutions group into a new organization, titled the Server and Cloud Division. The new division, headed by Senior Vice President Amitabh Srivastava, will be a part of the Servers and Tools Business, headed by Bob Muglia.
The new division will "deliver solutions that help our customers realize even greater benefits from Microsoft's investments in on-premises and cloud technologies," according to the Windows Server Division blog. The Windows Azure team blog adds that the combined team will "ensure that customers get the full benefit of Microsoft offerings that span Microsoft's public cloud, on-premises solutions, private clouds, and clouds that our partners host."
The move makes sense, as the company's "software plus services" strategy requires consistency in the management and execution capabilities of both Windows Server and Windows Azure. Microsoft has been working on both Azure and private cloud capabilities for some time now, though its Web site currently pitches its Dynamic Data Center Toolkit as a "foundation" for both private and partner cloud services.
It should be noted that this move means that CTO Ray Ozzie is no longer heading the Azure team, a signal that Azure has graduated from a technical project to a full-fledged Microsoft business.
Also announced was the move of the Windows Azure Business and Marketing team, headed by Doug Hauger, to the Server and Tools Marketing group, under Corporate Vice President Robert Wahbe.
It's getting harder to focus on the vision of cloud computing these days. While there are still plenty of critical and complex problems to solve, and many, many implications of this disruptive operations model that have yet to be understood, the truth is that we've entered a new phase in the evolution of cloud adoption. Real work now exceeds theory when it comes to both new online content and work produced.
This kind of snuck up on me, but it shouldn't have. I myself witnessed many of the early events that greased the skids for real cloud success: the introduction of revolutionary products from Salesforce.com and Amazon Web Services; great blogs that discussed practical applications of early cloud environments, followed by books that explained step-by-step what should be considered in application architectures destined for the cloud.
The rapid adoption of "software as a service"-style offerings from the likes of Salesforce.com, Google, Zoho, and a wide variety of others in both the consumer and business markets belied new computing options delivered at Internet scale.
However, what really made me aware of the changing cloud buzz is what's happening in the software development space. I was shaken awake by Microsoft's brilliant launch of its Azure cloud service. I loved almost everything about how Ray Ozzie and crew positioned and discussed Azure's services to its target market: developers of the next generation of business applications.
The recent (re)unveiling at Microsoft's Professional Developers Conference in Los Angeles included an impressive array of services, customer testimonials, and partner announcements. If it had stopped at that, I would have assumed it was just "Mister Softy's" massive marketing machine in action.
However, I began following the "#azure" tag on Twitter from that day forward, and I've been blown away by the amount of content being generated by developers for developers. For example, this step-by-step guide to installing SQL Server on Azure. Or, how about this list of sessions from PDC from a variety of vendor and customer presenters, covering topics ranging from development basics to "making sense out of ambient data".
But it's not just Microsoft. Other cloud platform and infrastructure service vendors are building significant volume. Ruby on Rails platform service vendor Heroku reportedly hosts more than 40,000 applications now. At their Dreamforce conference in San Francisco, Salesforce.com mentioned they had approximately 135,000 applications running on their Force.com platform. (Of course, the number of these respective applications that are generating revenue or even used on a regular basis was not disclosed. Still, these numbers are impressive.)
Amazon Web Services has seen tens of billions of objects stored in its S3 environment (64 billion as of August 2009), and reportedly has several hundred thousand instances running at any given time. Google App Engine doesn't seem to do much marketing, but anecdotal evidence suggests there is a large body of Web application developers running on both the Java and Python instances.
Development and test services, such as SkyTap and Soasta, are thriving. The cloud model really works well for the dynamic resource usage model of software engineering. In fact, it works so well that IBM is putting some real muscle into the game.
There is other evidence that cloud is seeping into mainstream IT thought. This year's Gartner Data Center conference has a "virtual track" dedicated to cloud computing and its impact on the data center. Several vendor conferences leaned heavily on cloud computing in the last year. Professional associations are getting into the act by considering the impact of the cloud on their respective best practices and standards.
There is growing evidence that new and existing independent software vendors and consultancies are finding the cloud to be fertile ground. Of course, that could be a double-edged sword, as some firms will try to use the cloud as leverage to pry their way into otherwise closed doors. However, real projects do exist, and there are signs that that opportunity is growing.
If you are wondering if cloud computing is a fad, the evidence to the contrary is all around you. I heartily recommend that you really listen to what is being said, understand how the cloud is being used, and seriously evaluate how this disruptive model will change your projects, your organization, and even your career. Clearly, there are many technologists who already have.
Cloud computing providers have a difficult marketing challenge, in my opinion. Think about it--no matter what service model or deployment model a provider is delivering, they must differentiate their service while meeting the "commodity" needs of as many customers as possible. It would seem these businesses are stuck between providing least common denominator service capabilities and being accused of intentional customer lock-in.
(Credit:
Jake Shepherd/Flickr)
From a customer perspective, it is equally challenging when one is "looking for servers and storage" and must choose between a bunch of services that essentially run Linux or Windows and store your files. How does one choose? How do the cloud providers set themselves apart in the customers' eyes?
Unfortunately, I've been inundated of late by an increasing number of cloud service announcements that lack any sense of differentiation. Hosting providers are announcing "on-demand server capacity billed on a pay-as-you-go basis." Platform vendors are simply announcing what language they support, and how much they charge for services. Software-as-a-Service vendors have the easiest job to differentiate service, as they can do so based on functionality alone if they wish, but even there some vendors struggle to differentiate themselves by anything other than the fact they run as a cloud service.
This has to change. Forrester's James Staten is telling us that clients are getting "cloud weary." I believe a lot of this has to do with the ridiculousness of "cloudwashing" that we've seen for some products and services, and the relative monotony of pitches for things are arguably cloud services, especially in the IaaS space.
Below is a list of five key categories of competitive differentiation for cloud computing. It is not a complete list, nor do I think all vendors would look at this question in the same way. However, if you are looking to acquire cloud services, these are the elements I think you start with as you evaluate any service, be it SaaS, PaaS, or IaaS. If you are selling these services, consider this an outline for your next requirements document.
Ease of operations. Yeah, I could have kept things simple and just said "ease of use," but "use" in the cloud computing service sense is much more than how humans interact with the system. For instance, how does a company with hundreds of applications in the cloud strewn across a dozen or more vendors monitor and manage those applications to manageable service levels?
And yes, phenomenal user interfaces will set some providers apart from others, but it will be the "behind the scenes" interfaces--such as APIs, publish and subscribe event streams, transparency and auditability systems, etc.--that will make the most significant differences between providers.
Will many of the aspects of "ease of operations" be standardized? Sure. The Open Cloud Computing Interface (OCCI) is an example of an attempt to deal with a large part of this challenge. However, differentiation will still be possible through extensions, quality of features and--yes--some custom interfaces.
Configurability. One of the things about today's best-known cloud computing environments is that they are essentially infrastructure and software architecture frameworks that dictate a lot about the application architectures that can be built on them. For example, the Amazon Web Services Elastic Compute Cloud (EC2) allows each server to be on one widely shared network. No separation of management traffic from DMZ traffic here (at least not explicitly from the point of view of the OS).
No, application architects are instead forced to consider how they would build and operate their application in the infrastructure architecture given them. Good books have been written with this in mind, but ultimately the complexity of the problems we wish to solve with information technology will dictate the amount of configurability we require from our infrastructure systems--even if they are delivered as a service by a third party.
The low-hanging fruit here for IaaS vendors are things like network architectures, data storage options, server options and so on. Also useful here are services that enhance the infrastructure, like security systems, message queueing, and storage tiering.
Performance. One public relations contact I got recently was quite interesting. A hosting company sent me an email indicating that they have an increasing number of customers coming to them from AWS, and finding that their applications actually perform better in the former than the latter. I haven't confirmed the truth of that claim, but it is an interesting claim nonetheless.
Processing speed, memory speed, storage access, read and write speeds, latency, bandwidth--these are all things that are tunable by the cloud provider, either through technology acquisition, or through superior engineering and operations expertise. And, as with servers and storage, the fastest speeds per dollar spent will generally win.
I would not be surprised if we saw a cloud performance war, similar to the RDBMS benchmark wars, especially in the IaaS category (though it would make sense in the PaaS and SaaS categories as well).
Reliability and security. I debated combining these two elements, as they represent different aspects of the same concept. However, that core concept--risk mitigation--is at the heart of so much of the decision over whether public cloud services are better than private data centers, that I think they will often be viewed through the same lens.
Companies will need time to demonstrate differentiation in both of these categories, but features can be introduced today to increase the transparency of both operations and security in any provider. Redundant distributed data stores, "early warning" DDoS detection events, auditability APIs; these are all features that would "open the kimono" in a controlled fashion and increase customer's ability to trust that their provider has made the protection and availability of their data and functionality a core competency.
Customer service. After I wrote my closing post for the "big rethink" series, Kevin Magee, COO of ZeroTouch IT, wrote a post in which he noted several additional predictions for the effect of cloud computing on IT. Most notably, he pointed out that cloud will change "[h]ow Vendor Relationship Management will become a key discipline in IT organizations." Amen, brother, and I completely agree.
In a tongue-in-cheek post from early 2008, I noted that system administrators should "get good at waiting on hold for customer service representatives." In reality, there is truth to that, but the providers have a lot of room to craft that experience.
One thing they can do is advance the technical leading edge in terms of customer self-service and operations transparency. (Hmm. Has anyone else noted how often 'transparancy' comes up in this discussion.) I noted some ideas about this in a previous post. Smart providers will find others.
Cloud computing is one of those truly disruptive market opportunities that makes or breaks companies. The winners will find ways to differntiate. Those that don't almost certainly can't win. So, please, no more press releases that fail to differentiate in any meaningful way.
With a nod toward the heterogeneous application development environments that exist in most enterprise IT departments, IBM on Wednesday launched a pair of services targeted at building cloud applications.
The first, the IBM Smart Business Development and Test on the IBM Cloud, is a cloud service hosted in IBM's data centers that provides tools and interfaces designed to support developers using Java, .NET, and Open Source environments. This service provides computing and storage capacity, and support for WebSphere middleware, Rational Software Delivery Services, and its Information Management database. It also provides "pre-configured integrations" of some Rational services based on IBM's Jazz framework, its collaborative software platform.
There are no pre-configured integrations announced for third-party or open source tools or languages.
In addition to the Smart Business offering, IBM is adding private cloud-targeted tools and services to the IBM Rational Software Delivery Services for Cloud Computing offering. These tools and services target three key elements of the development and testing of cloud applications:
Agile development services, aimed at enabling collaborative development and testing through a set of best practices.
An integrated set of services for test management and planning and test lab management.
Tools, such as IBM Rational Asset Manager, which are targeted at increasing the efficiency of distributed application development teams.
By combining the expertise gained by IBM's Global Services organizations and the Rational Lab Services team in building and delivering development and test tools and practices in IBM-based clouds, the company hopes to become a one-stop shop for companies looking for a solid return on investment from adopting the cloud model in development and test.
IBM Smart Business Development and Test on the IBM Cloud can be accessed as a free beta, and the IBM Rational Software Delivery Services for private clouds are also available in beta through the companies sales force.
Recent failures to protect consumer data stored on the Internet (aka "the cloud") point to an alarming gap between the value of that data and the care with which some vendors treat that data.
Microsoft subsidiary Danger failed to put in even adequate safeguards for its customers' data. Amazon Web Services failed to discover an obvious problem that kept a loyal customer down for 20 hours. Coghead's agreement to sell to SAP without any provisions to continue support for existing customers.
(Credit:
DB King/Flickr)
The truth is that cloud computing means that now, more than ever, IT operations is a profession that has a very real economic and quality-of-life effect on its consumers--in very many ways much like health care or the law. I think it's time we hold ourselves as individual and organizations to similar standards that we expect from doctors, lawyers, and law enforcement. Our ethics must reflect an understanding of the responsibility we are being granted by the rest of society.
The instances above are examples of companies failing to follow well-known professional protocols, or putting the needs of the business ahead of the needs of the client. Heck, look at just about any cloud operator's terms of service, and you see paragraph after paragraph of text that basically states, "If something goes wrong, you can't blame us."
I think its time to change this attitude. I see a couple of options, neither of which I love, to achieve this. I'd love to hear from some innovative thinkers on others.
Pass "cloud consumer protection" laws. This was something that was briefly explored after I wrote my "Cloud Computing Bill of Rights" post in August of 2008. However, the folks who got involved at that time weren't a) vendors or b) policymakers, so we didn't get far.
The biggest issue with using the law to enforce professional culpability is that it requires government bureaucracy for enforcement. That bureaucracy doesn't exist today, and would be expensive to create.
Allow for "cloud malpractice" suits. Oh, I know, I know. Most of you in the IT profession are squirming in your chairs right now, ready to jump down my throat about how medical malpractice has created as many problems as it has solved. Again, I don't love this option, either.
However, if Danger had lost arguably hundreds of thousands of dollars worth of data (or more) because it didn't tangibly fear the reprisals that would come if it lost it, it would be nice to see a big ol' sledgehammer of justice ready to rain down. I'm sorry, but failure to follow known professional practices is malpractice, and malpractice suits exist to punish those who forget that.
Let me reemphasize that I don't love either option, but I do know something has to change. The public is placing an extremely high level of trust on "cloud" services, and there has to be more than the simple threat of loss of revenue to reflect this. What do you think? Is it time to wield a big stick with respect to cloud service operations, or will the natural evolution of the market do the job for us?
Was the failure of Microsoft acquisition Danger to protect the data of Sidekick smart phone users (its core customer base) a failure of cloud computing?
This question was argued vehemently earlier in October when the outage was first reported. Several articles appeared, including some on CNET and ZDNet, that indicated that the Danger failure should give users pause before putting their data into "The Cloud." On the other hand, several of us who have been involved in cloud-computing implementations were appalled at the use of the term "cloud" in regard to Danger. Clearly, as a provider, Danger was not practicing core cloud-computing principles.
(Credit:
Ed Uthman/Flickr)
Lori MacVittie, of application delivery networking vendor F5 and one of my favorite bloggers on the effects of the cloud-computing model on application control systems, wrote a post recently that summed up what a lot of us realized as the aftermath of Danger unfolded; that the word "cloud" is now being used in two increasingly divergent senses.
MacVittie puts it so well, I'll let her spell it out for you:
Thanks to the nearly constant misapplication of the phrase "The Cloud" and the lack of agreement on a clear definition from technical quarters I must announce that "The Cloud" is no longer a synonym for "Cloud Computing". It can't be. Do not be misled into trying, it will only cause you heartache and headaches. The two no longer refer to the same thing (if they ever really did) and there should be no implied - or inferred - relationship between them. "The Cloud" has, unfortunately, devolved into little more than a trendy reference for any consumer-facing application delivered over the Internet.
Cloud computing, on the other hand, specifically speaks to an architectural model; a means of deploying applications that abstracts compute, storage, network, and application network resources in order to provide uniform, on-demand scalability and reliability of application delivery.
In other words, "The Cloud" is a consumer concept. It represents a way of looking at the seemingly (but not really) new concept of using commercial Internet applications to create, update, and delete personal and/or professional information. It represents a tactical decision on the part of the consumer to trust third parties with data access, management, and security.
With that in mind, it's no wonder Richard Stallman, Larry Ellison and others are less than wowed by cloud computing. That model is both nothing new, and something everyone needs to understand has consequences to the way valuable data is handled.
On the other hand, "cloud computing" is a systems concept--an operations model that is mainly visible to those who build, deploy, and/or operate applications. End users (or "consumers" as Lori explains above) do not see "cloud computing."
Have there been cloud computing failures? Sure. The denial of service attack on Bitbucket (hosted on Amazon Web Services) was arguably an excellent example. There have been and will be more.
William Vambenepe may have explained a relationship between The Cloud and cloud computing months ago, but in slightly different terms. In a post titled "Exploring 'IT management in a changing IT world,'" Vambenepe describes an interesting way to conceive of the different facts of the term "cloud":
There are two main parts in the "Cloud" buzzword: the "Technical Cloud" and the "Business Cloud". The "Technical Cloud" is where we take virtualization and standardization (of machines, networks and application infrastructure) and turn that mind-boggling complexity into a manageable system that can be programmed to deliver applications (Cisco recently called it "Unified Computing"; HP, IBM and others have been trying to describe and brand it for a long time). Building on these technical capabilities comes the second part of "Cloud", the "Business Cloud". It is the ability to use infrastructure owned by a third party (presumably one able to leverage economies of scale) and all the possibilities this opens in the business realm. That's what "Cloud" started as, back when it was known as "Utility Computing" and before it was applied to everything under the sun. A recent illustration of the relationship between the "Technical Cloud" and the "Business Cloud" is the introduction of vCloud by VMWare (their vision includes using VMotion technology, a piece of the "Technical Cloud", not just to move machines between neighboring hypervisors but between organizations, enabling the "Business Cloud").
In the days since the Danger event, I've found my own ability to interpret where others come from in the "cloud" discussion has been made much easier by understanding this distinction. It's just too bad that the distinction will confuse non-technical people more than help them.
To date, this series has tried to guide you through the changes happening from the infrastructure, developer, and end user perspectives that signal the demise of the full-featured server operating system and the virtual server. Virtualization, and the large scale, multi-tenant operations model we know and love as "cloud computing," are enabling IT professionals to rethink the packaging, delivery, and operation of software functionality in extremely disruptive--and beneficial--ways.
(Credit:
Wonderlane)
So, what does this mean to the future of information technology? How will the role of IT, and the roles within IT, change as a result of the changing landscape of the technology it administers? What new applications--and resulting markets--are enabled by the "big rethink"?
Here are just a few of my own observations on this topic:
Software packaging will be application focused, not server focused. As anyone who has deployed a distributed application in the last two decades can tell you, the focus of system deployment has been the server, not the application, for some time now. In the highly customized world of IT systems development before virtualization and the cloud, servers were acquired, software was installed upon the servers in very specific ways, and the entire package was managed and monitored largely from the perspective of the server (e.g. what processes are running, how much CPU is being used, etc.).
As OS functionality begins to get wrapped into application containers, or moved onto the hardware circuitry itself, the packaging begins to be defined in terms of application architecture, with monitoring happening from the perspective of software services and interfaces rather than the server itself. These packages can then be moved around within data centers, or even among them, and the focus of management will remain on the application.
That's not to say that no one will be watching the hardware. Infrastructure operations will always be a key function within data centers. However, outside of the data center operations team, it will matter less and less.
Enterprise IT will begin to bend enterprise and solutions architectures to align better with what is offered from the cloud. I may not agree with some that the cloud will stifle differentiation in software systems, but one thing is very true.
As end users select software-as-a-service applications to run core pieces of their business, meet integration and operations needs from the cloud, and generally move from systems providers to service providers, the need to reduce customization will be strong. This is both to reduce costs and strengthen system survivability in the face of constant feature changes on the underlying application system.
The changing relationship between software and hardware will result in new organizational structures within the IT department. When it comes to IT operations--specifically data center operations--we've generally lived with administrative groups divided along server, storage, and network lines from before the dawn of client-server application architectures.
This organization, however, is an artifact of a time when applications were tightly coupled to the hardware on which they were deployed. In such a static deployment model, expertise was needed to customize these technologies in pursuit of meeting specific service-level goals.
When you decouple software deployment from underlying hardware, it begins to allow for a re-evaluation of these operational roles. Today, most companies are already in a transition in this respect, with increasing reliance on roles like "virtualization administrator" and "operations specialist" to fulfill changing needs.
The changing landscape of software development platforms will result in new philosophies of software architecture, deployment, and operations. I'm thinking here primarily of two things.
First, agility will become king in large-scale systems development for classes of applications ranging from web applications to data processing to core business systems. Agility from the service provider's perspective, in the frequency in which they can release features and fixes. Agility from the perspective of the enterprise developer, through the ways in which they can rapidly iterate over the write-build-test cycle. Agility from the perspective of the entrepreneur, in that data center services are now a credit card away.
Second, I think project management, whether for commercial offerings or for custom enterprise applications, will see rapid change. Agile programming and project management methods make a ton of sense in the cloud, as do service-oriented approaches to software and systems architecture. Project managers wondering what cloud computing will do to their day-to-day jobs should consider what happens if development can outpace a Gant chart.
The need for tactical systems administrators will be reduced. I've written about this in the past, but the tactical system administrator--the man or woman who grabs a trouble ticket from the top of the queue, takes care of the request, closes the ticket, then takes the next ticket from the queue--is going to largely (though probably not entirely) go away.
Why? Automation. Most of the tasks such an admin does day to day are highly automatable: provisioning, failure recovery, scaling, infrastructure management and so on. These administrators are among the last "clerks" in business, and a result of the unfortunate fact that IT has been excellent at automating everything in business--except IT.
Where tactical systems administration will still be needed, however, is in what I like to call the "private cloud operations center," a concept similar to the network operations centers that exist in many Fortune 500 companies today. There, the administrator would monitor overall performance of applications running in the cloud (on both internal and external resources), as well as monitoring the performance of the cloud providers themselves.
There are a lot more forward-thinking thoughts that you and I could probably come up with when we think of the demise of traditional IT in favor of a lean, tight, cloud-oriented IT model. However, the great thing about being involved in cloud today is that the ground is shifting so fast, that I find myself changing many of the long-term predictions I made last year. I wouldn't presume to be able to see the future clearly in the face of cloud computing, but many of the key drivers are already out there.
The trick is to be open-minded about what you see, and to be willing to "rethink"...big.
So far in this series, I've described why the very form of application infrastructure delivery will change in the coming years, and why both infrastructure and software development will play a major role in that. These are powerful forces that are already at work, and you are already seeing their effects on the way enterprise IT and consumer Web applications are being operated.
There is one more key force that will change the way we acquire, build, and consume enterprise application functionality and data, however. It is the very reason that enterprise IT exists. I am speaking, of course, of the users--the business units and individuals that demand IT give them increased productivity and competitive advantage.
How is it that end users could affect cloud-based architectures? After all, isn't one of the key points about cloud computing that it hides infrastructure and operations from hosted applications and services? The answer is simple: the need for cloud-operated infrastructure comes from the need for more efficient application delivery and operations, which in turn comes from the accelerated need for new software functionality driven by end users.
The most obvious place where this is the case is software as a service. Cloud applications and services that fall under this category are targeted at end users; they deliver computing and storage functionality that meet specific business needs (such as customer relationship management (CRM) or application development and testing).
Here's the thing about most business applications, though, regardless of how they are delivered: they are almost never used out of the box, as is, without some form of customization. I worked for a short time at enterprise content management vendor, Alfresco, and I don't think there were any "as is" deployments. Every engagement involved customization.
For CRM vendor Salesforce.com, the evidence is the importance and success of its Force.com cloud development platform, as well as its AppExchange marketplace. Both allow users to customize or extend Salesforce.com for their needs, and even build new business applications that leverage customer data.
The result of this is that the cloud itself must be not only elastic, but agile. It must bend at all levels to the will of its users, and the degree and ease of configuring and customizing will quickly become competitive differentiators for vendors in all categories of cloud computing.
What are the best ways to accommodate this agility at scales large enough to meet the needs of cloud computing? Well, today that would be two technologies:
- Virtualization--the abstraction of computing, storage, and networking resources from underlying infrastructure
- Automation--the elimination of the need for human intervention in common, repeatable tasks and decisions
Now, if you are going to virtualize and automate infrastructure in support of a customization of a SaaS application, do you need an entire virtual server with a full featured operating system? Of course not. In fact, I would argue that you need least-common-denominator systems infrastructure to enable the customization to work. Otherwise you are creating unnecessary storage and computing baggage.
I think in many ways only the cloud-computing model enables this degree of efficiency in running customized business systems for end users. Because the service vendors (be it software, platform, or infrastructure services) are able to optimize for all customers at once, a given advancement in efficiency pays off much more (and much faster) for the service provider than it would for a single customer. Multi-tenancy is what makes the economics work for both the business user and the service provider.
My next and final post in the series will attempt to wrap all of this up, and to present a vision of what the cloud of the future may look like when the evolution and/or demise of the operating system and virtual server is complete. Though I harbor no illusions about it happening all at once, or being a pain-free transition, I, for one, am excited about the new technologies this future may enable. I hope you are, too.






