How, then, will the construction of the modern ecosystem remain under control?
In order to achieve and successfully execute the business benefits of the innovation, it is advisable to adhere to at least the following principles:
1. Choose the right products
Although microservices are the word of the day, not everything is worth building from scratch. Centrally manage product selections, favor products that offer high-quality interfaces, and avoid customizing products. Also, do not publish native product interfaces directly to the entire ecosystem. This allows you to get the most out of your products while seamlessly updating and replacing them.
2. Define business concepts and dependencies
Model your business logic using Domain-Driven Design principles. Focus on the core functions and their logic. Define functional areas and their concepts and dependencies. Continuous collaboration and communication between technical and business experts are also essential.
Once the business has been modelled using these principles, you are able to build the Domain API layer that provides the business services with a uniform concept, while concealing the complexity and genericity of the products below.
3. Build a microservice-based API architecture
Micro Services and APIs are a modern way to build applications and integration architecture. Martin Fowler has crystallized this idea into “ Smart endpoints and dumb pipes,“ which means concentrating business logic on separate (micro) services instead of a massive monolithic system or a traditional ESB solution.
So favor a lightweight API management solution, keep a reasonable amount of microservices, and expand the capabilities of ecosystem products. Use modern API technologies such as REST, WebSocket, gRPC, and MQTT, and provide consistent principles for API design.
The Domain API layer that results from business modeling consists of microservices that contain the majority of business logic and provide a consistent user experience for the ecosystem components (API design, error handling, authorization) that utilize the API layer. At the same time, dependence on the downstream products will be reduced, and Legacy systems will be gradually curtailed using the so-called Strangler Pattern.
4. Do not fear the cloud
Don’t be afraid of the cloud, but take full advantage of it. By using the major players‘ cloud platforms, you achieve the benefits of scalability, flexibility, productivity, and stability. These platforms also have a much higher ability to counter cyber attacks.
Using only laaS solutions provides limited benefits, so PaaS solutions provided by a platform partner are an integral part of the overall solution. Raising the abstraction level from IaaS to PaaS services, containers (Docker, Kubernetes) and serverless solutions, enables development teams and IT support to focus on building the future instead of maintaining servers.
5. High-quality DevOps carries the future
Microservices are virtually impossible to manage without high-quality DevOps and a high level of automation, which is why microservices and DevOps go hand in hand. Build DevOps pipelines carefully and create reusable models that can be utilized in many microservices. It is also good to be aware that incorporating test automation and security testing, DevSecOps, into DevOps offer significant benefits in life-cycle costs, although the implementation of these may initially increase costs slightly.
In addition, it is a good idea to build environment management with IaC (Infrastructure-as-Code) solutions and automate deployment of all resources, including API management, network solutions and other centralized resources. After that, backup solutions need to be built for business data only, since the environments and their configurations are stored in version control.
6. Build a proper hybrid cloud solution
Cloud transition is underway, but some services will be retained for long periods in local data centers. Take this into consideration and build a decent hybrid cloud solution instead of punching holes between the cloud and the on-premise in individual projects. Leading cloud platforms contain advanced tools and solutions for hybrid cloud building.