Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages
Filter by Categories
Investor blog
Blog

Choose your region

Selecting a region changes the language and/or content on Nortal.com

Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages
Filter by Categories
Investor blog
Blog

Six principles for building a modern ecosystem

Jarkko Enden, Partner, Head of Technology at Nortal, February 5, 2020

The era of monoliths is coming to an end, and companies are redesigning their architecture to be more heterogeneous. System architecture based on heterogeneous modern technologies and ecosystem thinking brings about clear business benefits, but they also add to the complexity of the architecture. Without a clear vision or proper tools, innovation can become a torso or, at worst, lead to more difficult problems to solve.

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.

API architecture

An API architecture containing a Domain API layer. The Experience API Layer leverages the Domain API layer and provides optimized background services and APIs for user interfaces – and in some cases for other applications.

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.