Optimizing a Cloud-Native Analytical Platform for Healthcare
Description
Brief results of the collaboration:
- A provider of healthcare solutions turned to Altoros to improve performance of its analytical platform and enable scalability.
- As a result, the time spent on analysis of medical data—collected from 200,000 sensors—was cut down from hours to seconds.
- Relying on the Cloud Foundry PaaS, the customer accelerated development and minimized efforts spent on infrastructure support.
- In the next 1.5 years, it is expected that 1,500,000–2,000,000 patients and medical stuff worldwide will use the platform on a daily basis.
The customer
The company is a California-based provider of innovative solutions for healthcare—distributed globally. The customer focuses on creating products for elderly managed care, chronic disease care, hospital discharge care, consumer health, and telemedicine.
The need
The customer was developing a cloud-based platform that would aggregate and analyze patient data gathered by its health scanner. The delivered solution aimed at simplifying the process of provisional diagnostics and therapy assignment using a mobile phone.
After some time, the company faced performance bottlenecks. The platform did not process the captured patient data within 5–10 seconds; the developers were not sure about how scalable the platform is.
The customer was under a tight deadline, so it turned to Altoros to find bottlenecks, ensure scalability, and accelerate time to market.
The challenge
In the course of the project, the following challenges were identified:
- The system should be scalable enough to process huge amounts of data—collected from 200,000+ sensors.
- All of the sensitive data should be properly secured.
- Since the recommendations provided by the platform may affect health of patients, it should operate faultlessly and be highly available.
- The product should be flexible for future updates—i.e. easily maintained
The solution
To identify scalability issues, the Altoros team delivered a testing framework, generating a load. It discovered that the customer’s analytical engine— written in the R language—was executing only one task at a time on an Apache Spark node (even with multi-CPU cores). At the peak load of 10,000 data packets (200 KB each), it took ~12 hrs to analyze all the data. Engineers at Altoros optimized the analytical engine, enabling it to scale properly.
By optimizing the DB structure, data model, and CQL statements—with the Cassandra object-mapping API framework—our developers improved response times for requests and simplified addition of new DB features.
To enable easy maintenance, experts at Altoros also suggested splitting the monolithic architecture into the microservices model. Our team applied the 12-factor app approach, ensuring independency from IaaS and simplifying deployment. For creation of microservices, Altoros suggested the Cloud Foundry PaaS. It ensured the necessary level of abstraction and brought in load balancing, dynamic routing, scaling, health monitoring, etc.
Experts at Altoros also compiled a set of recommendations for the platform to be HIPAA-compliant.
The outcome
Partnering with Altoros, the customer delivered a cloud-native microservicesbased platform that analyzes thousands of health data packets within 5–10 seconds. By employing Cloud Foundry, the customer reduced time to market by accelerating the development process: pushing new releases now take minutes instead of hours.
In Q3 2016, the platform was launched to analyze data gathered from 200,000 of smart sensors. In the next 1.5 years, it is expected that the number of platform users will grow to 1,500,000–2,000,000 patients and medical stuff.
Server platform
Cloud Foundry
Infrastructures
OpenStack, AWS
Programming languages
Java, JavaScript, R
Technologies
Node.js, Apache Spark, Artillery, Kafka
Database
Apache Cassandra (DataStax Enterprise)