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
WaitCondition Controls the Pace of AWS CloudFormation Templates
AWS's WaitCondition can be used with CloudFormation templates to ensure required resources are running.As you may already be aware, AWS CloudFormation is used for infrastructure automation by allowing you to write JSON templates to automatically install, configure, and bootstrap your ...
The 9 AWS Certifications: Which is Right for You and Your Team?
As companies increasingly shift workloads to the public cloud, cloud computing has moved from a nice-to-have to a core competency in the enterprise. This shift requires a new set of skills to design, deploy, and manage applications in cloud computing.As the market leader and most ma...
Two New EC2 Instance Types Announced at AWS re:Invent 2018 – Monday Night Live
The announcements at re:Invent just keep on coming! Let’s look at what benefits these two new EC2 instance types offer and how these two new instances could be of benefit to you. If you're not too familiar with Amazon EC2, you might want to familiarize yourself by creating your first Am...
Google Cloud 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 2018, research firm Gartner placed Google in the Leaders quadrant in its Magic Quadrant for Cloud Infrastructure as a Service for the first time. In t...
Understanding AWS VPC Egress Filtering Methods
In order to understand AWS VPC egress filtering methods, you first need to understand that security on AWS is governed by a shared responsibility model where both vendor and subscriber have various operational responsibilities. AWS assumes responsibility for the underlying infrastructur...
S3 FTP: Build a Reliable and Inexpensive FTP Server Using Amazon’s S3
Is it possible to create an S3 FTP file backup/transfer solution, minimizing associated file storage and capacity planning administration headache?FTP (File Transfer Protocol) is a fast and convenient way to transfer large files over the Internet. You might, at some point, have conf...
Microservices Architecture: Advantages and Drawbacks
Microservices are a way of breaking large software projects into loosely coupled modules, which communicate with each other through simple Application Programming Interfaces (APIs).Microservices have become increasingly popular over the past few years. The modular architectural style,...
What Are Best Practices for Tagging AWS Resources?
There are many use cases for tags, but what are the best practices for tagging AWS resources? In order for your organization to effectively manage resources (and your monthly AWS bill), you need to implement and adopt a thoughtful tagging strategy that makes sense for your business. The...
How to Optimize Amazon S3 Performance
Amazon S3 is the most common storage options for many organizations, being object storage it is used for a wide variety of data types, from the smallest objects to huge datasets. All in all, Amazon S3 is a great service to store a wide scope of data types in a highly available and resil...
How to Optimize Cloud Costs with Spot Instances: New on Cloud Academy
One of the main promises of cloud computing is access to nearly endless capacity. However, it doesn’t come cheap. With the introduction of Spot Instances for Amazon Web Services’ Elastic Compute Cloud (AWS EC2) in 2009, spot instances have been a way for major cloud providers to sell sp...
What are the Benefits of Machine Learning in the Cloud?
A Comparison of Machine Learning Services on AWS, Azure, and Google CloudArtificial intelligence and machine learning are steadily making their way into enterprise applications in areas such as customer support, fraud detection, and business intelligence. There is every reason to beli...
How to Use AWS CLI
The AWS Command Line Interface (CLI) is for managing your AWS services from a terminal session on your own client, allowing you to control and configure multiple AWS services.So you’ve been using AWS for awhile and finally feel comfortable clicking your way through all the services....