Introducing the SaaS Enablement Framework for AWS Partners
By Tod Golding, Principal Partner Solutions Architect, SaaS at AWS
The software-as-a-service (SaaS) delivery model presents developers with a new landscape of technical, operational, and deployment considerations. Fully embracing the agility profile of SaaS often means re-thinking the fundamentals of how you approach your business.
This is further complicated by the fact that there is no single strategy for implementing SaaS solutions. The unique needs of customers, markets, and businesses will dictate the flavor of SaaS that best fits your environment.
To help navigate this landscape, we’ve created the SaaS Enablement Framework (SEF). This framework serves as an end-to-end aggregation of the common patterns and practices that are frequently used to build and deliver SaaS solutions on the AWS stack of services.
The framework touches on the common themes associated with adopting a more agile approach to delivering solutions in a subscription, pay-as-you go mindset.
It’s important to note that the framework is not a formal set of tools or technologies. It is intended to provide SaaS organizations with a clearer view of the common models and value systems that should be considered when delivering SaaS solutions on AWS.
The approach here is to provide general guidance that can be useful to those that are beginning to develop SaaS on AWS or existing SaaS providers that may be interested in revisiting their SaaS architecture options. Each ISV implementing SaaS will have unique needs and, as such, the aspects of the framework that you choose to focus on are likely to vary.
In this post, I will explore the core concepts that make up the SaaS Enablement Framework. The goal here is to simply outline the elements of the framework, providing a high level view of its scope and role in traversing the multitude options you should consider as you enter the world of SaaS.
Defining SaaS Best Practices
When discussing SaaS best practices with organizations, it’s often difficult to draw a hard line between what is a SaaS best practice and what is a general best practice. The reality is, many of the SaaS best practices are more of an overlay or extension of core best practices. The presence of multi-tenancy simply adds new dimensions and considerations to an already existing set of practices.
A common theme I see with SaaS architecture is that it often requires organizations to set a much higher bar for scale, availability, and agility. DevOps, for example, has a universal set of principles and values that are applicable to all environments.
Now, if you think about DevOps in a SaaS context, you’ll discover that the agility expectations for SaaS environments tend to be much higher than what you might find in other environments. Supporting continual, zero downtime deployments in a multi-tenant environment often requires a greater commitment to achieving true continuous delivery.
DevOps is just one of many areas that require their own SaaS perspective. The goal of the SaaS Enablement Framework is to tease out these nuances and provide guidance that can inform your mindset as you begin to establish the architectural tenets of your own solution.
Setting the Table
While most of the framework is devoted to SaaS best practices, the content also touches on some of the broader dynamics associated with delivering SaaS solutions on AWS. It highlights some of the key aspects of the natural alignment between needs of SaaS applications and the capabilities of the AWS environment.
The framework also touches on some of the key tenets that often influence the successful implementation of SaaS. It highlights opportunities to leverage AWS Partner Network (APN) Partner solutions to optimize your development efforts and focus your attention squarely on the core features and capabilities of your application.
These introductory sections also outline some of the goals of the framework. Chief amongst these is the acknowledgement that this collection of patterns and practices are meant to serve as a catalyst for future solution development and discovery.
The Building Blocks
The SaaS Enablement Framework is broken down into a series of distinct topics that must be given consideration when building, managing, and delivering a SaaS solution on AWS. The following is a list of these topics along with a brief description of the scope and goals associated with that topic.
SaaS solutions often support a variety of different mechanisms for accessing the SaaS environment. Access looks at each of the different types of users and roles that must be supported when authenticating and authorizing users. It also encompasses the basic elements of on-boarding new users, managing their accounts, and provisioning the billing footprint.
Build is likely the broadest topic covered by the framework. It digs into the architecture patterns and strategies that are commonly used to construct multi-tenant applications on AWS. This includes coverage of the fundamentals of SaaS application design, tenant partitioning, data partitioning and deployment. As you can imagine, AWS provides a number of different permutations for how to address each of these topics.
Adopting SaaS has a significant impact on the operational profile of an organization. This section of the framework examines the influence of SaaS on the management and monitoring profile of organizations. It looks at the need to have both multi- and single-tenant views of system activity along with robust policies that can detect and proactively react to events.
Profiling is all about gathering and correlating data that can inform the business and technical shape of your SaaS offering. The framework outlines the different types of data that can be collected to build a robust view of the activity on your system. This profile typically includes the aggregation of user activity and resource consumption data.
SaaS providers should be continually looking for opportunities to enhance their solutions. The framework outlines the common areas where optimization is frequently applied to SaaS environments on AWS. This includes a review of strategies that are often used to optimize the cost and tenant experience of your application.
While much of the framework is devoted to general-purpose SaaS architecture patterns, it also looks at common strategies for migrating an application from a single-tenant model to multi-tenant SaaS.
The goal here is to identify a set of common migration themes that are leveraged to incrementally move existing solutions to a multi-tenant model. The framework also touches on the organizational and operational dimensions of transforming SaaS environments.
The final piece of the framework touches briefly on some of tools and resources that the APN makes available to SaaS partners to assist with launching and marketing their solutions.
A Starting Point
The SaaS Enablement Framework covers a fairly broad set of SaaS topics. It provides teams that are exploring SaaS with a starting point for assessing their options and determining how AWS services can be used to realize their SaaS objectives.
At this stage, I see it as shaping and framing a deeper discussion of the various models that can be leveraged to meet the SaaS agility goals of your business.
It’s important to note that the framework represents a range of SaaS possibilities. It intentionally avoids suggesting that there is one preferred model.
The reality of SaaS is that there is not one model that fits every environment. The key, then, is to simply assemble the palette of options, weigh the tradeoffs, and select the model (or hybrid of models) that best suits the current and long-term needs of your market and business dynamics.
The SaaS Enablement Framework is an exclusive resource for APN Partners.
Do you want to learn more about building SaaS on AWS? Don’t miss our latest blog posts: