The Azure SaaS Development Kit (ASDK) provide a cloud native starting point build with security, resilience and reliability in mind. Accelerate your SaaS journey with the Azure SaaS Development Kit.
- Git fork this repo, making it your own.
- Follow the Quick Start to see ASDK in motion.
- Start building and learning, guided by the code and documentation provided.
If you run into any challenges or have questions, please use Discussions and/or open an issue on this repo. Oh, and don't forget to give the repo a star ⭐ if you like what you see. Thank you.
The Azure SaaS Development Kit (ASDK) is a solid starting point for building cloud-native Software as a Service (SaaS) solutions, offering a reference architecture based on best practices and design patterns as outlined in the Azure Architecture Center: Architecting multitenant solutions on Azure - Azure Architecture Center | Microsoft Learn
The ASDK has been created specifically for developers and architects building platforms and solutions for start-ups, ISVs, and enterprises. It can be used as a starting point if you are a start-up, as well as a reference architecture if you are migrating or refactoring an existing solution.
The main focus of the ASDK is on the creation of a solid Control Plane for your SaaS solution. A Control Plane is crucial for a SaaS architecture because it manages and orchestrates the infrastructure, services, and resources, enabling seamless scaling, monitoring, and automation of the underlying components, which ultimately helps to ensure optimal performance and reliability of the SaaS application. The ASDK provides essential capabilities in the areas of:
- Identity - including sign-in with an existing identity such as a social account.
- Permissions
- Tenant management
- User Management
- Onboarding
- Observability
- Configuration management
- Scalability
- CI/CD
- ...and more
For more information, including the Quick Start guide for deploying a running version of the ASDK, please refer to the ASDK Documentation.
- Identity Foundation Services - The core deployment and configuration of the infrastructure and services for the ASDK.
- Admin Service - Primary services administrating Tenant info and providing relevant information to frontend applications
- Permissions Service - Service utilized by the Admin services to determine authorization by providing permissions claims to the identity provider.
- Signup Application Web - MVC web application for new Tenant signup
- SaaS Application Web - Razor application providing the SaaS service to registered tenants
For each of the modules, documentation and deployment details are provided.
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repositories using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.
The Azure SaaS Development Kit is licensed under the MIT license. See the LICENSE file for more details.