Case Studies / Synthesis helps Vitality re-architect for global scalability and agility

Vitality Group has built a massively flexible and scalable platform for its Vitality wellness solution using a microservices architecture. To improve the stability, speed of deployment and performance of the Vitality solution for customers—leading insurers across the globe—specialist software solution provider Synthesis has redesigned the underlying Kubernetes container orchestration platform on which the Vitality application is deployed.

Says Neil Adamson, CIO of the Discovery Vitality Group: “Vitality has a global client base with different needs that must comply with different regulations, so we cannot run a single instance of the Vitality app. We consequently have a number of cloud-based instances hosted in various geographical areas across the globe. A microservices architecture works well, enabling us to more easily adapt the solution for each customer. However, we were not achieving the performance we needed.

“Our manually-built Kubernetes environment—the underlying microservices platform which enables custom configuration, orchestration and deployment of Vitality microservices for our clients across regions—was not providing us with the stability or the uniformity we required. Nor was it allowing us to roll out the solution (a six-week journey), or apply changes to the solution as quickly as we would like.

“Synthesis proposed a fully automated ‘infrastructure as code’ approach to provisioning the infrastructure and deploying the relevant software applications. With its deep Amazon Web Services, DevOps and Kubernetes experience and skills, it has re-architected and redeployed the Vitality solution across eight global regions in just four months, helping us achieve huge service, quality and performance gains by making adaptation and deployment of the Vitality app an automated, repeatable and auditable process.

“In effect, it’s given us greater control and flexibility. And with Synthesis now monitoring, managing and continuously optimising the underlying Kubernetes platform, we can focus on doing what we most need to—adding value to our clients.”

What is Vitality?

The Vitality wellness platform helps insurers or insurance companies encourage the wellness of their members via three components: know your health, improve your health and get rewarded. These drivers are enabled through features such as online and real world health assessments, incentivising and measuring healthy behaviours through personal devices (fitness devices and trackers such as Fitbit, Garmin and Apple and Samsung watches), and by rewarding members when they reach goals or make healthy choices.

Vitality clients include AIA in Asia, Manulife in Canada, John Hancock in the US, Vitality Life and Health in the UK, Generali in Europe and Sumitomo in Japan. Hanover Re has also recently adopted Vitality to reach into smaller insurance markets such as Pakistan and Ecuador.

However, each client typically will need to adapt the features of the platform to achieve the best outcomes for its members.

Explains Adamson: “For Sumitomo in Japan, a single full stack instance of the platform provides the data privacy demanded by regulatory authorities. At the other end of the scale, we run a multi-tenanted environment in Frankfurt for a number of European and central Asian insurers. We thus have multiple runtimes.”

Challenge

“Our challenge was architecting the solution and rolling it out so that the local insurer in each of these geographies could make it their own—e.g., configure it to address locally relevant health issues, meet cultural norms or to work with specific devices or ecosystems services—and we could manage each instance of the application.

“While Vitality’s microservices architecture lends itself better to the DevOps approach, we realised that we needed deeper expertise to optimise the performance of our solution. DevOps is an easy word to say, it’s harder to do. We cannot drop the whole environment to deploy one service; we need to have continuous development and continuous integration and, above all, consistency and reliability.”

Synthesis has worked with microservices and containers in general since 2014, before even mature tools such as Kubernetes existed.

“A microservices approach makes sense if you need to customise a solution for different clients in different regions,” notes Tom Wells of Synthesis, “but the Kubernetes orchestration platform, while powerful, is not easy to use—it is large and difficult to manage and can easily become complex. It requires expertise built through experience.”

Vitality’s objectives were to ensure lockdown (across production and non-production environments), standardisation, stability and performance.

Solution

A highly specialised Synthesis team of four people worked closely with the Vitality team to rebuild the underlying Kubernetes container platforms for optimal performance and redeploy them. In just four months, the team rolled out multiple environments across Ireland, Frankfurt, Korea and Japan.

All architecture design decisions were made with Vitality’s key objectives in mind

  • Lockdown of the Kubernetes cluster is enabled through automation of the build process and auditability of the build scripts, in addition to role-based access control implemented on the cluster’s resources. This ensures no unauthorised person can apply changes to the configuration or deployments of the clusters.
  • Standardisation across all the clusters in production was achieved through automation and auditability of the build process.
  • Stability is achieved through keeping the architecture components as “vanilla” and fit for purpose as possible.
  • Performance is achieved through keeping the architecture simple and scaling components where required. Selecting the correct EC2 instances (Web services that provide secure, resizable compute capacity in the cloud) to match the workload is also important.

Results

Says Adamson: “The additional expertise, skills and capability Synthesis has contributed, and will continue to deliver through support and maintenance of our environment, has provided a huge uplift to the Vitality team. Their experience and capability have proven invaluable.

“We now have a standard implementation approach and methodology, and the implementation of the Vitality platform for our clients is faster and more predictable. In addition, our Vitality team resources are freed up to focus on valuable core app development services for our clients.

“To gear Vitality for the future, a microservices approach is important. With open standards and an open APIs we will be able to integrate with global partners and cutting edge technologies – allowing partners to connect to the platform and to create services for the platform. This project delivers the platform we need to grow.”

Says Wells: “This is, to my knowledge, one of the largest Amazon Web Services and Kubernetes deployments by a South African company. But the Vitality team is way ahead of many of its peers in the market.

“We are really pleased to have the opportunity to work with Vitality in this project—it is a pioneering example of what can be achieved with AWS, DevOps and Kubernetes.”

Twitter feed

  • Latest Tweets

    • On Friday we had a Tech Session on Test Driven Development (TDD). https://t.co/XcGEP3ecqj12 hours ago
    • RT @JaredNaude: Spoke at BSides in Cape Town about interesting security events over the past year and what we can learn from it. Looking fo…3 days ago