Presentation: Serverless meets SaaS: The Ultimate Match

Duration

Duration: 
1:40pm - 2:30pm

Level:

Persona:

Key Takeaways

  • Understand technical and business principles that are driving Serverless adoption.
  • Explore the natural alignment between the SaaS and Serverless models.
  • Gain insights into the architectural considerations and principles associated with Serverless development.

Abstract

In this session, we’ll dig into the architecture and design strategies associated with building and delivering SaaS solutions in a serverless model.

The emergence of serverless infrastructure and services represents a fundamental shift in how we approach application design, scale, and management. This is especially relevant in the world of SaaS where efficiency and responsive, dynamic scaling can be essential to the success of a SaaS business.

We’ll examine how serverless SaaS will touch every dimension of your environment, including DevOps, analytics, management & monitoring, and developer experience.

Interview

Question: 
QCon: What is your role today?
Answer: 

Tod: I am a partner solutions architect at AWS focused on SaaS. That essentially means that I work directly with AWS partners who are building and delivering SaaS solutions on AWS. My role is to provide insights on SaaS architecture patterns, solutions , frameworks and guide adoption of SaaS best practices on the AWS stack. That includes blogging, writing white papers, creating reference architectures, and building proof of concept solutions. I also speak at conferences and do anything I can to help the SaaS ecosystem.

Question: 
QCon: Can you explain your talk title to me?
Answer: 

Tod: I spend a lot of time working with teams that are designing and building SaaS solutions. These teams are always looking for new models for improving the uptime and agility of their applications. For some SaaS developers this created a shift toward microservices and container-based solutions. This ability to decompose their solutions into smaller units of work really fit nicely with the desire to manage fault tolerance and have much more granular control over scale.

So, just when it felt like containers would be the home for my microservices, I started seeing all of this interesting momentum developing in the serverless space. To me, this idea that I could not only have microservices, but that I could put responsibility for their scale completely to a managed service was very intriguing. The profile of the serverless model seems to fit nicely with the needs of SaaS environments.

With serverless, I see a range of advantages for SaaS providers. Scale and management get easier. Also, costs can go down. Imagine only paying for the actual execution of the code that a tenant runs. That’s very different that exposing a REST service and having it running perpetually--even some of its entry points are rarely accessed.

So, for me, I just see this very natural intersection between the needs of SaaS businesses and the basic tenets and capabilities of SaaS environments. I see opportunity here to truly match the load of your tenants with the profile of your infrastructure. This optimization seems as though it would have a fairly substantial impact on the operational and cost models of SaaS applications.

Question: 
QCon: What are you seeing as some of the emerging patterns for the application of adoption of serverless?
Answer: 

Tod: I think, in many respects, it’s still very early days for serverless developers. The tooling, frameworks, and patterns for building serverless feel like they are still emerging. I generally see two extremes when it comes to serverless adoption. On one end of the spectrum, I see developers that are leveraging serverless models as a sort of glue that addresses one-off needs of their solution. It’s a way to have dynamic, scalable functions attached to workflows or batch processes. Serverless provides a natural model for the ad-hoc execution of these targeted functions.

On the other end of the extreme is the idea of serverless as a model for building and running all the services of your application. It will serve as the the complete end-to-end execution environment for all of my system’s microservices. With this model, we’ll decompose a solution into small services that are scaled and managed for us. Making a shift to this model can be challenging for organizations. It often touches most dimensions of how their system is built, deployed, and managed in this model.

These are the two extremes I see. And, as you might expect, there’s also a great number of variations of this model where teams might selectively wander into a serverless model for bits of the applications without going all in. Ultimately, I could see a set of serverless patterns emerging that might better categorize the different flavors and models for leveraging serverless computing.

Question: 
QCon: If I go Serverless, does that mean the only way to go about it is with Lambda? Am I completely locked in with this approach with AWS?
Answer: 

Tod: No. Severless is is a concept that can be delivered on by multiple stacks and technologies. Each of these stacks put its own unique spin on building and running serverless environments. Lambda just happens to be the environment I live in every day. To me, I lean toward models that allow me to put more of the responsibility of scale and management on the execution environment. That’s a big part of the appeal and advantage of moving to a serverless model.

Question: 
QCon: How about continuous deployment, continuous integration? How hard is it to build a delivery pipeline and build your CI/CD’s around Serverless?
Answer: 

Tod: To me, the serverless model would be very difficult to implement without making a pretty strong commitment to build and deployment automation. I mean, CI/CD is essential to most environments, but it seems especially significant when you think about decomposing your application this fine-grained pool of independent functions.

I think this is an area that is getting plenty of attention now, likely out of pure necessity. I’m seeing products and frameworks show up here that are focused on simplifying the effort to manage, configure, build, and deploy the moving parts of serverless environments. In some cases, this is covered as part of a broader framework that is addressing both the programming model and some elements of CI/CD. I still see plenty of gaps here that need closing, but it seems like a natural opportunity for tooling and open source teams to jump in and fill the void.

Question: 
QCon: How would you describe the persona of the target audience of this talk?
Answer: 

Tod: It’s probably a hybrid of an architect and a developer. To me, serverless is a very different model that likely changes the way you think about building, managing, and deploying applications. My hope is that I can provide a bit more context and insight that will give developers a clearer picture of the forces and considerations that might shape their approach to serverless development.

Of course, while the content will be broadly applicable, the emphasis here will be on how serverless aligns with the needs of SaaS environments. So, if you’re building a SaaS solution and you’re weighing the merits of SaaS, then this should be especially relevant to you.

Question: 
QCon: What are your key takeaways for this talk? What are the actionable benefits that the audience is going to leave with, that they can go back to their shop and implement?
Answer: 

Tod: I think you are going to leave with a clear perspective on the tools, architectural considerations, and a general direction to consider if you are really looking and ready to dive into serverless development. I’m also hoping to give people an idea of how these concepts are directly applicable in SaaS environments.

Speaker: Tod Golding

Cloud Architect @AWSCloud

Tod Golding is a cloud applications architect who has spent the last five years immersed in cloud-optimized application design and architecture. He’s currently an architect at Amazon Web Services focused on SaaS application architecture, design, and delivery. Tod has over 20 years of experience as an architect and developer, including time at both startups and tech giants (AWS, eBay, Microsoft). In addition to speaking at technical conferences, Tod also authored Professional .NET Generics and was a columnist for Better Software Magazine.

Find Tod Golding at

.

Tracks

Monday Nov 7

Tuesday Nov 8

Wednesday Nov 9

Conference for Professional Software Developers