Stride Tech Talk: Mike Roberts - Serverless Architecture

Published on
January 12, 2017

For this edition of Stride Tech Talk, Stride CEO and Founder of Stride Debbie Madden chats with Mike Roberts about Serverless Architecture.

Debbie: What is Serverless?

Mike: Serverless is the next evolution of Cloud Computing. It actually refers to two different, but related, areas.

One use of the term Serverless is to describe applications that use 3rd party services to manage server-side logic and state. We refer to this vast ecosystem of cloud accessible databases (like Google Firebase), authentication services (Auth0, AWS Cognito), and the like as 'Backend-as-a-Service', or BaaS. One way of thinking about BaaS services are that they are like Software-as-a-Service (SaaS) products, but for application development rather than business processes. Applications that use BaaS are typically mobile apps or single-page web apps.

The other use of Serverless is Functions-as-a-Service, or FaaS. This is an architectural style where we deploy server-side code as individual event driven operations, or functions, rather than 'always running' server-side applications. With FaaS, we deploy our code to a 'FaaS platform' as very simple code artifacts; think JAR files for JVM apps or plain source code for Javascript and Python apps. The FaaS platform then instantiates and executes our code, only when needed, in its own, managed, ephemeral containers. With FaaS, we no longer have to think about how we actually run our code on a server. Teams are not concerned with server machines or operating systems, nor are they concerned with long lived ‘server’ applications. This lack of concern for server machines or server processes is what has led to the term ‘serverless’, even though, yes, the code is running on a server somewhere!

FaaS started in earnest 2 years ago with the launch of Amazon's Lambda Service, and we now see FaaS products from Microsoft, IBM, Google and smaller companies too. While a more recent development than BaaS, FaaS' novelty and popularity are what have driven the more recent buzz around Serverless.

Debbie: Why are people excited?

Mike: There are 3 main reasons why Serverless is exciting:

First of all, it offers the opportunity of significant reduction in labor and infrastructure costs. With Serverless, there's less code to write, fewer systems and technologies to manage, and cost savings from economy-of-scale effects.

Second, Serverless is a dream when it comes to scaling. With FaaS, for example, the FaaS vendor will automatically create as many instances of your code as necessary to handle the precise load at any given time, without any effort at all on the part of the engineering team.

Finally, and in my mind most fascinatingly, Serverless reduces your engineering lead time -- the time from conceptualization of a new product or feature to when it is deployed in a minimum viable way to a production environment. While Serverless reduces development and operational setup time, it also means that people don’t need such a breadth of skills to try out experiments and MVPs. It’s like your teams have a newly found super-power -- they’re no longer under any constraint of thinking about new feature development in terms of their existing application architecture.

Debbie: Should teams start using this now?

Mike: I definitely recommend teams try out prototyping small internally focused apps to see what Serverless is about. But I also recommend teams go into such experiments very aware that we're still in the early days of Serverless techniques, and in many ways it definitely feels like the 'bleeding edge'! For example, tooling is not as advanced as more traditional architectural styles, and also we as an industry are still learning how and when best to use Serverless techniques.

Furthermore, some constraints mean that Serverless isn't a good fit for some classes of application now, nor may it ever be. Teams that have critical low-latency requirements, for instance, should do some research in this area before significant investment.

However, without ignoring these caveats and concerns, Serverless is definitely an intriguing innovation. While the cost reductions and scaling benefits can be significant, the ability to try out new feature ideas in hours instead of days or weeks may literally revolutionize how we approach product development. In this way, Serverless is as big a transition in our industry now as Infrastructure-as-a-Service and other original Cloud services were ten years ago.

Debbie: What are you doing with Serverless?

Mike: It’s rare that I jump on a bandwagon, but Serverless has caught my interest in a way few new things have over the last 15 years. Because of this, I’ve decided to dive in and form a new consultancy named Symphonia, specializing in Serverless and Cloud technology, with co-founder John Chapin. We are excited to move the state-of-the-art forward as we help clients come to grips with this new opportunity.

About Mike Roberts
Mike is an engineering leader living in New York City. He's spent much of his time over the last few years working with excellent teams, and most recently has become very interested in the area of Serverless. Mike is a long-time proponent of Agile and DevOps values, and is excited by the role that cloud technologies have played in enabling such values for many high-functioning software teams. Mike is co-founder of Symphonia, and before that most recently VP Engineering at Intent Media. You can read an extended analysis of Serverless Architectures, written by Mike, here.

In order to produce better software, hiring great agile team members is essential. Our free guide, "How to Hire Agile Team Members: A Checklist" highlights how you can ace the hiring game, and build the agile team that will produce amazing software.

Author
Subscribe to newsletter
By subscribing you agree to with our Privacy Policy.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Share

Stride Tech Talk: Mike Roberts - Serverless Architecture

Stride Tech Talk: Mike Roberts - Serverless Architecture
Down Arrow

For this edition of Stride Tech Talk, Stride CEO and Founder of Stride Debbie Madden chats with Mike Roberts about Serverless Architecture.

Debbie: What is Serverless?

Mike: Serverless is the next evolution of Cloud Computing. It actually refers to two different, but related, areas.

One use of the term Serverless is to describe applications that use 3rd party services to manage server-side logic and state. We refer to this vast ecosystem of cloud accessible databases (like Google Firebase), authentication services (Auth0, AWS Cognito), and the like as 'Backend-as-a-Service', or BaaS. One way of thinking about BaaS services are that they are like Software-as-a-Service (SaaS) products, but for application development rather than business processes. Applications that use BaaS are typically mobile apps or single-page web apps.

The other use of Serverless is Functions-as-a-Service, or FaaS. This is an architectural style where we deploy server-side code as individual event driven operations, or functions, rather than 'always running' server-side applications. With FaaS, we deploy our code to a 'FaaS platform' as very simple code artifacts; think JAR files for JVM apps or plain source code for Javascript and Python apps. The FaaS platform then instantiates and executes our code, only when needed, in its own, managed, ephemeral containers. With FaaS, we no longer have to think about how we actually run our code on a server. Teams are not concerned with server machines or operating systems, nor are they concerned with long lived ‘server’ applications. This lack of concern for server machines or server processes is what has led to the term ‘serverless’, even though, yes, the code is running on a server somewhere!

FaaS started in earnest 2 years ago with the launch of Amazon's Lambda Service, and we now see FaaS products from Microsoft, IBM, Google and smaller companies too. While a more recent development than BaaS, FaaS' novelty and popularity are what have driven the more recent buzz around Serverless.

Debbie: Why are people excited?

Mike: There are 3 main reasons why Serverless is exciting:

First of all, it offers the opportunity of significant reduction in labor and infrastructure costs. With Serverless, there's less code to write, fewer systems and technologies to manage, and cost savings from economy-of-scale effects.

Second, Serverless is a dream when it comes to scaling. With FaaS, for example, the FaaS vendor will automatically create as many instances of your code as necessary to handle the precise load at any given time, without any effort at all on the part of the engineering team.

Finally, and in my mind most fascinatingly, Serverless reduces your engineering lead time -- the time from conceptualization of a new product or feature to when it is deployed in a minimum viable way to a production environment. While Serverless reduces development and operational setup time, it also means that people don’t need such a breadth of skills to try out experiments and MVPs. It’s like your teams have a newly found super-power -- they’re no longer under any constraint of thinking about new feature development in terms of their existing application architecture.

Debbie: Should teams start using this now?

Mike: I definitely recommend teams try out prototyping small internally focused apps to see what Serverless is about. But I also recommend teams go into such experiments very aware that we're still in the early days of Serverless techniques, and in many ways it definitely feels like the 'bleeding edge'! For example, tooling is not as advanced as more traditional architectural styles, and also we as an industry are still learning how and when best to use Serverless techniques.

Furthermore, some constraints mean that Serverless isn't a good fit for some classes of application now, nor may it ever be. Teams that have critical low-latency requirements, for instance, should do some research in this area before significant investment.

However, without ignoring these caveats and concerns, Serverless is definitely an intriguing innovation. While the cost reductions and scaling benefits can be significant, the ability to try out new feature ideas in hours instead of days or weeks may literally revolutionize how we approach product development. In this way, Serverless is as big a transition in our industry now as Infrastructure-as-a-Service and other original Cloud services were ten years ago.

Debbie: What are you doing with Serverless?

Mike: It’s rare that I jump on a bandwagon, but Serverless has caught my interest in a way few new things have over the last 15 years. Because of this, I’ve decided to dive in and form a new consultancy named Symphonia, specializing in Serverless and Cloud technology, with co-founder John Chapin. We are excited to move the state-of-the-art forward as we help clients come to grips with this new opportunity.

About Mike Roberts
Mike is an engineering leader living in New York City. He's spent much of his time over the last few years working with excellent teams, and most recently has become very interested in the area of Serverless. Mike is a long-time proponent of Agile and DevOps values, and is excited by the role that cloud technologies have played in enabling such values for many high-functioning software teams. Mike is co-founder of Symphonia, and before that most recently VP Engineering at Intent Media. You can read an extended analysis of Serverless Architectures, written by Mike, here.

In order to produce better software, hiring great agile team members is essential. Our free guide, "How to Hire Agile Team Members: A Checklist" highlights how you can ace the hiring game, and build the agile team that will produce amazing software.

Debbie Madden

Debbie Madden

Founder & Chairwoman

No items found.
green diamond