The goal is to improve the availability of Physitrack’s services across all of its global service regions, reducing costs, and making it easier to manage workloads.
Worldwide, millions of patients were already using Physitrack for online physical therapy and exercise support when the COVID-19 pandemic hit, fueling a large and global demand for remote and virtual services. Recognizing that it needed a more agile and scalable IT infrastructure, Physitrack asked AWS Partner Chaos Gears for support.
Founded in 2012 and based in London, Physitrack provides telehealth services to more than 80,000 healthcare practitioners looking for better ways to engage with their patients. Its user base doubled from 2020 to 2021, and healthcare practitioners worldwide currently use Physitrack, with more than three million patients per year. Chaos Gears, headquartered in Warsaw, had already worked with Physitrack on previous IT projects. It had helped the remote patient engagement provider to migrate to a multi-account environment on AWS and also provides ongoing 24/7 support for Physitrack’s development team.
“We’ve been customers of Chaos Gears now for about three years and we’re very happy with them”
-says Nathan Skwortsow, CTO and co-founder of Physitrack.
“What’s really important is they connect well with our application development team, which is also based in Poland. So there’s a good triangle between Physitrack, Chaos Gears, and our application development team.”
Working together on this latest project, Chaos Gears and Physitrack decided to migrate Physitrack’s platform to a container-based infrastructure on AWS. That would not only improve availability across all global service regions but would help to reduce downtime risks and monthly spending. When the project is completed, Physitrack expects to be better able to handle big swings in demand without the need for overprovisioning, which will save money. A more modern infrastructure built on containers will also improve transparency in its development pipeline, making workloads easier for both the development and infrastructure teams.
“Downtime due to demand spikes should be a thing of the past when we’ve moved our application servers to autoscaling groups inside a Dockerized cluster.”
- Nathan Skwortsow says.
While the AWS services that Chaos Gears helped to implement—including multiple instances of Amazon Elastic Compute Cloud (Amazon EC2)—were able to support Physitrack’s requirements in earlier years, the rising demand for the telehealth provider’s remote patient engagement services created a need for change. In addition to enabling future growth, Physitrack also needed to upgrade its AWS infrastructure to integrate several recent acquisitions, including two companies: Physiotools and Rehabplus.
As a global business operating in the healthcare space, Physitrack wanted a system that met the sector’s strict security and privacy requirements and provided around-the-clock service stability, wherever its end users are located. The company’s previous approach to ensuring availability was to provision more EC2 instances and Amazon Relationship Database Services (Amazon RDS) than it needed, so it had the capacity to meet large and rapid spikes in demand. During normal traffic, though, that meant Physitrack was paying for more capacity than it needed. Reliability and availability are critical for Physitrack, because certain services must be delivered on time within strict deadlines. It also needs to serve end users around the globe. Having EC2 instances in different regions provided low latency, but the company also needs to know that its services in, for example, Australia will be up and running smoothly even when it’s the middle of the night for the main IT support teams in Poland.
Together, Physitrack and Chaos Gears decided that the best solution would be a containerized approach with autoscaling. That would not only help to easily and automatically manage spikes in demand but would eliminate the need for costly overprovisioning.
“We have customers in pretty much all countries in the world. And downtime due to demand spikes should be a thing of the past when we move to autoscaling groups inside a Dockerized cluster.”
Chaos Gears began working with Physitrack to move away from its EC2 instances and to a serverless environment using AWS Fargate. Getting ready for the migration required a number of changes to its existing architecture, in particular, moving the parts of its application that maintained state outside of the application server, so it could run on a stateless containerized instance. Preparation also involved building a proof-of-concept (PoC) with support from AWS. The PoC was designed to support a continuous integration and continuous delivery (CI/CD) pipeline for Physitrack on AWS.
“I think what’s really nice about both Chaos Gears and AWS is they’re very accessible. It feels like we’re partners, with a common goal of building the best solution possible with AWS’s impressive platform.”
Karol Junde, CTO and co-founder of Chaos Gears, agrees:
“We are not an outsourced team. Nathan believes, like we do, in common goals and a common vision, and they treat us as their internal team even though we are an external company.”
Because Physitrack’s IT team was not yet ready to provide container-ready application codes for the migration, Chaos Gears developed the PoC using a mock Rails application. It then prepared the Fargate platform and a Docker image, and successfully demonstrated that the solution would be able to scale quickly as soon as container-ready codes were available. Using AWS Systems Manager (SSM) and SSM’s Session Manager, Chaos Gears also added tools to the new container environment that would enable Physitrack to log all actions for compliance, audits, and security—all vital requirements in the healthcare industry.
“What’s important here is that we had to take a lot of architectural decisions and fix a lot of legacy code to get to this point.”
“It’s a bit like if you go on summer vacation and you hit the gym six months beforehand—it’s not so much having that cocktail on the beach, it’s about the work you put into before to get you to the person you are on that beach. The route we took, as well as the collaboration between Chaos Gears and our application developers helped us evolve as a company in general.”
- says Skwortsow.
Now that the PoC has been shown to meet all of Physitrack’s requirements, the company can begin the migration process. Some services are already in production, while others will be rolling out soon. As its application is moved region by region to the new container based environment on Fargate, Physitrack expects to see a drop in its monthly AWS expenses—first for EC2 instances and, eventually, for its database services as well, as those are moved to a serverless environment.
In addition to the cost benefits, another plus will come from the improved stability and scalability made possible with Fargate and autoscaling. And the modernized architecture will make it easier for the development and IT teams to work efficiently, with greater visibility into processes at every stage in the CI/CD and development pipelines.
“It will be more transparent. Instead of just updating parts of a big monolithic application, you can do a full new deployment of a container itself. It was a bit of a challenge, given our legacy architecture in, but we solved all these issues very securely.”
- says Skwortsow.
And Junde says:
“Our goal is not only to provide new features but also to get rid of problems that come up during the development, not only in terms of AWS but also to help the development team to improve their application. By making these changes, we are able to reduce the risk of downtime.”
Over time, Physitrack and Chaos Gears plan to explore other AWS services and applications, carefully assessing each future step to ensure that telehealth and remote patient engagement services to end users aren’t disrupted. One possible future project might involve setting up more instances of Physitrack’s system for tracking application software changes for lower latency and better data residency in different region.
“Sometimes things are just more complex and they take time,” says Skwortsow. “And at the level and also the skill and the type of data that we analyze, you can’t really move fast and break things.” He adds: “I’m really excited about this, from an engineering perspective and a developer productivity perspective. At the end of the day, this is the modern way to build web applications.”
Here are the cloud-based projects we have successfully completed. See how we helped to create tailored solutions, and met and exceeded our clients' expectations
Machine learning platform developed in conjunction with Chaos Gears supports advancing the world's medical research performed by our Client.
Chaos Gears helped NET AI team to leverage S3 Events and Dynamodb Streams to collect, store and use newly uploaded files’ metadata.