As someone who works in software, I obviously have a fair amount of knowledge about servers, networks and what not. In an architecture role, especially these days, I honestly don't think a ton about the innards, because it largely doesn't matter to me. For example, I understand the idea of a "load balancer" and having a number of "servers" servicing whatever other things have to call them. I put those terms in quotes because I know that what I'm logically referring to is distributing the computing load across resources for the purpose of redundancy and scaleability.
But honestly, I don't care if these are physical servers and load balancers at all. These things can be virtual as well. In fact, if I can not think about them at all, even better. From a software standpoint, I'll design for this, and figure out ways to share state when necessary, make configuration something that's self-contained, etc. When designing a system, the general categories of components are important to understand, but whether they're virtual or physical is unimportant. There are people who are really good at understanding and building the physical building blocks that we run software on.
And that's where the world of cloud services makes life awesome. Just as we would prefer not to concern ourselves with why our smart phone works or what the parts are (compared to the PC's we had in the 90's), we don't really want to know about all of that infrastructure either. I've seen that progression even with my own Web sites. I once hosted them in my house, with a Cisco router on a T-1 line. Then I rented a server, which took a day to provision. Now I rented a server that took a half-hour to provision. Next time I move, it will be to a "server" that comes to be in about a minute.
Unfortunately, every place that I've worked, excluding Microsoft for obvious reasons, has been slow to embrace cloud infrastructure or platform (more on the latter in a minute). The concerns are generally around security, that since they don't own the physical components, they're more at risk. I would argue that the big cloud providers, like Amazon, Microsoft or Rackspace, are likely more physically secure than having a rack colocated somewhere, it's just that the stuff is configured in a different way. It will take time for that trust to be realized.
And then there's the whole platform as a service (PaaS) thing. While cloud infrastructure, that is, spinning up virtual servers to use as if they were regular servers, is a step in the right direction, it still comes with all of the baggage that involves administering the "box," patching it, etc. That's the boring pain in the ass stuff that I dread, and frankly hate wasting time thinking about. With platform components, you have a black box that does one thing. Web sites are just places you put stuff to run. Storage is just storage. A service bus, cache, database, etc., are all just what they are, without having to give thought to the underlying infrastructure. That's awesomesauce that nearly eliminates the need for the regular IT operations that we're all used to.
So when do I move all of my crap into the cloud? I think it will be soon. The pricing has come down to the point where it's getting comparable to where I would pay the same thing I do today for a server that I rent. Mind you, I would get less "machine" and bandwidth, but it would free me from a lot of the caring and feeding responsibility of my own server. I look forward to those days.
No comments yet.