In a previous article, we looked at the evolution of IT infrastructure and how Infrastructure as a Service (IaaS) is helping enterprises focus on their core competency instead of worrying about the underlying infrastructure.
In this article, we will address some of the questions we asked in the previous story: Is IaaS or OpenStack right for every enterprise? Are there cases where you don't need IaaS? How does it affect the cost? What things should you consider before moving to IaaS? What are the tools available?
Is IaaS for Everyone?
Whether or not you need IaaS is a business decision. You need to ask yourself what you are trying to do with your infrastructure: Do you want to reduce cost? Do you want to be more agile? Do you need dynamic infrastructure? Are you going to scale very rapidly in the next six months or so?
Then, you have to look at your pain points with the current infrastructure: Do you experience slow time to provision? Are your customers demanding faster response time but your IT pulls you down? Do you experience peaks and valleys of demand that your current infrastructure can’t handle?
Another equally important question is: Do you want to keep your infrastructure on premise or off site? There are decisions to make regarding going public or keeping it private. There are also considerations around compliance, security, privacy, data sensitivity, and so on. All of these things factor into the business decision.
You also have to consider the technical aspects. The decision boils down to the skill set of your existing teams. If you are moving from a traditional IT setup where you have IT admins, now you are looking at DevOps. You will either have to train your IT folks to code or hire new people.
Other decisions to consider include: Do you want to manage it in-house or do you want to outsource it? If you are a small company and don’t want to deal with the details, then you can go to a public cloud or get a managed service cloud where someone will handle it for you. All you do is consume it.
There are a lot of options to think about before using IaaS, but the bottom line is that these are business decisions and you need to weigh all these options in light of your own needs.
Things to Know Before Going IaaS
In a traditional model, every component of the stack is a separate entity: You have separate compute, networking, storage and so on. The advantage there is that you have specific teams focused on these areas with in-house expertise. However, this approach also means added people cost and the headache of maintaining and managing the hardware.
When it comes to IaaS, everything is software defined: storage, networking, compute. Now you need fewer people, but you need people who work closely with each other, because components like the hypervisor, the virtualization layer, and networking capabilities are intricately tied together. Although you have succeeded in breaking down the silos of such teams found in the traditional model, you will have to build a cohesive team that can work effectively together.
Additionally, when you think of IaaS, you must remember that you will have different applications from different business units from within your company using that shared infrastructure. So, you need to invest in tools and technologies to do metering and chargeback and showback -- depending on how your organization is structured. OpenStack provides all the data of instrumentation, which tells you what was used. But, you still have to invest in tools to convert all of that and put things together.
If you are embracing agile, rapid development, you need to make sure your developer tools allow you to be flexible. For example, monitoring is an integral part of any infrastructure. Companies with traditional IT infrastructure do this. Big companies have thousands of servers. They monitor the stack, update it, patch it...but they do it at the individual server level; they need to know every detail, which can become very, very expensive. They can afford it; not everyone can.
Consider the alternative scenario with IaaS; monitoring is built into IaaS. There is monitoring for your base infrastructure. There are tools like Ceilometer, which basically provides monitoring as a service. It monitors the entire infrastructure from the server up. But monitoring alone is not enough, you also need analytic capabilities so that you can debug problems quickly. Tools like Zabbix and Grafana can help you do that.
"On IaaS side, there is one monitoring system that monitors the entire shared infrastructure and analytics are built on top of it. So it reduces cost; you don’t need to be expert on all these things; you just need to know one thing and you don’t need that many people. It’s more cost effective across the board, and it’s more agile too,” said Kamesh Pemmaraju, vice president of product marketing at Mirantis.
Avoiding Vendor Lock-in
Although OpenStack is open source, you still have to consider the risks of vendor lock-in. Different players offer their own OpenStack implementations, but how do you know they are compatible with each other? How do you ensure that you can easily switch vendors without getting locked in?
To ensure interoperability, the OpenStack Foundation has something called DefCore. It sets base requirements by defining 1) capabilities, 2) code, and 3) must-pass tests for all OpenStack products. This definition uses community resources and involvement to drive interoperability by creating the minimum standards for products that are labeled OpenStack.
“It’s effectively about APIs, making sure that APIs are compatible, the implementation has certain SLAs and contract associated with it,” said Pemmaraju.
There are other factors to keep in mind while choosing an OpenStack implementation. The reputation of the vendor plays a big role. There are pure play companies like Mirantis, which focus entire on OpenStack and let the customer pick the rest of the components that make the cloud. There are companies like Red Hat that are reputed to work only upstream. But, there are other vendors, too.
Many vendors try to push their own products along with OpenStack -- such as the operating system, servers, middleware components, management systems, orchestrations systems, plugins, etc. If any or all of these components are proprietary, then obviously you are getting locked into the stack from that vendor. Avoid such vendors. You don’t want to be locked inside your own cloud.
Read the next article in this series: How to Test-Drive OpenStack
Read the previous article: Infrastructure Should Enable Not Block Business
Get it all at once. Download a free 26-page ebook, "IaaS and OpenStack - How to Get Started" from The Linux Foundation Training. The ebook gives you an overview of the concepts and technologies involved in IaaS, as well as a practical guide for trying OpenStack yourself.