Background
SPK was contacted by a software company that provides healthcare cost optimization through a web platform. Their mission is to provide customers with a method to reduce spending while maintaining quality healthcare for their employees. With an expanding number of choices of health providers, plans, and costs, the average company needs to invest a significant amount of time and energy in order to understand these options. They must decide on both provider and plan to meet the increasingly diverse healthcare requirements of their workforce. This application gives growing businesses a data-driven benefits platform to make the best plan decisions.
Challenges
- Deployment time would increase due to complexity of multiple environments and a single person manually handling the releases
- Specialized requirements would increase as new customers with diverse needs signed up
- The code base was growing quickly. This increased development complexity where changing one line of code would increasingly impact other areas
- The AI engine would need more compute power to support the growing customer population
- Backups of sensitive data needed to happen reliably without impact to production
- New HIPAA requirements were identified requiring higher security
The Engagement
The company reached out to SPK to help create a DevOps process and Production Cloud architecture which could address these pain points. SPK’s years of experience with Cloud technology, engineering, and compliance regulations were well suited to help solve their specific needs.
Saved 8 hours/week
Increase releases by 400%
Quick rollbacks
Step 1: Set up a private Docker repository. Due to the sensitive nature of the application and the data, the public Docker Hub could not be used in Production. Jenkins was then incorporated so that once a build completed, a new Docker image would be pushed automatically to the private repository.
Step 2: Address HIPAA compliance requirements. HIPAA states that data must be encrypted at rest as well as in transit. In addition, servers could not be shared with the general public. Think of Heartbleed, whereby an attack could leak memory contents from the server. SPK addressed this by moving instances to dedicated resources on AWS. In addition, internal connections were also moved to SSL, and encrypted storage volumes were implemented.
Step 3: Increase database reliability. SPK tackled this issue by leveraging Postgres streaming replication. In addition, backups became more robust, and were sent to S3 for retention.
Step 4: Implement monitoring. This was a crucial step. With the application in production, there was no visibility when something broke. By implementing Nagios, SPK provided that much needed visibility into the environment.
Disk usage issues, database issues, crashed machines, etc. would alert the Operations team before the customers experienced a problem.
Step 5: Tighten security. This required a multipronged approach. Security groups needed a narrower scope. Operating system services needed to be pared down. Passwords needed to be updated. SSH keys needed cleansing. There is no comprehensive list – security is an ongoing, iterative process.
The Results
- Full automation of builds in Jenkins.
- Upon successful compilation, builds are automatically sent to a Docker repository, saving the company 8 hours per week, and allowing them to increase releases by 400%.
- Replacing a server environment would take minutes instead of hours.
- DEV, TEST, QA, and PROD are updated to a new release with a single command
- A fully redundant Production environment on a cloud infrastructure.
- A Docker registry of all objects on a S3 data store. This allows both rollback and roll forward of releases with a single command. It also ensures no releases are lost.
- Overall, a more robust, secure operating environment that saves the company time, so that they can focus on their core strength – their product.
Get a no-obligation initial assessment
Whether you’re trying to solve technical problems, implement new technology tools and strategies, or improve efficiency, SPK and Associates can be a key part of your strategy. We can provide a free, no-obligation initial assessment on almost any technology or engineering situation.
Contact us today at (888) 310-4540 or info@spkaa.com.