For the past 7 years I have been working as a head system administrator with a tech startup incubator.
Mine is the (often thankless) job of ensuring that the data center runs smoothly and securely and that business software, application servers and development environments are working and available to our users.
As our sysadmin team is often overloaded with tasks such as
server provisioning and re-purposing, and network troubleshooting, the time left for engineering and improving upon the offered IT services is limited.
While this might be true in most IT environments, it doubly so in an incubator, where you need to manage all kinds of different development and production stacks that different startups opt for. Being able to respond quickly to the demands of all these agile teams — all growing and experimenting at the same time — can be really hard.
…and then things get really complicated
Working with many startups at the incubation stage, also means that a few of them will suddenly grow too large, too fast — and their IT requirements becoming substantially higher as well.
Legacy system administration wisdom and Perl mastery, while adequate for last decade’s data centers, won’t really help us here. The only way to address this kind of demand is by adopting advanced high availability solutions, coupled with a full disaster-recovery plan.
And while many traditional sysadmins fear the cloud, in my opinion, the move from in-house hosting to cloud-based solutions has been a great enabler in the delivery and operation of more advanced systems.
Server virtualization, monitoring tools and linux clusters have been part of our everyday job for a long time now, giving us the opportunity to respond to highly customized needs.
Efficiency and time to delivery have been two of the most critical aspects we had focused to improve.
The last few days I had the chance to experiment with and learn about the internals of OpenStack, which is a new approach to building your IT infrastructure, and comes with solutions to a lot of the aforementioned problems baked in.
OpenStack, at its core, is a set of software tools for building and managing private and public clouds.
With OpenStack you deploy virtual machines (complete with storage and network access) over your physical servers, getting your own turn-key Infrastructure-as-a-Service solution.
It’s like your own private Amazon AWS or Google Compute Engine, offering a “drop-in” replacement for public clouds, at least the way I had experienced them so far.
As an old-school system administrator, what impressed me about OpenStack is that it extends resource management over to storage and network — that is, going beyond the CPU and memory management options that you get with the typical virtual machine offerings.
Having a unified view of your computing resources utilization, and having the ability to manage it from a single place is a very powerful feature. And it’s especially mind blowing, even to an old hat like me, raised up on the CLI, that you can access all that power from an easy to use web-based UI.
The ease of creating images and customized flavors of your virtual machines, allows you to deploy a new server in minutes without having to repeat trivial configurations all over again.
Heck, you can literally create an HTTP Load Balancer AND the back-end service farm for it in just a few minutes.
Even though I didn’t have yet the time to explore and experiment in depth with the APIs exposed by OpenStack, I feel that this would be the most powerful tool in the hands of an operator. Already there is a great variety of external tools and applications based on OpenStack services and aiming to streamline complicated solutions provisioning.
Looking for more
Even though it has only been a week of trying out OpenStack, and I still feel like I’ve only scratched the surface of what it can do, I’m sure that as I go deeper I will discover even more things that would enhance my productivity as an IT administrator and improve my ability to manage complex solutions in the infrastructure.
To paraphrase Jon Landau, “I’ve seen the future of service provisioning, and it’s name is OpenStack”.