Managing Microservice Architectures with LeanIXMittwoch, 29. August 2018, 08:56 Uhr
Presenting Enterprise Architecture Management as solution of a dawning challenge
Microservices are the latest technology revolution which have impacted the enterprise world at its roots. Microservices, or to be more precise, the concept of a microservice architecture as addition or replacement of oversized and outrageous complex monolithic applications is used by Netflix. The video-on-demand giant uses a huge network of microservices to deliver its services to billions of households every day. But this leads to new challenges for management and for further development of the architecture in a guided manner.
Microservices make a change in grasping software architecture
Before we dive deeper into any arising challenges, first let’s discuss what a microservice is and how it differs from known monolithic applications. Therefore, we have to separate the term microservice into two parts. On the one hand, a microservice is a functional building block which supports only one specific business purpose. These building blocks are decoupled from any other application or microservice and only communicate with the outer world via an API. This fundamental concept comes with a handful of important advantages compared to known business applications. These building blocks are way easier to maintain and to further develop since the complexity of the building block itself is dramatically reduced. Only a small team of developers is necessary. They are able to implement their building block with their preferred programming language or technology. But on the other hand, microservices is a software architecture paradigm which will affect your organizational structure in the way new functionalities are developed and enrolled. To establish a microservice architecture you can’t only rely on new technologies, it is important to establish an organization capable of executing development, maintenance and support of a microservice architecture.
Rising complexity by microservice inflation?
By establishing a microservice architecture, organizations will be able to reduce complexity of a functional unit and leverage time from demand to running code extraordinarily. But as with everything in life, new solutions come with new challenges. There is no such thing as free lunch. The complexity of monolithic applications has not been magically vanished – rather it has been pushed out of the application onto the interface layer. Picture a huge microservice architecture with hundreds of services interchanging data forward and backward and immediately new question arise:
- How to overview this complexity?
- How is it possible to further develop this architecture in a guided manner?
- Which monolithic application shall be superseded by microservices?
- How to distinct between business critical and non-business critical microservices?
- How to know which technologies or licenses are used?
- Which microservice clusters form a single business application?
- How is the data processed and where does it flow to?
- Which microservices need enhanced protection mechanism according to governmental regulations and laws?
EAM: Concept plus LeanIX eats microservice landscape complexity
We like to introduce Enterprise Architecture Management (EAM) as a suitable solution for this new challenge. EAM is a systematic concept to design the IT landscape in compliance with business capabilities and processes as well as organization structure of your company. Business IT alignment is an important aspect in EAM and reflects the linkage of IT landscape and business level. This management concept has its roots in the nineties, but since then has been further developed and fitted to arising requirements and challenges. Furthermore, almost from the beginning EAM was accompanied by tools. LeanIX is one of the latest EA tools and not only offers the functionality to document microservices in an automatic manner, but also gives enterprise architects the power to analyze and view the architecture information from different ankles and perspectives (please see Figure 1).
LeanIX has recognized the emergent need for an appropriate solution to automate documentation of microservices. Therefore, they integrated Pivio in there EA solution. The main concept of Pivio is to keep all your service metadata information as name, owner, licenses or dependencies within the microservice artifact. Pivio is able to retrieve service information from the build information file (e. g. NPM, Maven). The service information are processed by LeanIX and mapped onto the LeanIX enterprise architecture data model (please see Figure 2).Figure 2: LeanIX uses Pivio for automatic microservice documentation
With the information available in LeanIX, it’s possible to answer a huge variety of architectural questions. To facilitate architecture analysis, LeanIX not only offers a good amount of visualization, but also interactive analysis by supporting a wide variety of filters and a highly flexible analysis model. This functionality assists with finding answers to the above-named question. For example, Data Flow Diagram presents a valuable insight into data flows and the technologies used or the data objects transferred (please see Figure 3).Figure 3: Data Flow Diagram
The Application Matrix shows the using business domains as well as the organization units or areas. The color indicates how well the service technology fits the business needs (please see Figure 4).Figure 4: Application Matrix
The Business Capability Matrix presents an overview of the business domains and services used. The color indicates the business criticality of a service (please see Figure 5). These are just a few examples for enterprise architecture visualization in LeanIX.Figure 5: Business Capability Matrix
Résumé: Don’t guess – give it a practice try!
Microservices are a rising technology that helps enterprises establishing a real agile business. It never has been so easy to get from a business demand to a working and running business service, but it also has never been easier to get lost in the jungle of dependencies and interdependencies between microservices. EAM and LeanIX are powerful instruments to overcome these challenges and to leverage advantages of a microservice architecture for your business. The LeanIX microservice module is currently in Beta status, but will be available to all LeanIX customers later in 2018. It would be a pleasure for us to show the advantages of LeanIX to you and how it empowers your enterprise architecture to document your microservices as integrated part of your DevOps process. It will enable your business to develop and design your microservice architecture in a guided future-proof manner.