You can get it for your next microservice system to take advantage of the pre-built base solution and distilled experience.
In the following conditions, you may consider to build a microservice system:
If your domain is too complex to develop and maintain in a single monolith codebase.
If your business domain is possible to split into sub-domains.
If you have multiple teams that will work on the solution in parallel.
If you need to develop, test,deploy and scale services independently.
If you need to use multiple technology stacks so, some services can be built with .NET, and others can be built with Java, Python, etc...
If you need to serve too many users concurrently with a high available and fault tolerant system.
If you have DevOps knowledge and culture in your company. If you can deal with complex development, build, test, deployment and production environments.
Start your microservice journey with confidence. Our comprehensive getting started guide covers everything from initial setup to your first deployment, ensuring you build on a solid foundation.
Document LinkLearn microservice development by building something real. This tutorial guides you through creating a complete web application, from initial architecture decisions to production-ready deployment, with practical examples you can actually use.
Document LinkUnderstand the blueprint of successful microservice applications. This guide reveals the architectural decisions, folder structures, and organizational patterns using ABP Studio.
Document LinkThe solution is already integrated into the industry-standard tools and technologies, while you can always change them and integrate to your favorite tools.
We love different ways to create the UI. This startup solution provides three UI framework options for your business application.
The solution contains two web applications, each one has a dedicated API gateway (BFF - Backend For Frontend pattern).
The actual web application of your system, with multiple UI framework options. You can create any kind of business application.
A generic landing/public website that can be used for several purposes, like introducing your company, selling your products, etc.
The solution has an authentication server application that is used by the other applications as a single sign-on server with the API access management features. It is based on the Openiddict implementation.
The solution has been fully configured to support multi-tenant systems. It allows the tenants to share or have their own databases with on-the-fly database creation and migration system.
The microservice solution template includes Helm charts for each microservice, API gateway, application, and infrastructure (Redis, RabbitMQ, etc.). You can use these charts to deploy the solution to a Kubernetes cluster.
See Technical DocumentAutomated tests are essential in any serious software product. The startup solution template has the following libraries already installed and configured for you:
While you are free to replace them with your favorite tools, the startup solution template is ready to author your test code.
See Technical DocumentReady to master microservice architecture specifically for .NET developers? Learn the patterns, pitfalls, and best practices that separate successful microservices from failed attempts.
This comprehensive guide covers everything from service design to deployment strategies, showing you how ABP simplifies the complex world of distributed systems.
The Microservice Solution Template is fully configured for authentication. All the services and applications are configured to use the OpenIddict library for authentication. They are configured in a common way for authentication. This document explains that common authentication structure.
The solution has an authentication server (auth-server) application to provide the token generation, validation and account (login, register, etc) pages. It uses the account module. The account module also provides the social logins (Google, Facebook, etc.) feature. You can enable/disable and configure the social logins from the application UI.
See Technical DocumentIn a distributed system it is important to monitor the health of the system and the services. Monitoring helps to detect issues before they become problems and helps to understand the system's behavior. All the services, applications and gateways are configured to use the Prometheus and Grafana libraries for monitoring. They are configured in a common way for monitoring. The document explains that common monitoring structure.
See Technical DocumentThe ABP Studio Microservice Solution Template is fully configured for logging. All the services, applications and gateways are configured to use the Serilog library for structured logging. They are configured in a common way for logging. The document explains that common logging structure.
See Technical DocumentAll the following libraries and services are pre-installed and configured for both of development and production environments. After creating your solution, you can change to remove most of them.
All of the pre-built application modules are microservice compatible and the core framework fully supports and simplifies distributed application development.
See All ModulesThe ABP Studio microservice solution template comes with an optional mobile application that is completely integrated to the solution. There are two options for the mobile application:
MAUI: Cross-platform mobile applications with .NET MAUI (Multi-platform App UI). You can create MAUI projects with ABP Studio.
React Native: Cross-platform mobile applications that share code between iOS and Android platforms. You can create React Native projects with ABP Studio.
See Technical DocumentThe LeptonX theme is pre-configured for the solution. You can select one of the color palettes (System, Light, or Dark) as default, while the end-user dynamically change it on the fly.
The transactional outbox pattern is used to publishing distributed events within the same transaction that manipulates the application's database. When you enable outbox, distributed events are saved into the database inside the same transaction with your data changes, then sent to the actual message broker by a separate background worker with a re-try system. In this way, it ensures the consistency between your database state and the published events.
The transactional inbox pattern, on the other hand, saves incoming events into database first. Then (in a background worker) executes the event handler in a transactional manner and removes the event from the inbox queue in the same transaction. It ensures that the event is only executed one time by keeping the processed messages for a while and discarding the duplicate events received from the message broker.
This screen allows you to include extra microservices in your ABP solution during the creation process. This feature lets you extend your solution with business-specific services right from the start.
ABP Suite allows you to easily create CRUD pages. You just need to define your entity and its properties and let the rest go to ABP Suite for you!
Learn MoreThe document explains the database configuration and migration structure that is designed and implemented in the ABP Studio Microservice solution template.
See Technical Document