Microservice architecture, implemented by combining various services made up of independent components. Hopes are high for it to serve as a highly effective architecture that can make IT service and business system adaptable to changes in environments. However, at the same time, there are also concerns regarding potential issues such as the difficulties involved in increased individual component overhead or in predicting the impact of failures.
In order to accelerate digital transformation (DX), Toshiba Digital Solutions uses this microservice architecture in Toshiba's IoT* "SPINEX" as well as making SPINEX a common platform for implementing IT modernization. We have explored methods for applying it to new social and industrial IT services and to existing systems, and have carried out extensive verification. In this issue, we introduce the true value and potential of microservice architecture, as well as examining its benefits through the actual SPINEX use examples.
* IoT: Internet of Things
Microservice architecture is a combination of small services (functions), and it is the polar opposite of conventional monolithic architecture, which packs all functions into a single application (Fig. 1).
Each service is implemented as an independent component, offering the advantage of making it possible to make changes and expansion in units of individual services. For example, if a heavy load is placed on a particular function and it results in delays, monolithic systems would require the entire application to be scaled out, which would affect all functions. However, with microservice architecture, it is possible to scale out only the microservice which causes an error, making the process efficient and eliminating waste. Microservice architecture, which can be used to change or expand services at the individual service level, is highly responsive to market needs and changes in business environments. It is a vital key to lead DX successful.
To achieve DX, it is essential not only to create new IT services that use the latest digital technologies, but also to improve systems by making them more responsive to changes. We accomplish this by using our many years of experience with carrying out IT modernization for existing systems, rebuilding environments, connecting with public clouds and Software as a Service (SaaS) which are highly suited for adding new functions, and utilizing containers.
Toshiba Digital Solutions organizes IT modernization along the two axes, infrastructure modernization and application modernization, to offer another choice, "stepwise modernization*," which gradually increases the value provided by a system. When modernizing application, instead of switching all at once from monolithic applications to microservices, stepwise modernization gradually transitions, starting with the services that can most benefit from the microservice approach, eventually fully migrating to a microservice architecture. The goal is to revamp systems effectively, without stopping operations, based on customers' operation issues.
* Stepwise modernization is introduced in detail in #02.
Microservice architecture is exceptionally responsive to changes in social and business environments, but there are worries about the additional complexity of components, the additional overhead they require, and the increase in potential failure points. What kind of impact will be caused by calling finely segmented and distributed services against overall system performance and failure range? What effects will changes to individual services have on the system as a whole? These issues must be taken into consideration, and performance, operation and management risks must be eliminated when applying microservice architecture. This requires extensive experience and knowledge regarding application.
Toshiba Digital Solutions has deployed microservice architecture, which is still a rarity in corporate systems, mainly in our own systems, and is steadily building up a track record in this area. We hired microservice architecture as a component technology in Toshiba's IoT "SPINEX".
SPINEX offers a wealth of functions and services for achieving DX using the IoT. These interlink digital twins, which replicate field environments digitally, accurately and in real-time, and other advanced digital technologies such as edge computing, our communication AI* "RECAIUS", and the analytics AI "SATLYS". They help accurately monitor the status of things (devices), rapidly detect signs of imminent irregularities or failures, rectify these problems, support interaction with people, and create new services.
* AI: Artificial Intelligence
The standard applications that make up the core SPINEX components, to support management and visualization of devices, and the like, must meet the four strict requirements, ease of modification, speed, scalability and availability.
The first requirement is ease of modification. For the Toshiba Group to expand services using SPINEX, it is essential that it be easy to extend and modify the functions of standard applications themselves. The ability to customize these standard applications, so that they can flexibly support the varied requirements and environments of customers, is also essential.
Next are speed and scalability. The new value provided to customers may not always be clear in the initial stage of DX implementation. Value often becomes apparent during the process of repeated collection, analysis and verification of actual device data. It is therefore essential that it be possible to release systems while speedily implementing the process that begins with data collection and ends with verification. This also means that it is essential that the approach used offer scalability, gradually expanding the system's application scope while confirming the results it produces.
The last requirement is availability. Creating systems that operate stably 24 hours a day, 365 days a year, is essential when connecting various devices and providing IoT services with numerous users.
We have determined that microservice architecture is the best approach for ensuring that standard applications meet these four requirements. We applied this architecture to SPINEX through agile development*.
* Agile development is introduced in detail in #04.
In applying microservice architecture to SPINEX, one issue we faced was that segmenting microservices too finely would make SPINEX's structure too complex, but segmenting them too broadly would negatively impact the ease of modification and scalability. When determining the granularity of microservices, it is important to build up experience and accumulate know-how instead of making decisions based on general quantitative guidelines.
We defined two categories of microservices based on a system user's perspective: functions that remain unchanged for long periods of time and functions that are frequently modified. We also divided them into two categories: microservices that provide functions and microservices that provide operation scenarios. Access to standard applications located in the cloud are first collected in the latter category named "UI services." Microservices of the former category are then called. This minimizes communications overhead and system performance impact. By applying microservice architecture with such inventive approach, SPINEX is able to meet the high level requirements of ease of modification, speed, scalability and availability. Through our verification tests, we also demonstrated that new services and screens could be added to systems without stopping existing UI services or microservices (Fig. 2).
Our experience in successfully applying microservice architecture with SPINEX, which provides a full range of advanced digital technologies for achieving DX, has provided us with tremendous confidence. Our Systems Engineering and Technology Center is turning this experience and various successes with SPINEX , through systematizing expertise and methods, into codified knowledge in the form of guidelines and promoting the use of these guidelines within Toshiba. We have also developed a framework that organizes the component elements of microservice architecture. This framework provides the functions necessary for microservice architecture made up of multiple services, such as functions for managing the addition and modification of services, functions for monitoring the status of services, and functions for identifying problem services.
We use these guidelines and framework inside Toshiba as our "CommonStyle*" common platform. It is currently used by numerous technical staff.
* CommonStyle is introduced in detail in #01.
This makes it possible for our advanced digital technologies, such as microservice architecture, and the expertise required to use these technologies, to contribute to customer DX through IT modernization, not only in the form of the use of new IoT services, but for legacy systems as well.
We will continue to develop new technologies through a process of implementation and testing.
* The corporate names, organization names, job titles and other names and titles appearing in this article are those as of February 2019.