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.
[bctt tweet=”Amazon CTO Dr. Werner Vogels believes that virtual machines are the “bread and butter of compute.”” username=”cloudacademy”]
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.
New Content: AWS Terraform, Java Programming Lab Challenges, Azure DP-900 & DP-300 Certification Exam Prep, Plus Plenty More Amazon, Google, Microsoft, and Big Data Courses
This month our Content Team continues building the catalog of courses for everyone learning about AWS, GCP, and Microsoft Azure. In addition, this month’s updates include several Java programming lab challenges and a couple of courses on big data. In total, we released five new learning...
Where Should You Be Focusing Your AWS Security Efforts?
Another day, another re:Invent session! This time I listened to Stephen Schmidt’s session, “AWS Security: Where we've been, where we're going.” Amongst covering the highlights of AWS security during 2020, a number of newly added AWS features/services were discussed, including: AWS Audit...
AWS re:Invent: 2020 Keynote Top Highlights and More
We’ve gotten through the first five days of the special all-virtual 2020 edition of AWS re:Invent. It’s always a really exciting time for practitioners in the field to see what features and services AWS has cooked up for the year ahead. This year’s conference is a marathon and not a...
WARNING: Great Cloud Content Ahead
At Cloud Academy, content is at the heart of what we do. We work with the world’s leading cloud and operations teams to develop video courses and learning paths that accelerate teams and drive digital transformation. First and foremost, we listen to our customers’ needs and we stay ahea...
Excelling in AWS, Azure, and Beyond – How Danut Prisacaru Prepares for the Future
Meet Danut Prisacaru. Danut has been a Software Architect for the past 10 years and has been involved in Software Engineering for 30 years. He’s passionate about software and learning, and jokes that coding is basically the only thing he can do well (!). We think his enthusiasm shines t...
New Content: AWS Data Analytics – Specialty Certification, Azure AI-900 Certification, Plus New Learning Paths, Courses, Labs, and More
This month our Content Team released two big certification Learning Paths: the AWS Certified Data Analytics - Speciality, and the Azure AI Fundamentals AI-900. In total, we released four new Learning Paths, 16 courses, 24 assessments, and 11 labs. New content on Cloud Academy At any ...
New Content: Azure DP-100 Certification, Alibaba Cloud Certified Associate Prep, 13 Security Labs, and Much More
This past month our Content Team served up a heaping spoonful of new and updated content. Not only did our experts release the brand new Azure DP-100 Certification Learning Path, but they also created 18 new hands-on labs — and so much more! New content on Cloud Academy At any time, y...
AWS Certification Practice Exam: What to Expect from Test Questions
If you’re building applications on the AWS cloud or looking to get started in cloud computing, certification is a way to build deep knowledge in key services unique to the AWS platform. AWS currently offers 12 certifications that cover major cloud roles including Solutions Architect, De...
Overcoming Unprecedented Business Challenges with AWS
From auto-scaling applications with high availability to video conferencing that’s used by everyone, every day — cloud technology has never been more popular or in-demand. But what does this mean for experienced cloud professionals and the challenges they face as they carve out a new p...
Constant Content: Cloud Academy’s Q3 2020 Roadmap
Hello — Andy Larkin here, VP of Content at Cloud Academy. I am pleased to release our roadmap for the next three months of 2020 — August through October. Let me walk you through the content we have planned for you and how this content can help you gain skills, get certified, and...
New Content: Alibaba, Azure AZ-303 and AZ-304, Site Reliability Engineering (SRE) Foundation, Python 3 Programming, 16 Hands-on Labs, and Much More
This month our Content Team did an amazing job at publishing and updating a ton of new content. Not only did our experts release the brand new AZ-303 and AZ-304 Certification Learning Paths, but they also created 16 new hands-on labs — and so much more! New content on Cloud Academy At...
Blog Digest: Which Certifications Should I Get?, The 12 Microsoft Azure Certifications, 6 Ways to Prevent a Data Breach, and More
This month, we were excited to announce that Cloud Academy was recognized in the G2 Summer 2020 reports! These reports highlight the top-rated solutions in the industry, as chosen by the source that matters most: customers. We're grateful to have been nominated as a High Performer in se...