by: Nagendra Nyamgondalu, Senior Engineering Manager at IBM India and Brandeis Graduate Professional Studies Master of Software Engineering Alum
It was only a few years back that most IT managers I spoke to would smirk when they heard the term “cloud” in a conversation. They either didn’t believe that cloud computing would be viable for their businesses’ IT needs or were skeptical about the maturity of the technology. And rightly so. But, a lot has changed since then. The technology, tools and services available for businesses considering adoption of a public cloud, setting up their own private cloud or treading the middle path of a hybrid one, has made rapid strides. Now, the same IT managers are very focused on deploying workloads and applications on the cloud for cost reduction and improved efficiency.
Businesses today have the choice of consuming Infrastructure as a service (IaaS), Platform as a service (PaaS) and Software as a service (SaaS). As you can imagine, these models map directly to the building blocks of a typical data center. Servers, storage and networks form the infrastructure on top of which, the required platforms are built such as databases, application servers or web servers and tools for design and development. Once the two foundational layers are in place, the applications that provide the actual business value can be run on top. While all three models are indisputable parts of the bigger picture that is Cloud Computing, I have chosen to focus on IaaS here. After all, infrastructure is the first step to a successful IT deployment.
Essentially, IaaS is the ability to control and automate pools of resources, be it compute, storage, network or others and provision it on-‐demand. Delivering IaaS requires technology that provides efficient and quick provisioning, smart scheduling for deployment of virtual machines and workloads, support for most hardware and of course, true scalability. OpenStack is an open source framework founded by Rackspace Hosting and NASA that takes a community approach to make all this possible. It was designed with scalability and elasticity as the overarching theme and a sharenothing, distribute-‐everything approach. This enables OpenStack to be horizontally scalable and asynchronous. Since inception, the community has grown to a formidable number with many technology vendors such as IBM, Cisco, Intel, HP and others embracing it. The undoubted advantage that a community-‐based approach brings, especially to something like IaaS, is the extensive support for a long list of devices and cloud standards. When a new type of storage or a next generation network switch is introduced to the market, the vendors have a lot to gain by contributing support drivers for their offerings to the community. Similar support for proprietary technology has dependencies on customer demand and the competitive dynamics amongst the vendors -‐ this almost always results in delayed support, if that. While proprietary versus open source is always a debate, the innovation and cost benefits that open alternatives have provided in the recent years, has clearly made CIOs take notice. Support for a variety of hypervisors, Open APIs, support for object or block storage and the mostly self-‐sufficient management capabilities are some of the common themes I hear on why businesses are increasingly adapting OpenStack. Additionally, the distributed architecture of OpenStack where each component (such as Compute, Network, Storage & Security) runs as a separate process connected via a lightweight message broker, makes it easy for ISVs looking to build value-‐adds on top of the stack. All the right ingredients for a complete cloud management solution for IaaS.
Most IT managers dream of the day when every request for infrastructure is satisfied instantly by the click of a button regardless of the type being requested, workloads run smoothly and fail-‐over seamlessly when there is a need to, resource usage is constantly optimal and adding additional hardware to the pool is a smooth exercise. Business managers dream of the day when they have instant access to the infrastructure needed to run their brand new application and once it is up, it stays up. Aaah Utopia.
The good news is it is possible here and now.
Nagendra Nyamgondalu is a Senior Engineering Manager at IBM in India. He is a 2003 graduate from Brandeis University, Graduate Professional Studies’ Master of Software Engineering Program.