The rise of containers and serverless computing has prompted some folks to ask if the time of the virtual machine (VM) is over. We haven’t reached the end of the VM era yet, but amid the pandemic, we have seen accelerated cloud adoption. This is moving the needle on containers and serverless computing and enabling businesses to optimize further — just as the adoption of virtualization did. Also, with the increased adoption of cloud-based PaaS and SaaS offerings, responsibility for the IaaS layer — including VMs — will continue to shift to cloud service providers.
Gartner, Inc. predicts that 75% of organizations will be running containerized applications in production by 2022. The firm expects public cloud container orchestration and serverless technologies to see the greatest growth in this timeframe.
Containers provide efficiencies and optimization for IT operations. Every VM is packaged with an operating system (OS) layer. With containers, you have a shared OS layer that is abstracted by the container engine. This allows you to use containers like interchangeable building blocks.
Container technology enables innovation by accelerating application development. It allows organizations to rethink their services and quickly bring new capabilities to market.
The best way to do this is by packaging services as microservices and deploying them using container models. With microservices, the component services of an application are loosely coupled and independently deployable. Now you can make changes, validate and deploy at speed, truly turbocharging the entire development life cycle. Containers support an agile, DevOps approach, which can enable you to deliver software 200 times more frequently.
Containers also offer the promise of building once and deploying anywhere. Docker is a popular containerization platform that is commonly paired with Kubernetes for container orchestration, and the three largest cloud providers have managed Kubernetes services enabling portability across these providers — Amazon’s Elastic Kubernetes Service, Microsoft’s Azure Kubernetes Service and Google’s Kubernetes Engine. For example, we recently worked with a U.S. state agency that wanted to deploy a critical application in production in a private cloud, and development and test in Microsoft Azure. By containerizing the application and adopting a continuous integration and deployment (CI/CD) pipeline, we enabled the agency to automate building once and deploying across the hybrid environment.
Ask Yourself If You Need Compute Running All The Time
Serverless technology works almost like an API call. It allows you to invoke functions without having to run your own container or VM. If you have a data ingest functionality that’s picking up data once every few hours, you don’t have to run that service 24/7 just to ingest data for a few seconds. Instead, you can use serverless technology on-demand for that job. This is a great way to optimize your IT spend.
This is possible because cloud providers now offer serverless functionality. Serverless technologies are often supported as stateless containers, launched on-demand in the back end, and their life cycle is fully managed by the cloud provider, enabling greater operational efficiencies.
This represents a massive rethink in computing. Ask yourself whether you need compute running all the time. If the answer is no, then you can employ serverless technology anytime on demand. The serverless approach requires zero infrastructure management and offers agility and scalability. Companies like Netflix have adopted it to offer highly available services to millions of customers.
Clearly, the cloud, containers and serverless technology provide great value. However, they also require the organizations that use them to think and act in new ways.
Underpin Container, Serverless Efforts With Security
Cyberattacks have only increased in recent months. In embracing containers and serverless technology, make sure that your efforts are underpinned with security — and keep in mind that securing these new technologies requires a new approach.
People are comfortable with approaches such as antivirus, patching and endpoint protection for securing VMs. With containers, you have to shift left to address security earlier in the development life cycle. Securing containers involves more than scanning the contents of a container. It requires integrating and automating security checks along the development cycle — from start to finish. In this way, container security is both mandating and partly enabling DevSecOps as the next evolution of CI/CD pipelines for enterprise software development.
Securing serverless technology is like securing APIs. You need to protect for threats including malicious parameter data, identity attacks and attacks on insecure transport. You need to make sure hackers can’t inject serverless functions with malicious data or stage denial of service attacks or mine for private data.
Also, address identity and access management as part of your container and serverless strategies. If those are your endpoints, you need to make sure they’re secure. Assume you’re using serverless technology to ingest and retrieve some secure data. You want to restrict access to that data by creating role-based access. People sometimes forget about this important aspect of security.
Consider The Human Element
The move from physical servers to VMs took some time and effort for people to adopt and get comfortable with. Initial concerns about the overhead of a hypervisor and resource contention by multiple workloads have been largely mitigated now.
Containers and serverless technology require an even bigger cultural shift. That changes the skills you need for IT operations. Now, you don’t need resources doing VM management tasks like patching, for example. As you adopt containers and serverless technology, make sure that you transform your workforce to acquire digital and cloud-native skills and adopt more of a DevSecOps stance to address new requirements.
The cloud has helped organizations meet the challenge of today’s world to expedite business transformation and become more agile, competitive and resilient. Adopting containers and serverless technologies as part of your cloud transformation journey can help you go even faster, bringing business services to market more quickly with a lower total cost of ownership.
It’s a whole new world. In this case, that’s a good thing.
This blog was originally published on Forbes.com. Link.