The following is an in-depth interview with Succinctly series author Ed Freitas, whose book Azure Functions Succinctly was published recently. You can download the book from the Succinctly library.
What should people know about Azure Functions? Why is it important?
I’ll refer to Nir Mashkowski, who defined the importance of Azure Functions in the announcement blog: “Data is everywhere. It’s in the cloud, on-premises, and is increasingly proliferating across internet-connected devices. Organizations are working to unlock the value in that data, and are asking their developers to respond with highly-scalable solutions built on ever-compressed timetables. Solutions which often require developers implement on demand or scheduled batch jobs to reconcile transactions, ingest and process data, or react to events in real-time. “
Azure Functions is important for people to know and use because it is an event-driven, compute-on-demand experience that extends the existing Azure application platform to implement code triggered by events that occur in Azure or third-party services, as well as on-premises systems, allowing developers to quickly develop these highly scalable solutions on short notice.
When did you first become interested in Azure Functions?
I was working on a personal project Windows application that required a website to process user licenses, and the website functionality turned out to be more complex than the Windows project itself. So I said to myself, “This can’t be right. There must be an easier way to do this.” This is what led me to investigate serverless technologies and specifically Azure Functions. I explain the story within the first pages of the book.
By writing Azure Functions Succinctly, did you learn anything new yourself?
Oh yes, I learned quite a bit! Mostly that Azure Functions is an innovative way of accessing and processing data by making it simpler than ever to not only trigger code based on data in other services, but also to access and process that data. With Azure Functions bindings, developers can simply interact with other data sources and services through their Azure function without worrying about how the data flows to and from it. Bindings make tasks like adding a message to a queue or fetching a blob as simple as passing JSON to a function output variable or reading the blob from a function input variable. With this capability, I found out that developers need to know very little about the underlying services they’re interacting with, making it easy to swap out later for different services.
How will Azure Functions change over the next few years?
It is already changing and evolving. Just recently, Microsoft announced Azure Durable Functions, which is an extension of Azure Functions and Azure WebJobs that lets you write stateful functions in a serverless environment. The extension manages state, checkpoints, and restarts for you. The extension lets you define stateful workflows in a new type of function called an orchestrator function. As serverless architecture becomes more a de facto standard and choice in projects, changes in this landscape will continue to happen as well as improvements. Serverless and Azure Functions are here to stay, and a good skill investment for anyone in DevOps, IT, or software engineering.
Do you see Azure Functions and cloud services as part of a larger trend in software development?
Definitely. They are part of the serverless execution model trend. One of the core value propositions of PaaS solutions such as Azure Functions is the abstraction of the operating system layer from the code. The underlying platform provides preconfigured operating system images that don’t require any patching or maintenance and can be autoscaled based on application load. Azure Functions extends the PaaS concept by providing developers with complete abstraction from the underlying infrastructure through a pay-per-execution billing model that automatically scales based on trigger invocations.
What were the biggest challenges you faced when learning how to use Azure Functions?
To be quite honest, there wasn’t any significant challenge. The Azure team has done an amazing job at making this complex technology easy to grasp and even easier to get started with and learn. I was literally up and running in a few minutes and writing Azure functions using C#.
What other books or resources on Azure Functions or Azure in general do you recommend?
I highly recommend the official Azure Functions documentation site. It’s probably the best resource out there and most up-to-date.
What are three key pieces of info that developers can take away from this book?
- Azure Functions is the future.
- Azure Functions is powerful.
- Azure Functions is easy and intuitive.
Do you have any tips for developers trying to learn Azure Functions?
Who are your role models in the developer world?
Where to start really… There are so many brilliant folks doing an amazing job at various companies, so I’d have a hard time picking out a few names. Someone I do love engaging with and follow regularly is James McCaffrey from Microsoft Research.
How quickly can you learn a new programming language or tool?
I’m quite a fast learner, mostly because I’ve sort of made learning technologies my hobby. I try to learn a new technology every two months by doing a personal project or writing a book. I absolutely love learning. Not only does it open your world to new things, but it keeps your mind focused on positive things and helps avoid our ancestral human negative traits coming out. Learning is evolving and it’s fun.
How do you stay up-to-date on industry news?
Do you have a blog page or a website where people can find you?
Yes, edfreitas.me. I don’t write blog posts (I prefer to write books), but I have links to courses I’ve published and of course, my books
Ed Freitas has been an author and technical editor for the Succinctly Series since 2016
Check out these other popular titles by Ed Freitas: