Case Study:

Cotiviti Adopts AWS PaaS for Flexible, Scalable and Cost-Efficient Cloud Usage

SHI architects replicate customer infrastructure to enhance automation process, reduce cloud spend and ease DevOps workflow.

Highlights:

Customer Profile

Cotiviti – a health care analytics company – leverages unparalleled clinical and financial datasets to deliver deep insight into the performance of the health care system.

Challenge

The customer needed to cut cloud spend, efficiently manage their fleet, reclaim time lost in maintenance, and focus on customer-facing activity. They also wanted to remediate their CI/CD solution to ease their DevOps workflow. 

Solution

ITAM and Licensing

SHI architects replicated the customer’s infrastructure, configuration and deployment process into a repeatable, codified pipeline – resulting in reduced costs, and reclaimed time spent on maintenance and manual configuration by utilizing AWS native services.

Partners

AWS Confluent Jenkins Jenkins

Benefits/Results

  • Reduced administration through PaaS services
  • Reduced manual configuration through repeatable, codified, continuous deployments
  • Cost savings through adoption of cloud native services

Challenge:

Cotiviti – a health care analytics company – helps clients improve their financial and quality performance. With an upcoming DC/OS contract expiration fast approaching and a gross oversizing of compute resources, the customer needed to reduce their cloud spend while also moving away from server administration and capitalizing on managed services.

Cotiviti had a DC/OS-hosted Confluent Kafka implementation running Kafka Connect, Kafka Brokers, Kafka Zookeeper and Kafka engine. The version of Kafka was deprecated and had reached end of life in 2017. They used it for stream sets from their Oracle databases that were hosted on-premises to take SQL queries and translate them into PostgreSQL, MongoDB, and Atlas (hosted MongoDB). Their Kafka Broker and Connect configuration would translate the SQL queries from Oracle to the application databases running in the Cloud DB platforms, to return application state data using the Kafka Connect and Kafka Schema Registries and create topics to stream the output across the message queues to the applications. This required a replatform of the Kafka solution, Kafka Connect and the Kafka Schema Registry.

Cotiviti needed a partner that had experience in the container space and could transform their architecture to take advantage of their existing AWS services. The customer tasked SHI with building out a solution that would save money, reduce administrative effort, modernize their architecture, and automate their deployment process.

Solution:

SHI’s architects designed and implemented a solution to codify and parametrize the proposed architecture and resultant deployments. SHI rearchitected the existing solution to take advantage of AWS native services, offering a more efficient use of resources. This strategy eliminated the need of third-party licensing and helped reduce the customer’s cloud spend. The adoption of native PaaS services allowed them to focus on customer-facing activities in lieu of server administration. SHI empowered the customer through SHI-led, paired working sessions, assisting with:

  • Replatforming and rearchitecting to AWS native offerings
  • Elimination of DC/OS licensing and support costs
  • Ensuring consistent idempotent deployments through CI/CD pipelines
  • Reduction of manual intervention through Infrastructure as Code (IaC) and Configuration as Code (CaC) implementation

SHI worked with the customer in paired sessions and initiated the engagement by spending a week onsite. During this meeting, SHI architects conducted data collection and interviews with key stakeholders and contributors to the solution which helped SHI architects devise and present a cohesive solution that enabled the customer’s personnel, and embodied their workflow, regulatory requirements, and overarching, multi-cloud strategy.

SHI reduced the customer’s overall spend by replatforming their existing DC/OS implementation to EKS on Fargate, eliminating the need for ongoing, costly DC/OS licensing and support costs. This also allowed the customer to take advantage of managed resource allocation to utilize elasticity on a worker node level and account for periods of inactivity as opposed to their previous, fixed architecture.

To bridge the connection between existing data centers and the customer’s AWS environment, SHI integrated the new environments into the customer’s existing Transit Gateway implementation. The capabilities of the Transit Gateway allow for establishing connectivity through a managed hub and spoke architecture. This made production and non-production integration and cutover seamless.

To ease any pains of adoption, SHI deployed a Kubernetes dashboard to allow customer personnel to view metrics, state and inventory as they had before with DC/OS. SHI also took advantage of native logging offered within EKS on Fargate and pushed those logs to CloudWatch log groups, allowing for further troubleshooting in the event of issues.

To reduce defects caused by manual intervention and to ease remediation, SHI architected IaC and CaC and implemented them via CI/CD pipelines. The customer expressed that a previous team had utilized Terraform and Jenkinsfile. SHI produced new artifacts that adhered to the customer’s predefined, organizational standards in the form of Terraform scripts and Jenkinsfile. These files live within the customer’s version control system to allow for auditing and versioning. This affords a consistent, repeatable and automated deployment process free from the potential of human error. The utilization of IaC and CaC allowed SHI to rapidly prototype proof of concept environments and deployments to validate the proposed architecture.

SHI designed a solution using AWS’ Managed Kafka Streams (MSK), alleviating the performance issues around the older depreciated Kafka issues running on DC/OS. The solution allowed the customer to have a more scalable, performant, and highly available streaming engine for their database integration with their applications. The solution included a central Kafka Engine, running on an AWS backed broker and zookeeper configuration that can be stood up across multiple AZs, an updated schema and queue engine, which has proven to increase the overall availability and performance of their application. The solution also included the creation of containerized versions of both the Confluent Schema Registry and the Kafka Connect applications.

Benefits:

Adoption of AWS PaaS services allowed the customer to utilize the scale and elasticity of cloud resources with a turnkey experience. This allowed not only cost savings in the form of licensing and EC2 instance run time, but also a reduction of administrative overhead due to the managed nature of PaaS services.

Codifying their entire deployment process, including infrastructure as well as configuration, enabled the customer to be nimble in the cloud space and cemented best practices for a more mature DevOps practice. The solution is immediately more manageable as each deployment has a predictable output with each run. With the new deployment process, the customer’s entire application stack can be deployed into multiple environments, reusing the same parametrized scripts in a fraction of the previous time.

The solution allows for the entire configuration to be deployed in a highly portable, rapidly deployed application, using a newly created DevOps automation process. Added to the EKS, Terraform and Jenkins solutions, this ensured that the customer can deploy the entire application stack in a “single click,” using their automation processes and ensuring a repeatable, correctly configured implementation each time they need to rebuild, scale or replicate their environments.