The end of IaaS that we all know - And here's what's next
A decade ago, running virtual machines (VMs) in the cloud was the most advanced technology. It makes cloud migration relatively simple: Companies can migrate virtual machines they are running on their on-premises servers to infrastructure service provider servers. (IaaS), get rid of the burden of physical server maintenance. So companies gain flexibility and cut costs.
But now, this architecture reveals many shortcomings and there are not many places to build new applications just to run on traditional VMs. Instead, they are moving to two models that are more cost-effective, low-maintenance, and more scalable than VMs: containerization and severless computing. These two models, not VM, will certainly represent the future of the computing industry.
Virtual machines are not the end point of IT infrastructure development
The recent history of IT infrastructure is a pretty abstract story. Since the 1990s - when we ran applications on hardware in physical racks - every new development has abstracted applications away from hardware even further. As a result, the infrastructure layers that companies must manage are getting thinner.
But the IaaS model of running the VM in the cloud is hardly the last step in that process. Virtual machines have a number of significant downsides:
• The fact that each VM runs multiple operating systems will inevitably cause inefficiency. Even if they are scaled and properly sized, the VM still leaves a lot of unused space on the servers.
• VM holds companies accountable for painful operational lessons like disaster recovery, high availability and replication, as well as patching and security.
• Virtual machines are not flexible and work differently on different large-scale systems, so virtual machines built on Microsoft Azure cannot be migrated to AWS or Google Cloud.
Companies trying to move to the cloud by moving their virtual machines need to think hard. Compromising with a model that is ineffective in the present will hamper future development. Instead, they should look to a containerization model or one without a server / serverless - even if it requires significant changes in their process.
Container and Serverless reduce operational burden and increase efficiency
Containers are the next step in the trend of abstraction. Multiple containers can run on one OS kernel, meaning they use resources more efficiently than VM. In fact, on the infrastructure required for a single VM, you can run dozens of containers.
However, containers also have their disadvantages. Although they are more space efficient than VMs, they still take up infrastructure space when idle, increasing unnecessary costs. To keep these costs to a minimum, companies have another option: Serverless Computing!
The serverless model works best with event-driven applications - applications that have determinable events, such as users accessing web applications, that trigger computation needs. With serverless, the company never has to pay for idle time, only a millisecond of computation time is used to process a request. This makes serverless very cheap when a company starts small while also reducing operational costs as applications scale up.
A few ideas for growing your IT infrastructure
The migration to containerization or serverless model requires major changes to the processes and structure of your IT team, and careful choices about how the transition should be performed.
Some notes to manage a successful transition to a modern IT infrastructure:
• Need to know which model works best for your use case. If you can get to serverless, you should. This is the most effective and cost-effective model of IT infrastructure today. However, serverless represents a completely new programming paradigm. Its implementation is usually only possible when your team is coding something new in the first place.
In contrast, a container is the most convenient solution if you refactor or redevelop the application. The leading container framework, Kubernetes, is also universally accepted across major service platforms, which makes containers ideal for maintaining flexibility between clouds or a hybrid model - running alongside applications use on-premise and in the cloud.
• Adopt a cloud-based mindset. The transition to a modern IT infrastructure is a human and process transformation as it is a technological transformation. Traditional IT infrastructure management relies heavily on manual click-and-click solutions. By contrast, managing container or serverless infrastructure is like software engineering - IT teams use code to describe the end result they want, and the systems automatically improve it.
To take full advantage of the flexibility and efficiency of modern infrastructure, IT teams must turn to DevOps-oriented, delivering flexible software development operations to infrastructure management. Traditional enterprise IT teams, for example, tend to be isolated by functionality, but DevOps has a more flexible approach where one team owns an end-to-end application. Adjusting to this new way of working is essential to the success of your infrastructure transition.
• Avoid proprietary third-party solutions. There are many layers of third-party software that show that it will be easier to transition to containers or serverless. Ultimately, however, these “abstractions” can create additional steps and costs. While they can simplify the initial transition, as your system gets more complex there will likely arise needs that they may not be able to handle. Instead, you should get rid of the middle layers from the get go and use open source solutions with active communities, like Kubernetes, or adopt solutions from major vendors. There may be a harder learning-curve, but it will save your IT teams time.
• Don't switch them all at once. You don't have to switch to containers or serverless all at once, which is extremely difficult to do. Instead, move some of the services to containers while the rest of the application is preserved. You can convert more services over time until the application is completely run on the container. This step-by-step strategy is called the "gradual tightening method" because new code gradually shrinks old code. This slow and steady strategy also gives your IT teams time to adjust to new ways of doing things.
The future of computing
The virtual machine market probably won't fall overnight. There are too many old systems already running on that infrastructure in the cloud. However, that doesn't change the fact that container and serverless are more flexible, lower maintenance, easier to automate, and more cost-effective. They are the future of computer computing and companies should get involved.