How the combination of MicroProfile and Open Liberty provided Suva with the tools needed to develop a modern, cloud-native application architecture.
Suva has been insuring employees against accidents for 100 years and is a leading provider of health care coverage in Switzerland. They currently insure over 130,000 companies and over 2 million full-time employees.
“Overall, the combination of MicroProfile and Open Liberty provided us with the tools we needed to develop a modern, cloud-native application architecture in Java that is highly scalable, resilient, and easy to manage.” — Igor Berchtold, Product Owner, Shared Applications at Suva.
Challenges of the past
Looking back six years, Suva’s development and runtime environment was very different and relied heavily on a central Java Application Server. Although Suva used version control and modern development tools, they had limited responsibility for the application they designed, implemented and brought to production. Real operation was handled by a separate team, and they struggled to communicate with them when bugs invaded the application.
Change management—as the guardians of the holy grail—tried to support Suva as best they could, but ultimately, they decided when the application would be activated on the pre-production environment and when it would go to production. It was not an easy or enjoyable job, and the customers sometimes had to wait for days to see fixes.
Two years later, Suva decided to modernize and adopt leading edge technology and bring the agile world to life within the organization. This brought about some significant changes in the way they worked. The centerpiece of this new application development platform is an on-premises Kubernetes-based product (OpenShift) that allows teams to deploy their applications autonomously with full responsibility. However, teams had to be knowledgeable about the 12 factors for building cloud-ready applications. With the help of an agile framework that scaled up team productivity, work became enjoyable once again.
A significant transformation to the present
Over the past four years, Suva’s approach to software development has undergone a significant transformation. They migrated from a central, hosted application environment to a continuous integration and continuous deployment (CI/CD) pipeline, enabling teams to build, test and deploy their applications independently.
Each team now has a Jenkins build environment, deployed on OpenShift, with a set of configuration files and base images. The pipeline includes build, testing, image building and deployment preparation, which includes end-to-end integration testing using the Open Liberty cloud-native Java runtime. Once all tests are green, the final Docker image is produced, tagged with a version number and put into a Harbor registry. The product owner is now responsible for planning deployments, enabling greater autonomy for each team. Using Argo CD, each team can deploy their applications through different stages, including development, system testing, pre-production and production. Change management still plays a vital role in the audit process, but the relevant information is automatically collected through events Argo CD provides and is sent to a change management gateway that handles the audit process.
When Suva began the software architecture migration process, the first step was to replace their outdated framework. Suva wanted to use a microservices architecture for its benefits:
- Scalability: Microservices are designed to be highly scalable, with each service being developed and deployed independently. This allows individual services to be scaled up or down as needed to meet changing demands.
- Agility: Because each microservice is developed and deployed independently, changes can be made quickly and easily without affecting other services. This makes it easier to respond to changing requirements or customer needs.
- Resilience: With microservices, if one service fails, it doesn't bring down the entire system. Each service is designed to be self-contained and fault-tolerant, so failures are isolated and can be quickly resolved.
- Technology diversity: With microservices, different services can be built using different technologies if they all conform to the same set of standards for communication and integration. This allows developers to choose the best tool for the job, rather than being limited to a single technology stack.
- Organizational structure: Microservices can be a good fit for organizations that are structured around small, cross-functional teams. Each team can be responsible for one or more microservices, allowing for faster development and deployment cycles.
After careful consideration, Suva decided to adopt MicroProfile, a lightweight framework that was gaining popularity as a natural progression from the Java EE world.
“The next step was to identify a suitable runtime for MicroProfile-based services. After conducting a thorough market evaluation, we selected Open Liberty for deeper evaluation. We quickly discovered that Open Liberty was the right cloud-native Java runtime for our needs. It was modular, fas, and designed to run in a containerized environment, making it ideal for deployment on Kubernetes. In addition, Open Liberty was fully committed to supporting all the MicroProfile standards,” says Igor Berchtold from Suva.
Suva created some initial prototypes to test Open Liberty’s capabilities, and their confidence in this cloud-native Java runtime grew even more. “The modularity of Open Liberty allowed us to build and deploy only the features we needed, which made our applications more lightweight and agile,” says Berchtold.
With Open Liberty, the teams at Suva were able to take advantage of MicroProfile's features—such as fault tolerance, health checks and metrics—and develop a highly scalable and resilient application architecture.
Overall, the combination of MicroProfile and Open Liberty provided Suva with the tools needed to develop a modern, cloud-native application architecture that is highly scalable, resilient and easy to manage.
Utilizing MicroProfile features provided by Open Liberty
Suva migrated several applications from an older centralized platform to Open Liberty, which has proven to be an effective choice. One such application involves retrieving currency data from Bloomberg. This application not only provides REST services for currency queries, but also integrates with SAP backends using SOAP services. The REST services have been designed using OpenAPI, while the currency data is stored in a Postgres database using JPA.
Another application provides REST services to health insurance companies, allowing them to send 5% of their claim cases for statistical analysis. These claim cases are received in the form of PDF documents, which are processed by another microservice running on Open Liberty. With the help of this microservice, the PDF documents are assembled into a single file that includes relevant table content. The resulting documents are then securely stored in a Postgres database using advanced encryption technologies.
“To develop this application in a standardized way, we utilized various MicroProfile features provided by Open Liberty, including MicroProfile Config, MicroProfile Health, MicroProfile Metrics and MicroProfile REST Client. These features helped us to streamline our development process and ensure that the application is scalable, reliable, and easy to maintain,” says Berchtold.
Reason to use Open Liberty
The following are just a few of the benefits that Open Liberty provides
- Open source: Open Liberty is an open-source, cloud-native Java runtime, which means the source code is available for everyone to use, modify and contribute to.
- Lightweight: Open Liberty is designed to be lightweight and fast, with a small memory footprint and fast startup times. This makes it a good choice for microservices and cloud-native applications that require high performance and scalability.
- Standards-based: Open Liberty is built on open standards (such as Jakarta EE and MicroProfile), which ensures that your applications are portable and can run on any compliant server.
- Flexible: Open Liberty is highly configurable and can be used with a variety of deployment models, including traditional, cloud-native and hybrid environments.
- Support: Open Liberty is backed by IBM, which provides enterprise-level support and services to ensure the stability and reliability of the server.
- Updates: Over the past four years, Suva’s experience with updating Open Liberty has been very positive. Compared to our previous centralized application server, maintaining our application with the latest releases of Open Liberty has been significantly easier. The zero-migration architecture of Open Liberty allows applications to be updated to the latest releases without impact to your current applications and configurations.
Learn more and get started
Try out Open Liberty and Liberty as part of WebSphere Hybrid Edition to see if it's the right fit for you.
Follow IBM Cloud
Be the first to hear about news, product updates, and innovation from IBM Cloud.Email subscribeRSS