Today, new businesses and startups are disrupting entire industries. Uber has completely changed the market dynamics for the taxi industry and Airbnb is shaking up the hotel industries. Although these new players operate in totally different spaces, there are certain common elements: 1) IT beats at the heart of these businesses; 2) They don’t run traditional IT infrastructure.
These businesses are using infrastructure as a service (IaaS), cloud, and mobile services to run things out of the cloud without having any initial investments. This kind of infrastructure allows these new companies to be extremely agile and fast to respond, evolve, and adopt. Many traditional companies, on the other hand, are stuck in the old client/server, on-premise infrastructure model.
A Brief History of IT Infrastructure
The use of IT in businesses started off with single client/server setup. It was the norm back in the 1980s, and it made a lot of sense back then. Radhesh Balakrishnan, General Manager -- OpenStack at Red Hat, said, "If you go back 10-15 years ago, the set of applications was designed in a way where you pretty much knew exactly when the app was needed, how long it was going to be used, and how many users are going to be touching on that. So, everything was predictable about the usage of the application."
Dustin Kirkland from Canonical’s Ubuntu Product and Strategy team said, “I remember a day when real people installed servers (AIX, Solaris, Linux, NT) in a lab, using floppy disks, CD-ROMs, or even DVD-ROMs. That was a manual, expensive process. These machines probably wouldn't be reinstalled for many months or years, if ever."
IaaP: Infrastructure as a Problem
Back in those days, the primary task of IT folks was managing, or maintaining, these servers. There were bunch of servers each doing some specific work. And IT folks had to handle these servers individually in terms of managing, maintaining, and taking good care of them so that they could work efficiently in the IT environment.
That kind of setup was, in fact, not very efficient. Sometimes, the demand for an application was high, other times the demand was low, and sometimes there wouldn’t be any demand at all, but those machines would keep running. It wasn’t possible to dynamically move resources around.
It’s expensive to manage your infrastructure the old way. “Think about the cost in traditional IT setup, where do you think most of the cost goes into in any IT environment? It goes into the people cost. Not software and hardware, 80% of it is administrative cost and management cost,” said Kamesh Pemmaraju, vice president of product marketing at Mirantis.
Another logistics-related challenge is speed and connectivity. In traditional IT infrastructure, workloads have to run very close to their operators. Provisioning resources is one of the biggest challenges in the traditional IT setups. In the traditional infrastructure, large companies have different IT departments that run as silos, independently of one another. If you want to develop an application and need IT resources, such as a few database servers and a few application servers, then you have to install the software you need. You’ll need to create a developer environment, a test environment, set up networking, storage, and so on. And, for every component that you need, you have to interact with different IT teams. Each team will create a ticket for your request, and it may take weeks or even months to get the resources you need.
That paradigm remained in place for a very long time until virtualization came along. It allowed companies to take better advantage of their resources; it was about efficiency and better utilization.
Pemmaraju compares such infrastructure to pets. “These were all considered to be pets; they are high maintenance; they need specialized IT administrators that know those server technologies whether it’s Linux or Windows or whatever. They really need to know how to maintain and keep those things humming all the time. And, these things have to happen one server at a time. If you have hundreds of servers, you can already see the challenge. So you are maintaining each of these servers individually."
The biggest challenge is scalability and growth. The more you scale, the more challenging it becomes to manage them in an efficient manner. At this point, the tradition IT infrastructure, instead of enabling businesses to scale up, becomes a hindrance.
The new world is driven by the growth of mobile and by buzzwords like Big Data. We are generating and consuming huge amounts of data, which has also changed the predictability that older infrastructure used to enjoy. Balakrishnan said, “Today the demand for applications is unpredictable. You don’t know when, how much and for how long someone is going to consume. There will be high points of usage, there will be low points of usage, and sometimes there will be no usage at all. You need flexibility; you need elasticity.”
Traditional IT Infrastructure Is Obsolete in Most Modern Cases
This scenario has put IT infrastructure in a unique position. Although it is of extreme importance because business “run on IT,” it doesn’t bring any value to those companies. Many new companies don’t want to deal with IT infrastructure at all. Mrinal Desai, the founder and CEO of addappt -- a service for managing your address book -- told me that they don’t run anything in-house; their whole business is running on Amazon cloud.
Pemmaraju explains, "When we go and talk to C level folks at enterprise, they tell us that they don't really care about infrastructure. They don't want to deal with it. It's not where their innovation is. Innovation is in really getting application and work loads and things that differentiate them in their industries."
It’s all about coming out with new products, new applications, new services. It’s a developer’s story. These companies want to invest their resources in building applications instead of having to deal with infrastructure. And that’s where on-premise infrastructure becomes an obstacle.
When Infrastructure Becomes an Obstacle
“Today the on-premise infrastructure is not only a cost center but also a blocker because they can't move very fast. If you ask for any resources from IT, it takes weeks and months especially in large companies. If it’s taking weeks and months to just get the infrastructure you need to go build out your new rollout for a marketing campaign or product, you are already lost. Because your competitors are out there, they are probably going to Amazon and swiping the credit card and getting those resources in minutes,” said Pemmaraju.
Provisioning IT infrastructure, as mentioned previously, slows you down. By the time you get your infrastructure built, you may have already lost the opportunity to a competitor who has a modern approach to infrastructure.
The Modern Approach to Infrastructure
Today, companies don’t want to do IT infrastructure on premise. Companies like Uber, AirBnb, and addappt are exploiting the cloud and are moving to IaaS.
Kirkland said, “The IaaS mindset is really about making labs and data centers more efficient and effective. A modern lab consists of one to hundreds of racks of servers, and sometimes multiple of these data centers spread across several regions throughout the world. Most of the hardware providing these resources (CPU, memory, disk, network) are far more powerful than most individual workloads.”
Companies like Uber don’t have to separate a huge chunk of money to buy these powerful machines, then hire people to manage them. Instead they invest their resources in the core areas while benefitting from the best infrastructure in the world, maintained by companies like Amazon who have much larger experience in running those infrastructures. By using IaaS, they don’t have to worry about hardware, maintenance, management, and provisioning. Compare this with the earlier case where you need to spend months dealing with IT teams to get the infrastructure you needed.
With IaaS, Pemmaraju explains, “You basically have one shared infrastructure. You go to a portal and say you need three servers for my database, two servers for my app server, and one for my development environment, and these are the networks they need to be on. It’s self-service. You spin it and have everything running within a few minutes, not in days or weeks or months. Just a few minutes, and you don’t have to go through all those hoops with different groups.”
Another advantage is that unlike the traditional server, none of this is single server; it’s a cluster. “I don't care about a single server anymore, I care about a pool of resources and any new development that requires cloud native application is really a pool of resources: it's compute, it's storage, it's networking. And all of that is coordinated, orchestrated, connected, and ready to go in a very short time.” No need to deal with separate IT departments anymore.
IaaE: Infrastructure as an Enabler
This new IaaS model enables and empowers a user to self-service very quickly. And, it improves the time to get your product to market. At the same time, cloud nativity offers unprecedented scaling and elasticity capabilities to companies. It also enables companies to quickly provision test and development environments that are sandboxed.
Kirkland said, “Sandbox systems in the cloud are part of my everyday development workflow. I've met many developers (and myself included) who have a script in their $HOME/bin that launches these sandbox instances in seconds. I'm using LXD containers, almost exclusively for these sandboxes now. Build environments and CI/CD (Continuous Integration/Continuous Test) are particularly well suited to IaaS, where repeatable development processes are a requirement. Scale testing as well -- for example, when you need 10,000 clients to simultaneously hit your web service to see if it stands up or falls down; that's $100 an hour for 10K AWS t1.micro instances, but imagine the look on your CFO's face if you put in a hardware request for 10,000 Dell PowerEdge servers for a day's testing.”
“Bursty applications are quite widespread in the enterprise,” said Kirkland. “We at Canonical have helped a number of household name brands in the telco, finance, and media industries with Ubuntu cloud solutions for their particularly bursty workloads. These are the classic types of batch job practices that have been developed over the last 40 years. These jobs run far more efficiently and predictably in IaaS environments.”
In the modern world, companies are decreasing their investment in commodities, whether it be software, hardware, or infrastructure. Jim Zemlin, executive director of the Linux Foundation explained in an interview. “Organizations have discovered that they want to shed what is essentially commodity R&D and software development that isn't core to their customers and build all of that software in open source. The reason is there is simply too much software to be written for any single organization to do it themselves.”
Companies like Facebook are heavy consumers and contributors to open source; their entire empire runs on Linux and open source. Why? As Zemlin explained, they are not in the software infrastructure business, they are in the social networking business and by collaborating with other web-scale companies like Twitter, Amazon, and Google, they are able to have a better infrastructure for themselves and focus on their core business, even if it means enabling competitors—and that's fine by them.
It’s the same story for the companies like addappt, Uber, and Airbnb. They are now using IaaS so that their resources are invested in innovation around their core areas. And, as expected, open source technologies are dominating the IaaS space. OpenStack is one of the fastest growing open source IaaS technologies. Giants like PayPal are 100% OpenStack.
But, is IaaS or OpenStack right for every enterprise? Are there cases where you don't need OpenStack or IaaS? How does it affect the cost? What things should you keep in mind before moving to IaaS? What are the tools? We address these questions in the next article of the series, "Going IaaS: What You Need to Know."
Learn more about IaaS and OpenStack. 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.