We love working with serverless technology. This is why we decided to publish a report with the latest serverless trends this year. We partnered up with nine other companies who share this love, to make the first State of Serverless report happen.
The idea was to gather insight from the community into the current serverless trends and to learn how others implement this technology. The excitement of the community and our partners exceeded our expectations.
We owe a big thank you to every participant who shared their insight with us, so we can in turn pass it on to you.
This blog post highlights 7+1 exciting serverless trends, but it’s only a taste of all the data we’ve compiled.
Do you want to learn about the most popular frameworks, FaaS products, container services, tooling for serverless, cloud security and more?
In this blog post, we cover the following:
- The benefits of using serverless architecture
- Top serverless providers
- Top programming languages used to develop serverless functions
- The most common use cases for serverless architecture
- Biggest challenges in using serverless computing
- Community wishlist for changes in serverless technology
- Testing and debugging needs help
- Serverless needs standards
- Obstacles in adopting serverless technologies
- Popular resource types to learn about serverless
- Key takeaways + Partners
1. What are the benefits of using serverless architecture?
Flexibility in scaling came out as number one. It’s no surprise really; it has been the selling point of serverless computing from the get-go.
The same goes for decreased system administration that ended up in third.
The more interesting part is that speed of development finished second on the list with 55%. It may be a less obvious benefit of serverless, but it’s certainly worth considering.
Cost of resources showed up among the top benefits of using serverless computing. We took note of this, because more than half of the participants consider the cost an advantage, even though you may hear the reverse argument. It probably comes down to context.
2. What serverless providers do you use?
These numbers speak for themselves. Amazon Web Services is miles ahead of everyone else in popularity among cloud providers. Google Cloud Functions and Microsoft Azure Functions have asserted a significant lead over the rest of the field, but they may not be out of reach just yet.
3. What programming languages do you use to develop serverless functions?
Another straightforward result: Node.js reigns supreme as far as serverless development is concerned. It’s not much of a surprise, considering JavaScript is still the #1 programming language according to the State of Software Development 2020 report.
Python is another popular choice when it comes to cloud computing, and Go also took a significant chunk of the votes.
4. What are your typical use cases for serverless architecture?
Figuring out where it’s best to use serverless is certainly something where the collective experience of the community is better than any one developer’s experience. The graph is fairly self-explanatory, so I won’t bore you with any more explanation.
5. What are the challenges of using serverless computing?
So we get to the juicy part: what are the common issues?
Debugging is the biggest pain point by far. It’s directly caused by architectural complexity, which was voted as the second biggest challenge by itself.
Cost estimation is another challenge. It comes down to actual usage, so it is hard to estimate ahead of time. Serverless architecture is very cost-effective in most cases, but it can become more expensive than creating and maintaining your own server.
Vendor lock-in ended up as the fourth biggest challenge, which makes a lot of sense. There is enough difference between the serverless providers, that migrating from one to another isn’t worth the cost most of the time. It’s also next to impossible to correctly guess the time and effort it’d take.
6. What would the community change in serverless services?
The community had fairly consistent answers to this question, and we're highlighting the top two for you.
#1 Testing and debugging needs help
The diagram about the challenges tells you the story: debugging in a serverless architecture is by far the biggest issue for developers in this field.
A solution for this may be to make it a more viable option to set up the environment locally. This would make for quicker, easier and more reliable testing, which of course helps with debugging.
The other way may be to build better tooling to achieve the same result remotely.
The existing options are far from perfect, so this is numero uno on the community’s wishlist currently.
#2 Serverless needs standards
Another issue that kept coming up is the lack of standardization across the serverless providers.
Applying standards for serverless computing across the board would fix a number of problems for the community. More standards could alleviate the issue of vendor lock-in, and make sharing knowledge about serverless easier.
Based on the results, this seems to be the second most important concern for the serverless community currently.
7. What stops companies from adopting serverless technologies?
Lack of knowledge came out as the most common obstacle holding companies back from using serverless architecture. It’s not a surprise, since serverless is still fairly young. It also means that there is demand for good resources on serverless computing; which actually came up quite a few times on the community wishlist.
Complexity, vendor lock-in and the lack of predictability on costs are also common concerns among companies considering serverless.
+1 What resources do you use to learn about serverless architecture?
Lack of knowledge is the biggest obstacle, so we need to bring in a plus one to see what types of resources the community uses to learn about serverless.
Blogs ended up as the most used resource, with tech talks and conferences in a close second place when it comes to learning serverless. Video tutorials and online courses are also relevant, and podcasts have a significant share as well.
It highlights a trend: it’s mostly the serverless community providing the learning resources for itself. It’s fairly common in the tech world, but the cloud vendors investing more effort into creating educational material may help to grow the serverless architecture market.
Key takeaways
- The biggest upside of using serverless architecture is flexibility
- AWS is the leading serverless provider
- Node.js is the most widespread programming language in the serverless community
- Serverless is most commonly used for rest APIs
- Debugging is the biggest issue for serverless developers, and the community craves a solution
- The community wants more standards for serverless computing
- Lack of knowledge is the biggest factor holding companies back from adopting serverless
- We could use more educational material out there for serverless
And this is merely the tip of the iceberg. Check out the full State of Serverless 2020 report with 20+ serverless trends for more insight!
Happy Serverless September 2020!
Partners:
What You Should Do Now
👉 If you are serious about becoming a great engineering leader, you should subscribe to our newsletter or download the state of software development 2020 report.
🚀 Need developers for your team or project? Hire our experienced Angular or Node.js developers! Click here for a FREE consultation.
About the author:
Gabor Zold is a content marketer and tech writer, focusing on software development technologies and engineering management. He has extensive knowledge about engineering management-related topics and has been doing interviews with accomplished tech leaders for years. He is the audio wizard of the Level-up Engineering podcast.