Welcome to part two of what started out as a simple exposition about cloud computing and has turned into...this. I apologize for the delay in getting this out, but life caught up with me. Plus, I had a lot I wanted to say and organizing my thoughts took a bit of time.
If you read part one, then you have some context for the remainder of this discussion. I plan to cover cloud providers, some thoughts on what may or may not be competitive advantages of various providers (or maybe an ideal provider), and what some of the investing implications may be in this space. This should ALL be considered a giant thought experiment. It sure as hell is not investment advice. If you even conceive of investing based on anything said here, you're an idiot, and as Gordon Gekko once said, "A fool and his money are lucky enough to get together in the first place". You might as well send me that money (or you could commission me to do a research report for you, to make it feel like less of a waste).
In my last post, I discussed the idea of automated infrastructure. The basic idea is that you can scale your infrastructure, systems and network, dynamically and programmatically based upon capacity planning rules you define for your architecture. That whole sentence sounds pretty high level, but I'm not sure how to break it down further right now. Follow the links above for an example of how SmugMug achieves these outcomes.
That said, a lot of the effort that goes into creating systems that can automatically scale themselves up AND down is in building the tools. THAT effort is what is slowed down by the lack of programmability of network elements such as switches, routers, firewalls and others. Making these devices programmable would allow the creation of tools which can scale based on input from monitoring systems (again, following predetermined rules and at predetermined thresholds). Scaling could occur with less latency, increasing responsiveness in both directions. Sysadmins could spend their time building these tools, developing the rules driving them, and managing the metrics which are fed as input to the tools (among other, higher level tasks). This is the ideal. While this is achievable now, it is not easy, which is why it is so rare to find it. It also takes a lot of time and infrastructure and software development investment to make this reality given the inherent inaccessibility of these devices.
Creating an API is like creating a software development kit (SDK). It provides a means for customers to control their products, and make them work the way they need them to. If I run an in-house application development group and want to add some HA functionality to the application, then Veritas (Symantec) provides an SDK for enabling my application to work with Veritas Cluster Server. Not only does this lock me into the Veritas HA solution, but it gives me control and flexibility to really manage MY application the way I want/need to, if I'm willing to invest in the time and resources. If I'm not willing to make that investment, then provided the proper security precautions have been taken when the device ships from the vendor, there is no downside to the API being made available.
As for investing, I'm not sure what the best route is. Who knows if a company like Joyent will ever go public? I doubt it, as it seems the team over there is building a long term business. I'm sure Jason et. al have a price though. I'm sure there will be cloud providers who do decide, eventually, to enter the public markets. Some will be snapped up by HP, IBM or other providers of technology services. AWS makes up a growing part of Amazon's business and revenue mix, and it wouldn't surprise me to see it spun off eventually (in say 3 or more years). Of course, Jeff Bezos isn't the type of founder to let go of such a growth engine, so maybe Amazon is the easiest play on cloud computing after all. If I recall correctly, AWS may actually be as large as the retail business now, and it is definitely growing faster.
What IS clear is that automated infrastructure and system/network operations is truly becoming a competitive advantage and force multiplier for many companies. This is not just the case for online companies such as Google, Yahoo!, Microsoft, Amazon, Apple or many of the cloud providers that I mentioned. This will more and more become the case for anyone of any reasonable size, whether they are online or not. And let's face it, anyone of any reasonable size (1000+ employees) will be online in SOME fashion, either selling products and services directly, or supporting their customers with online knowledge bases, documentation archives, software downloads and updates, customer relationship management (CRM) and technical support/trouble ticketing, mobile device (e.g. cell phone) services, etc.
Investing in Amazon or Google is A way to play public automated infrastructure. IBM doesn't seem to make a good bet, as they suffer from the conglomerate problem -- they do everything, so anything they do may have a lot of growth potential but it will not be substantially accretive to the bottom line. (In fact, expect for most large companies that automated infrastructure and systems/network operations products and services may be loss leading for a while, if not permanently.) Rackspace could be interesting from the cloud service provider angle, given that they are small compared to most of their competitors and publicly traded. However, there have been some other rumblings in certain forums I follow, so that one definitely requires some in-depth homework. If you're looking to invest in providers, RAX is public, well known and (generally) well regarded even though they've had some hiccups in the recent past. (But who hasn't? This whole space is all new.) The biggest problem with RAX may be the commodity hardware business they are attached to. Definitely proceed with caution, but if you like the Joyent angle, the best currently available investment in that space is Rackspace. They are direct competitors.
I definitely think that network equipment vendors adding APIs to their devices is powerful. This is the "picks and shovels" way of thinking about this space. I'm not sure how well Juniper has done with this, but they need to be promoting it HARD HARD HARD!!! JunOS is known, or at least marketed, as being scalable across the entire line of Juniper products so there's only one software release to manage. That in itself is a win, but if I can now program my routers (and switches! Please Juniper!) to adjust to inputs from my monitoring system or as part of the process of spinning up overload servers/infrastructure, that becomes extremely useful for the cloud services providers. Again, many already do this but it's not easy, it's not built into the fabric, it's subject to subtle changes in the vendor software, user management issues (password changes, account deletion, etc.) and a raft of other problems. Of course, if Cisco did this, it would be HUGE but it wouldn't lead to much product uptake, I don't think. It would be more of a lock-in move for CSCO.
Smaller vendors such as Vyatta, Extreme Networks, Force 10 and others might stand to benefit from providing programmatic access to their networking software, however. Arista Networks is another obvious name for this too, and they have the technology chops to do it easily PLUS they target this high density server space as their core market. Programmatic infrastructure would appear to be a natural direction for Arista, but of course, they're still private.
The best way to invest in some of these companies and the future of automated infrastructure and cloud computing is probably to USE them. Any benefit that accrues to the providers is gravy, but if you can use these products, and it fits your product or service offering from a value perspective, then by all means do it! The problem with trying to invest in this space is that you want to prefer the smaller vendors who have little to nothing to lose. That counts some of the smaller hardware vendors like Extreme Networks and Force 10 Networks, but it also includes companies that are not yet public. The large, incumbent vendors aren't going to see enough of a move from investing in programmability, which is exactly why they will be slow to do it and the smaller vendors should embrace it completely. The field is so wide open it's sick. I didn't even mention other infrastructure that needs to be automated, like storage systems and storage networking. What the hell is Brocade doing in this space to compete with Cisco? Think about it. Programmable storage infrastructure will be next in line.
Programmability is a key enabler to the operations secret sauce, and will have to become important as operations grows in importance. It will be interesting to watch, and even more interesting to participate. Yaaay!
Until next time...