Containers can help fragment monoliths into logical, easier to use workloads. The AWS Summit New York was held on July 17 and Cloud Academy sponsored my trip to the event. As someone who covers enterprise cloud technologies and services, the recent Amazon Web Services event was an insightful deep dive into the services and solution areas under the AWS umbrella. Among the many announcements, sessions, and trends discussed at the Summit, one topic reigned supreme: Serverless.
From Monolith to Serverless: Slaying the Monolith
Monolithic architectures are notoriously difficult to scale. Every time you want to add new features or technologies, the application’s entire code base will grow and require adjustments as a result. This makes it difficult to update or innovate because developers are working with the entire monolith in mind instead of developing.
Despite their flaws, monoliths aren’t completely obsolete. Smaller companies and startups can benefit from this approach because they have smaller technology teams. A monolithic server usually requires less work but lacks the flexibility larger companies require. For large companies, monoliths become a mass of layers, like onions, according to Linda Nichols, Cloud Enablement Leader at Cloudreach. Similarly, monoliths are long-lasting but perishable and contain many layers, which 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 it though, as there is certainly still a place for VMs in the cloud. Despite the popularity of containers and serverless, Amazon CTO Dr. Werner Vogels believes that 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 just marked the 10th anniversary for one of its virtual machines.Amazon CTO Dr. Werner Vogels believes that virtual machines are the “bread and butter of compute.” Click To Tweet
VMs last because patching and updating take priority over replacing. For users interested in VMs over containers or serverless, AWS offers several solutions, some of which are on their fifth generation of updates!
In his keynote, Vogels announced the new R5 instance type, a next-generation memory-optimized instance for Amazon EC2. This high-performance database is significantly 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 there is less time spent on daily management than with virtual machines. Developers can work without worrying about scaling or other problems typically associated with VMs or even monoliths.
Containers, which are faster than VMs, run directly on top of an OS kernel, which means that 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 repeated 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.
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, and this is just one reason that DevOps is becoming more prevalent in enterprise computing.
Containers and DevOps
Containers enhance DevOps, but are they a temporary solution?
Although everyone in the cloud computing space loves marketing lingo and buzzwords, cloud solutions are not one size fits all. Containers certainly enhance DevOps practices, but are they truly a DevOps tool?
The DevOps philosophy appeals to users who want to accelerate development and containers fall under that scope. VMs also use more computing power than containers and are also worse at scaling. As continuous delivery and continuous deployment grow in relevance, having containers to complement faster infrastructure to build code on is crucial.
I’m not trying to imply containers are on the way out. On the contrary, containers are becoming more popular every day, with the Kubernetes container orchestration system supported by an enormous number of contributors, including development teams.
As amazing as containers and Kubernetes are, they share a downside in that they’re difficult to manage. AWS has made this significantly 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. Despite its growing popularity, Vogels says that customers want AWS to run Kubernetes for them and emphasized the difficulty in 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 potentially 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, which eliminates the infrastructure of containers, as everything is managed at the container level. Vogels announced that Fargate will soon be available for EKS.
Since Fargate eliminates the internal management of container or Kubernetes infrastructure through ECS and EKS, development teams are able to focus more time on development. Cluster management can take up tremendous time that should be spent elsewhere. This tool optimizes DevOps by allowing developers more time to perfect their code without the headaches surrounding containers.
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 without spending time on infrastructure. This makes serverless far more approachable than containers, as they tend to need more training and expertise. As Vogels stated, “We no longer want to write and manage all these different compute infrastructure pieces, we just want to write business logic.”
AWS offers a variety of services for serverless. They offered serverless for data, monitoring, development, and more, but compute wasn’t an option until AWS Lambda. Serverless compute allows developers to spend their time writing code without worrying about compute infrastructure. For Lambda, AWS automatically scales and replicates over availability zones.
Vogels pointed out that, most of the time, newer technologies will be adopted by small companies first. However, AWS enterprise customers were quick to adapt serverless. It reduces infrastructure management tasks and the cost is dependent on compute time.
What Does Serverless Mean for DevOps?
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 of these compute types, but what does this mean for DevOps?
When looking back at the monolith, we can see its slow descent into obscurity. Monolithic architecture has its place, but new tools are consistently aiming to replace or eliminate it. With the increased focus on maintaining a safe enterprise cloud space, the concept of DevSecOps is gaining traction.
As I mentioned before, containers were a significant boost to DevOps popularity. It embodied the goals of DevOps, including faster development speed and releases, breaking down IT silos through collaboration. But with serverless, infrastructure management is essentially 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 declaring its demise is trivial. DevOps has become an umbrella term for vendors to talk about automation and other simplification methods. It’s unlikely this will change anytime soon, but from a workplace cultural level, DevOps will become outdated.
Considering the emphasis on serverless from Dr. Vogels and many others at AWS Summit New York, it has the 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 functionality and it’s certainly something to look out for at this year’s re:Invent.
AWS Security: Bastion Host, NAT instances and VPC Peering
Effective security requires close control over your data and resources. Bastion hosts, NAT instances, and VPC peering can help you secure your AWS infrastructure. Welcome to part four of my AWS Security overview. In part three, we looked at network security at the subnet level. This ti...
Top 13 Amazon Virtual Private Cloud (VPC) Best Practices
Amazon Virtual Private Cloud (VPC) brings a host of advantages to the table, including static private IP addresses, Elastic Network Interfaces, secure bastion host setup, DHCP options, Advanced Network Access Control, predictable internal IP ranges, VPN connectivity, movement of interna...
Big Changes to the AWS Certification Exams
With AWS re:Invent 2019 just around the corner, we can expect some early announcements to trickle through with upcoming features and services. However, AWS has just announced some big changes to their certification exams. So what’s changing and what’s new? There is a brand NEW ...
New on Cloud Academy: ITIL® 4, Microsoft 365 Tenant, Jenkins, TOGAF® 9.1, and more
At Cloud Academy, we're always striving to make improvements to our training platform. Based on your feedback, we released some new features to help make it easier for you to continue studying. These new features allow you to: Remove content from “Continue Studying” section Disc...
AWS Security Groups: Instance Level Security
Instance security requires that you fully understand AWS security groups, along with patching responsibility, key pairs, and various tenancy options. As a precursor to this post, you should have a thorough understanding of the AWS Shared Responsibility Model before moving onto discussi...
Cloud Migration Risks & Benefits
If you’re like most businesses, you already have at least one workload running in the cloud. However, that doesn’t mean that cloud migration is right for everyone. While cloud environments are generally scalable, reliable, and highly available, those won’t be the only considerations dri...
Real-Time Application Monitoring with Amazon Kinesis
Amazon Kinesis is a real-time data streaming service that makes it easy to collect, process, and analyze data so you can get quick insights and react as fast as possible to new information. With Amazon Kinesis you can ingest real-time data such as application logs, website clickstre...
Google Cloud Functions vs. AWS Lambda: The Fight for Serverless Cloud Domination
Serverless computing: What is it and why is it important? A quick background The general concept of serverless computing was introduced to the market by Amazon Web Services (AWS) around 2014 with the release of AWS Lambda. As we know, cloud computing has made it possible for users to ...
Google Vision vs. Amazon Rekognition: A Vendor-Neutral Comparison
Google Cloud Vision and Amazon Rekognition offer a broad spectrum of solutions, some of which are comparable in terms of functional details, quality, performance, and costs. This post is a fact-based comparative analysis on Google Vision vs. Amazon Rekognition and will focus on the tech...
New on Cloud Academy: CISSP, AWS, Azure, & DevOps Labs, Python for Beginners, and more…
As Hurricane Dorian intensifies, it looks like Floridians across the entire state might have to hunker down for another big one. If you've gone through a hurricane, you know that preparing for one is no joke. You'll need a survival kit with plenty of water, flashlights, batteries, and n...
Amazon Route 53: Why You Should Consider DNS Migration
What Amazon Route 53 brings to the DNS table Amazon Route 53 is a highly available and scalable Domain Name System (DNS) service offered by AWS. It is named by the TCP or UDP port 53, which is where DNS server requests are addressed. Like any DNS service, Route 53 handles domain regist...
How to Unlock Complimentary Access to Cloud Academy
Are you looking to get trained or certified on AWS, Azure, Google Cloud Platform, DevOps, Cloud Security, Python, Java, or another technical skill? Then you'll want to mark your calendars for August 23, 2019. Starting Friday at 12:00 a.m. PDT (3:00 a.m. EDT), Cloud Academy is offering c...