Enterprises nowadays struggle with their IT core source system being too siloed and heterogeneous, lacking real system integration and service-oriented architecture-based operation, hence not any more effective. As a result – and a real disadvantage – core systems could get really complicated to be versioned, upgraded (both technical and functional-wise), not to mention the sub-optimal scalability of such systems as well as the relatively high TCO level of support and maintenance. These characteristics are typical symptoms of an outdated N-tier architecture that cannot be maintained or developed in an efficient way.
It recently became a common phenomenon among key market players to initiate consolidation projects in the lighthouse of digital transformation with the primary objective to modernize/harmonize their core source back-end and/or front-end systems. These systems are really legacy ones, their operations are inefficient and not any more state of the art that even next generation Front-end applications cannot hinder the weakness and operational inefficiency of underlying back-end application landscape.
To be able to overcome this challenge, Grape Solutions Plc. recommends the so-called Microservices architecture so that back-end operation should not any more mean a bottleneck to the effectiveness and efficiency of front-end channels.
Based on Microservices application architecture, a horizontally and vertically scalable, parallel services-based, highly available self-healing system can be built, that divides the internal business and technology processes into discrete (service) units that represents wing-to-wing functionality in themselves. As a result, application landscape can be splitted into easily maintainable parts that enable Enterprises to integrate these parts into legacy architecture in a much more effective way. Based on Microservices architecture, existing, performance/transaction-wise overloaded applications (eg. Enterprise middleware systems enterprise service buses, legacy core systems) can also be easily implemented, but also challenges put on the horizon in the frame of digital transformation can be solved with Microservices. Such application could be eg. a real-time decision engine, and end-to-end risk assessment/scoring/rating system or even adherence towards regulatory compliance challenges (eg. PSD2 coverage for Banking or Solvency II for prudent Insurance operations) can be addressed.
Microservices architecture helps its users via containerization the fast and automated provision and rollback of the system.
Key characteristics, advantages and benefits of Microservices architecture:
- Proposed architecture is based on widely accepted industrial planning standards and frameworks, and is able to be operated both from local, hypervisor-based environment and public cloud (Microsoft Azure) environments, certainly depending on the level of sensitivity of underlying transactional data
- Parallel operation principle: each service requests/calls can be executed in a parallel manner via multiple independent instances, which is the basis of horizontal scalability
- Each services are planned and implemented in a way that functionality shows the least level of overlapping. This planning pattern ensures that each service request/call ca be run/executed without any limitation, bypassing the blocking factors in case of transactional peaks (Separation of Concerns principle)
- During the planning phase, each modules take care of accurately defined task and tasks are run separately. This pattern’s aim is to minimalize the potential regression concerning system development and maintenance, making Continous Development, Integration and Delivery processes more closed and streamlined (Single Responsibility principle)
- A Microsoft Azure’s Service Fabric public cloud service-based component ensures the distributed installation, operation, scalability and zero-fail tolerance of applications based on Microservices architecture; based on the streamlining and unification of such tasks, Service Fabric makes the entire software lifecycle management far easier and more straight-forward, decreasing the time and underlying human resource utilized for each development cycles.
- MS Azure Service Fabric’s key strength is that it monitors the traffic/peak of each component within the application and automatically scales up/out each services where peak overload can be recognized.
- Service-level-based scalability ensures that system uses available resources in an optimized way.
- In case of hectic and heterogeneous transactional load, system provides container-basedresource provision, horizontal scalability, extreme high availability and failure-proof operation
Grapes posseses a „monolythic 2 microservices” process methodology approach that drives Customer thorugh the following steps:
- Analysis phase aiming at identifying critical functionality
- Microservces architecture planning (required services and integration)
- Development and testing phase
- Phased implementation approach (temporary co-existence with legacy)
- Validation and analysis (measuring back efficiency enhancement)
- Going live
The microservices architecture demands – based on Grape’s project experience – the following methodological transformation and internal governance cultural shift:
- DevOps-based approach, agile cooperation betwee IT dev and IT ops
- Establishment of Continuous integration, continuous testing) and continuous delivery pipeline
- Gradual, phased transition to more sustainable open source technologies in every architectural layer
- Utilizing public cloud services for runtime/dev. environment
Grape Plc. identified and sees the following use case scenarios for transforming the architecture:
- Evolutionary development needs:
- Applications that lived multiple releases and reached their operational optimum
- Elastic middleware systems aiming at easing the burden of Legacy systems
- Intensive and heterogeneous workloads:
- Ever changing, high-peak overload-based systems (ecommerce sites, other core that are under heavy workload)
- Extreme flexibility:
- 99%-based High Availability mission critical core apllications
- Mixed user-based systems that are being versioned frequently (eg. External enterprise portals)