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
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...
Which Certifications Should I Get?
As we mentioned in an earlier post, the old AWS slogan, “Cloud is the new normal” is indeed a reality today. Really, cloud has been the new normal for a while now and getting credentials has become an increasingly effective way to quickly showcase your abilities to recruiters and compan...
How to Go Serverless Like a Pro
So, no servers? Yeah, I checked and there are definitely no servers. Well...the cloud service providers do need servers to host and run the code, but we don’t have to worry about it. Which operating system to use, how and when to run the instances, the scalability, and all the arch...
AWS Security: Bastion Hosts, 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...