ServerlessConf 2017 in New York City took place in October and Spotinst were there first hand to bring you all of the hottest trends and cloud updates.
Serverless computing basically adds another layer of abstraction on top of cloud infrastructure so that the developer doesn’t need to worry about servers, including virtual ones. Serverless doesn’t actually mean there are no servers. It just means that you don’t have to deal with them anymore.
1. People are choosing to use serverless mainly because of the following reasons.
This message repeated itself dozens of times during the conference, every talk started with a slide that presented these 3 simple reasons and people that are heavily using Serverless today (Like iRobot, Adobe, Accenture etc.) have said it very loud and clear:
- Less maintenance
- Less costs
- Time to market
Organizations (and mainly enterprises) realize that developers are the main driver of their business and want to help them to deliver software, faster, to production. Serverless gives a developer this unprecedented capability.
2. Serverless Use Cases
It is helpful to know where developers are choosing to start. Many of the speakers mentioned that there have been a shift in mentality. It’s “Serverless first, and if it can’t run on Serverless then they’ll consider other technologies.
- Web Tiers and Web Services
- Mobile Backends
- Form Processing
- DevOps Automation
- Stream Processing
- Image resizing
- Cron jobs
We really liked the session presented by Jared Short from Trek10 about building an app E2E including HTML rendering with Lambda and CDN. It was fantastic. Some inspiration from https://dekki.com, which completely runs its UI & Backend without servers.
Tim Wagner, General Manager of AWS Lambda has mentioned that he is very intrigued by Big Data Serverless use cases, this is where he sees the natural fit for Serverless workloads.
Some Real Life Examples:
- Thomson Reuters processes 4,000 requests per second with Serverless.
- FINRA (Financial Industry Regulatory Authority) processes half a trillion validations of stock trades, every day.
- Expedia triggers 1.2 billion serverless requests each month
Source: Amazon Web Services
3. Serverless Adoption
As presented by Jason McGee, VP & CTO, IBM Cloud, IBM analysts say that the Function-as-a-Service (FaaS) market size will grow exponentially (7-10x) by 2021.
Serverless adoption is moving 10x faster than Container adoption.
Tim Wagner, General Manager of AWS Lambda has mentioned that AWS sees an impressive trend of Enterprise adoption among AWS Lambda.
4. Local Debugging & Serverless Functions
One of the ‘hottest’ topics was “Local Debugging”, how can developers test their Functions and see how the CI/CD process will look like?
In the 1st day Keynote, the Azure folks gave a demo of debugging Azure Functions on their local machines via MS Visual Studio in a NodeJS based web service example. The demo was great.
While touring the exhibition hall (tent) we had a conversation with one of the AWS Lambda Engineers:
Me: “What is the most frequent question that you’ve been asked today?”
AWS Lambda Engineer: “How do you test Lambda function locally?”
Me: “What was your answer?”
AWS Lambda Engineer: “When you develop a Lambda function that uses SQS, SNS, Dynamo and other stuff in the cloud.. you can’t really debug it locally. People just need to change their mindset”
5. Azure Functions and LogicApp Service
It seems that Microsoft Azure is very much advanced with their Serverless offering called “Azure Functions”. Their achievements are phenomenal, their roadmap is even more fascinating.
Logic App – is a new Azure Service that connects very well with Azure Functions and lets you integrate apps, data, and devices with a larger ecosystem of software-as-a-service and cloud-based connectors that include Salesforce, Office 365, Twitter, Dropbox and Google services.
Logic App can be useful for creating PoCs very quickly and efficiently.
For example, the Azure folks have shown a demo of how to create a Functions Flow in less than 10 minutes.
- Function that monitors Twitter every 1 second and fetches Tweets with the word “Serverless.”
- Another Function identifies the actual meaning of the language of the Tweet.
- After identifying the meaning of the language, it exports the words and saves them to a database.
- They also created a real-time dashboard that shows the Tweets per minute.
The demo worked flawlessly. It was a great demonstration of how you can mix and match, build a lego in few hours while having a live PoC running.
6. Adobe’s Use Case
Adobe discussed during the 1st-day’s Keynote how they are using IBM OpenWhisk on multiple cloud providers (underlying EC2 / Azure Compute and their own data centers).
Adobe’s statement was: “Servers are dead”
They have a few open source projects that are worth a look, one of them is:
7. Other Serverless Partners and Sponsors
- FuanaDB – cloud based – multi-region and fully transactional DB. Looks very promising.
- IOpipe – application performance monitoring for AWS Lambda. They give you a piece of a code to inject in your Lambda codebase that is responsible for sending our events and data to their SaaS.
- stdlib – a Git-hub style platform specifically for Functions. Stdlib helps developers to share their services with others for free.
- OpenWhisk – is a serverless, open source cloud platform that executes functions in response to events at any scale.
- Serverless framework – open-source, application framework to easily build serverless architectures on AWS Lambda and more. I personally think that there is a huge potential in the market for the Serverless Framework, eager to see how this is going to evolve vs. Amazon SAM and other public cloud offerings.
- Google Firebase – Cloud Functions for Firebase let you create functions that are triggered by Firebase products, such as changes to data in the Real-time Databases, uploads to Cloud Storage, new user sign ups via Authentication, and conversion events in Analytics.
8. The best session at ServerlessConf 2017
From my point of view, the best session was given by Jason McGee, VP and CTO, IBM Cloud Platform.
Jason introduced OpenWhisk, IBM Function-as-a-service platform which can be deployed on any cloud (open source) while you can use the enterprise version through “IBM Bluemix”.
It was super interesting to hear about IBM’s initiatives around serverless, how fast they’ve evolve, created a community and delivered fully functional and useful product. Great UI, great connection between the API gateway product and the actual Bluemix Functions.
The IBM folks are very proud to talk about the “under the hood” which gives a spectacular view into the actual mechanism that drives serverless and Function-as a-service, the magic behind it so to say.
As a developer and DevOps, it is very important to understand how it works, in order for us to build our software better and more suitable for Serverless architecture.
That was a great session, well presented with very strong messaging. Big like.
9. Serverless and Security
“Even though we won’t have to manage servers in the future, hackers will still find ways to attack our software”
Guy Podjarny, CEO at Snyk gave a nice talk about security in the Serverless era.
The main discussion points of security on Serverless were around:
- Code dependencies and 3rd parties.
- More dependencies – more vulnerability.
- DDoS might cause you to pay a s*** load of money and reach your maximum rate limit of concurrent invocations.
- User Permissions and Authentication management are still necessary and we need to take care of them.
- Cross site scripting etc.- should be handled separately as well. If we have a bad piece of code, it will remain a bad piece of a code even if it runs on a Serverless platform.
10. Serverless and Monitoring
The current monitoring features that the Public Cloud offers are considerably sufficient. You can monitor the number of invocations, application latencies, and drill down to a specific function to pinpoint problems.
Companies like iRobot discussed the way they handle DLQ (Dead Letter Queue – a queue which gathers the failed Lambda invocations). They have a separate process of monitoring and fixing their failed functions.
Google Cloud Functions catches expectations, console.log() events and sends it to Stack Driver.
The other alternatives are 3rd party monitoring tools that ‘wrap’ your code with some dependency that basically sends monitoring events with response to your application events.
11. Final Words
The guys from the Serverless framework asked me “What does Serverless mean to you?”
It took me less than 5 seconds to answer:
– Time to market
– Less maintenance and fewer costs
– A democratization of the Cloud, run everything, everywhere.
Now, just imagine that you could run functions at spot pricing, on any cloud.
For more information, contact Spotinst.