DevReach is our premier developer conference in Central and Eastern Europe. In 2017, it featured 30+ presentations delivered by 20 world-renowned speakers. These presentations were recorded and we're pleased to make them available online for everyone. The playlist for these videos is available on Youtube: DevReach Conference 2017.
Going “serverless” with Azure sounds like an oversimplification to the savvy and confusing to the novice. “Serverless,” another one of those trendy words we developers dislike, implies there’s no server involved. Of course, we know what “serverless” really means is that *you* don’t have to mess with your own server; instead, your app runs using third-party services and, often, a client-based app.
A serverless model suggests that your traditional client-server model evolves into a client-services-database model. To help you understand and implement serverless software, expert Milan Nankov, CTO and Co-Founder of New Venture Software, provides an in-depth yet digestible guide in his 2017 DevReach presentation entitled, "Going Serverless With Azure Functions":
Milan starts with an excellent overview of how the cloud has evolved - and how we ended up at “Serverless” solutions. He then discusses how Azure Functions work - and gives specific demos.
We particularly like how he ties the significance of each stage in the cloud’s evolution to not only developer needs, but those of IT and value to the business.
Of course, the cloud started as entirely on-premises servers for the application, data, OS, infrastructure, updates, networking and storage.
So many of those things added no business value, instead adding overhead and complexity. The cloud, he explains, really took off when the first five of those functions (applications, data, OS, infrastructure and updates) were handed off to a third-party vendor. That vendor provided that infrastructure as a service; thus, IaaS. In a sense, it’s renting a VM or box elsewhere.
The next big breakthrough was PaaS: Platform as a Service. The applications, data and OS are all hosted with the vendor. You upload your app and the vendor worries about updates, patches, and so forth. Yet, you still have to worry about infrastructure, choosing the right pricing/hosting tier, and so on.
The “pinnacle” of the evolution: serverless computing. Here, you pass your application and data to your cloud vendor, and the infrastructure piece happens as automatically as possible. Your infrastructure concerns are kept to a minimum. Scaling, upgrades, platform patches: all automatic.
“Serverless,” then, is an abstraction of servers, where you don’t have to worry about it. Theoretically, it’s also automatically scaleable. Also, the biling is important: it’s done in sub-second increments, so you pay only for the resources you’re using.
Thus, the benefits of serverless mean you’ve got reduced devops needs, faster time to market and lower maintenance. Nankov then details the components of serverless - which involves many servers, messaging and data. He also compares serverless to previous paradigms.
Here’s what you need to watch: not just this introduction, but the details of why function-based programming is the right approach, and how Azure Functions run your code in the cloud without any of the challenges involved in previous paradigms.
About the Speaker
Milan is the co-founder of a boutique software company called New Venture Software that specializes in building custom software. Milan has a passion for software craftsmanship.
Resources and Further Reading