What makes serverless a trending technology and why did we meet last week in NYC to discuss its future?
We proudly attended the first Serverless Conference ever on May 26-27th 2016, in Brooklyn. Personally, it’s been a highly educational experience, and it was great to meet so many skilled and passionate developers and engineers.
I believe it’s an exciting time for the cloud world, as serverless is changing how we design and build applications – especially on the web – with the support of a continuously growing set of tools and frameworks.
But what makes serverless technologies special?
I think Patrick Debois – founder of DevOpsDays – asked a very interesting question on Twitter:
What makes Serverless different for you?
What makes #serverless different for you ?
— Patrick Debois @ zender.tv (@patrickdebois) May 22, 2016
The four proposed options are all valid alternatives. In fact, I would be in trouble with choosing only one. In my very personal opinion, I would choose “No worries about servers“, although the majority answered “Function as deploy unit.”
Honestly, serverless is not the first technology that allows you to consider single functions as the final outcome of your development process, as decades of remote procedure calls (RPC) and stored procedures can attest to.
This is why I think the biggest differentiator – from a developer point of view – is the ability to take a considerable amount of operations and maintenance overhead out of your daily workflow.
Note: I am not a big fan of the #NoOps movement either: operations represent much more than just a deployment procedure, for your company. While operations should be considered a crucial part of your product, I deeply appreciate how serverless technologies allow me to focus on what really adds value for the final user along your critical path, rather than repetitive and low-level operations which nobody should waste their time on anymore. This makes my job better and brings me closer to my code and microservices, fighting the lack of ownership experienced by many engineers, often in an unconscious way.
I believe this is somehow in line with Charity Majors’s talk. She satirically coined the #NoDevs counterpart, by highlighting the following:
How hard can it be to just glue together APIs that other people have written and support and scale?
— Charity Majors (@mipsytipsy) May 23, 2016
ServerlessConf – Highlights
The agenda has been quite full and exciting. It included some of the brightest minds in the Cloud world. Everybody had a chance to share their own experience with serverless: Cloud vendors showcased very diverse serverless solutions, and many Cloud architects discussed the best emerging design patterns.
And not only that, the conference offered a great opportunity to emerging technologies and startups for updating everyone on their progress and sharing their near-future vision. AWS itself announced a new initiative to make Serverless computing more open and easier to approach.
Tim Wagner – general manager of AWS Lambda – took the big responsibility of breaking the ice and making this new community feel welcome. I would say he totally nailed it, by symbolically – but literally – smashing a sacrificial server with a baseball bat.
I think this is one of the moments that made #serverless go viral, later that day.
— Sam Kroonenburg (@samkroon) May 26, 2016
Tim talked about the advantages of serverless computing, here is a short and non-exhaustive list.
- First of all, servers are intended to become a commodity, as much as most of us nowadays give our CPUs or TCP interfaces for granted.
- Serverless democratized the access to scale, which has been a privilege of the few ones who could afford it for too long, somehow even after the advent of public Clouds.
- Serverless is driving the market towards request-driven compute/pricing models, which aims for a faster and cheaper development process, resulting in a real competitive advantage.
- PaaS is too intrusive and usually offers the wrong unit of scale (e.g. monolithic applications), while Serverless lets you deal with stateless functions/microservices, which allows you to write less server software (of course, hardware is still there).
One sentence really got stuck into my mind:
DevOps are 2016’s punch cards.
Tim referred to how engineers thought of punch cards as the best way to deal with programming for decades. If you spent enough time on it, they seemed like a natural tool, even if now we can appreciate the long list of abstraction layers that separate us from the CPU registers and allow us to build better software. Don’t you?
In Tim’s metaphor, this obsolete technology is compared to what we currently call DevOps (aka operations). Of course, CPUs and assembly instructions didn’t disappear, but they are definitely not the core business of most innovative companies anymore. Are DevOps technologies intended to become obsolete as well? If Tim is right, they will be hidden within the Cloud, for the most part. As a software engineer, I feel like this would bring me closer to my code and my product, therefore I can’t be disappointed.
Flourish: A New Open-Source Runtime Application Environment
Tim Wagner also announced a new open-source initiative, with the goal of creating a serverless runtime application environment.
Similarly to what SwaggerHub does to coordinate APIs lifecycles, Flourish might become a vendor-neutral reference for Serverless computing.
The initiative is still in its very early days and no public repository has been published yet, but I’m looking forward to great contributions from the community.
— Werner Vogels (@Werner) May 27, 2016
The Serverless Ecosystem
Of course, Serverless is not only about AWS Lambda.
IBM, Microsoft, Google and others gave a great overview of their solutions as well. I have to admit it: each one offers something particular and unique.
I recently discussed the differences between AWS Lambda and Google Cloud Functions (still in limited preview), and I am definitely looking forward to giving IBM Bluemix OpenWhisk, Azure Functions, Iron.io, Auth0’s Webtask and others a try.
Obviously, all this diversity won’t make anyone’s life any easier for now, although competition is always good. In particular, it will provide a lot of work and hard thinking to the serverless.com guys: Austen Collins announced his vision for the Serverless Framework Version 1.
Hopefully, things will get easier, more vendor-neutral and open-source with the help of Flourish.
If you attended the conference, don’t forget to tell us about your experience, what you’ve learnt and how it changed the vision about your next product or startup.
— Alex Casalboni (@alex_casalboni) June 1, 2016
New on Cloud Academy: Red Hat, Agile, OWASP Labs, Amazon SageMaker Lab, Linux Command Line Lab, SQL, Git Labs, Scrum Master, Azure Architects Lab, and Much More
Happy New Year! We hope you're ready to kick your training in overdrive in 2020 because we have a ton of new content for you. Not only do we have a bunch of new courses, hands-on labs, and lab challenges on AWS, Azure, and Google Cloud, but we also have three new courses on Red Hat, th...
Cloud Academy’s Blog Digest: Azure Best Practices, 6 Reasons You Should Get AWS Certified, Google Cloud Certification Prep, and more
Happy Holidays from Cloud Academy We hope you have a wonderful holiday season filled with family, friends, and plenty of food. Here at Cloud Academy, we are thankful for our amazing customer like you. Since this time of year can be stressful, we’re sharing a few of our latest article...
Google Cloud Platform Certification: Preparation and Prerequisites
Google Cloud Platform (GCP) has evolved from being a niche player to a serious competitor to Amazon Web Services and Microsoft Azure. In 2019, research firm Gartner placed Google in the Leaders quadrant in its Magic Quadrant for Cloud Infrastructure as a Service for the second consecuti...
New Lab Challenges: Push Your Skills to the Next Level
Build hands-on experience using real accounts on AWS, Azure, Google Cloud Platform, and more Meaningful cloud skills require more than book knowledge. Hands-on experience is required to translate knowledge into real-world results. We see this time and time again in studies about how pe...
New on Cloud Academy: AWS Solution Architect Lab Challenge, Azure Hands-on Labs, Foundation Certificate in Cyber Security, and Much More
Now that Thanksgiving is over and the craziness of Black Friday has died down, it's now time for the busiest season of the year. Whether you're a last-minute shopper or you already have your shopping done, the holidays bring so much more excitement than any other time of year. Since our...
Understanding Enterprise Cloud Migration
What is enterprise cloud migration? Cloud migration is about moving your data, applications, and even infrastructure from your on-premises computers or infrastructure to a virtual pool of on-demand, shared resources that offer compute, storage, and network services at scale. Why d...
6 Reasons Why You Should Get an AWS Certification This Year
In the past decade, the rise of cloud computing has been undeniable. Businesses of all sizes are moving their infrastructure and applications to the cloud. This is partly because the cloud allows businesses and their employees to access important information from just about anywhere. ...
AWS Regions and Availability Zones: The Simplest Explanation You Will Ever Find Around
The basics of AWS Regions and Availability Zones We’re going to treat this article as a sort of AWS 101 — it’ll be a quick primer on AWS Regions and Availability Zones that will be useful for understanding the basics of how AWS infrastructure is organized. We’ll define each section,...
Application Load Balancer vs. Classic Load Balancer
What is an Elastic Load Balancer? This post covers basics of what an Elastic Load Balancer is, and two of its examples: Application Load Balancers and Classic Load Balancers. For additional information — including a comparison that explains Network Load Balancers — check out our post o...
Advantages and Disadvantages of Microservices Architecture
What are microservices? Let's start our discussion by setting a foundation of what microservices are. Microservices are a way of breaking large software projects into loosely coupled modules, which communicate with each other through simple Application Programming Interfaces (APIs). ...
Kubernetes Services: AWS vs. Azure vs. Google Cloud
Kubernetes is a popular open-source container orchestration platform that allows us to deploy and manage multi-container applications at scale. Businesses are rapidly adopting this revolutionary technology to modernize their applications. Cloud service providers — such as Amazon Web Ser...
AWS Internet of Things (IoT): The 3 Services You Need to Know
The Internet of Things (IoT) embeds technology into any physical thing to enable never-before-seen levels of connectivity. IoT is revolutionizing industries and creating many new market opportunities. Cloud services play an important role in enabling deployment of IoT solutions that min...