AWS Summit New York was held on July 17 and Cloud Academy sponsored my trip to the event. The recent Amazon Web Services event was an insightful amalgamation of solution areas under the AWS umbrella. Among many announcements and trends discussed at the Summit, one topic reigned supreme: Serverless.
Slaying the Monolith
Although they’re fictionally responsible for human evolution, monoliths are too messy for today’s cloud space. Monolithic architectures are difficult to scale. Every time you want to add new features or technologies, the application’s entire code base will grow and need adjustments. Thus, it’s difficult to update or innovate. Developers must work with the entire monolith in mind instead of developing.
Despite its flaws, monoliths aren’t completely obsolete. Smaller companies and startups enjoy this approach because they have smaller technology teams. Monolithic servers often require less work but lack the flexibility larger companies need. For large companies, monoliths become a mass of layers. Linda Nichols, Cloud Enablement Leader at Cloudreach calls them “onions.” Like onions, monoliths are long-lasting but perishable. They contain many layers, are difficult to modularize and have complicated deployments.
Where do Virtual Machines Fit?
When people talk about containers, they talk about how much better they are than virtual machines (VMs). It’s a weird way to approach this issue, as there is certainly still a place for VMs in the cloud. Despite containers and serverless gaining popularity, Amazon CTO Dr. Werner Vogels believes virtual machines are the “bread and butter of compute.”
VMs have longevity on their side, as they have the capability to run for months or years. According to Vogels, one customer said their virtual machine marked its 10th anniversary. VMs last because patching and updating take priority over replacing.
In his keynote, Vogels announced the new R5 instance type, a memory-optimized instance for Amazon EC2. This high-performance database is more powerful than the R4 release announced in 2016. AWS also increased the available RAM for compute instances.
The Container Revolution
Containers and microservices run independently, meaning less time spent on daily management. Developers can work without worrying about scaling and other problems associated with VMs.
Containers, faster than VMs, run directly on top of an OS kernel. This means they are lightweight and easier to move. Additionally, containers can be divided into unique sections with varying access controls.
Dr. Werner Vogels recognizes the importance of containers in the face of monolithic applications. This sentiment was shared by Cloudreach’s Nichols, who led a developer talk about the problems with monolithic applications. Containers can help fragment monoliths into logical, easier to use workloads.
Developers love containers for a variety of reasons, the most obvious of which is laziness! It’s the developer’s philosophy that day-to-day operations shouldn’t get in the way of development. This is one reason DevOps is becoming more prevalent in enterprise computing.
Containers Enhance DevOps
Although everyone in the technology space loves marketing lingo and buzzwords, cloud solutions are not one size fits all. Are containers a DevOps tool? They enhance DevOps practices, to say the least.
The DevOps philosophy appeals to users who want to speed up development and releases and containers fall under that scope. VMs also use more computing power than containers and are also worse at scaling. Containers provide important capabilities in continuous integration and delivery.
Are Containers and DevOps a Temporary Solution?
I’m not trying to imply containers are on the way out. Containers are becoming more popular every day. The Kubernetes container orchestration system has an enormous number of contributors.
As amazing as containers are, they have a downside: they’re difficult to manage. AWS has made this easier with tools like Amazon Elastic Container Service (ECS). Vogels says that ECS has over 100,000 active clusters with hundreds of millions of containers starting each week. The solution has grown 400% each year since 2016.
AWS launched its managed Kubernetes service, Amazon EKS, in response to the more than 60% of users who run Kubernetes on AWS. Vogels says customers want AWS to run Kubernetes for them, due to its difficulty. securing and managing them manually. He says, “Running an entire container management system yourself sort of brings you back to the pre-cloud era.”
What makes containers a precarious solution is that users must still manage their environments. The screen behind Vogels summed it up: “Builders want to build, not manage clusters.” This led AWS to release Fargate. Fargate eliminates the infrastructure of containers, as the container level is managed by AWS. Vogels announced that Fargate will soon be available for EKS.
Will Serverless Usurp Other Compute Methods?
It’s clear that AWS isn’t leaving other compute infrastructures behind. Users asked for Kubernetes management and they got it. They asked for help with VMs and got it. However, is serverless the best option for compute?
The benefits of serverless aren’t lost on anyone in the development space. Solutions like AWS Lambda allow developers to spend their time creating applications. Serverless is far more approachable than containers, as they need training and expertise. As Vogels stated, “We no longer want to write and manage all these different compute infrastructure pieces, we want to write business logic.”
AWS offers a variety of services for serverless. Including serverless for data, monitoring, development, and more. But, compute wasn’t an option until AWS Lambda. Serverless compute lets developers spend their time writing code without worrying about infrastructure. For Lambda, AWS automatically scales and replicates over availability zones.
Vogels pointed out that, most of the time, smaller companies adopt newer technologies first. However, AWS enterprise customers were quick to adapt serverless. It reduces infrastructure management tasks and the cost is dependent on compute time.
Is DevOps on its Way Out?
Infrastructure management interferes with the speed demands of today’s digital world. Containers and VMs have their place, and many companies are even using a combination, but what does this mean for DevOps?
When looking back at the monolith, we can see its slow descent into obscurity. It has its place, but it’s fading out and new tools are aiming to replace or eliminate it. It was an outdated system and needed modern technology to usurp it. Cloud managed to do this with ease, which then created DevOps.
DevOps had a strong peak but it’s on its way out. Many have been avoiding the term in favor of DevSecOps. Everyone loves buzzwords, so I’m sure this change was welcomed. Increasing focus on security is important in maintaining a safe enterprise cloud space. The evolution of the term and practice opened up a lot of criticism on DevOps as a standalone concept.
Serverless and NoOps
As I mentioned before, containers were a significant boost to DevOps popularity. It embodied what DevOps was about – increase development speed and releases, eliminate IT silos through collaboration. But with serverless, infrastructure management is all but gone. Where is the “Ops” in DevOps or DevSecOps going? It’s sticking around, but only to emphasize that it’s no longer always necessary. Serverless architecture has created the term “NoOps.”
NoOps emphasizes the importance of serverless and automation. It works to automate deployment, infrastructure, and application management. Thus, most operations work will become redundant, eliminating the need for “DevOps.”
To be clear, DevOps means something different to everyone, so saying it’s gone is trivial. DevOps has become an umbrella term vendors use to talk about automation and simplification solutions. This won’t change anytime soon, but from a workplace cultural level DevOps will become outdated.
Considering the emphasis on serverless from many at the AWS Summit New York, it has potential to take over the development world. Customers asked for EKS and they got it, but serverless is new and more efficient. AWS will continue to improve its serverless options and it’s something to look out for at this year’s re:Invent.