Transcript
This transcript was autogenerated. To make changes, submit a PR.
Hi, hope you've been having a great day today.
My name is Shiva Kumar.
I'm a senior cloud engineer at an insurance technology
startup called Realtic.
Today I'll be talking about enhancing healthcare Processing
reliability with Kubernetes.
So this is going to be our agenda.
We'll be talking about introduction to healthcare data challenges.
We'll talk, spend some time on the Kubernetes itself.
What kind of impact Kubernetes can have on the healthcare industry,
how it is doing right now.
We'll go through one case study, how A specific company was able to reduce the
downtime and enhance their reliability and we'll talk about Key kubernetes
features that are useful for healthcare processing and we'll talk about how
a different Implementation strategy how different healthcare companies can
implement kubernetes and how they can use it And we'll also talk about some
future outlook and that's it talking about healthcare data challenges, as
you can imagine, we'll be dealing with a lot of sensitive patient data in there.
And a large number of health care companies process health care data and
the reliability and availability of this systems is very critical and you need it
for the patient safety and well being.
And any downtime or data loss can potentially lead to delays in the
treatment, compromise patient outcomes and significant operational disruptions for
these companies and also for the patients.
So talking about healthcare let's spend a little bit of time on why we need to
talk about healthcare industry at all.
So this is one of the largest industries In the united states
in 2022, it was equivalent to 4.
5 trillion dollars and Also usa in usa.
It's one of the highest healthcare spend per person in the world.
So there's a lot of money here a lot of Infrastructure companies are
working on healthcare area so when we talk about healthcare, industry
It all includes all these areas like healthcare We are talking about hospitals
the softwares they use Apps they use and then the small small facilities
where there are individual practices.
We are talking about insurance companies and data processing
behind these insurance companies.
When we send the claims, what happens behind the insurance companies.
And it was talking about medical device companies and also the
health education how the Doctors are being trained what kind of
software they are using and all that.
When you're talking about healthcare industry It encompasses all of
this stuff, but today we'll be focusing on a small area So this
is where our company works as well.
So i'll be talking about healthcare insurance claim processing because
this case study is based on one such company that I am familiar with.
So let's look at the overview of what happens when a patient goes to a hospital.
So when a patient goes to a hospital providers be it individual doctors or the
hospitals they file a claim to insurance companies based on the care they provided.
And these insurance companies are technically called providers.
payers within the healthcare industry when they receive these claims they go
through a bunch of policies different healthcare policies and make sure
the process or procedures that are performed on the patient for the
specific use case are actually valid.
There could be some
simple rules a person cannot have three knee surgeries Because two
needs, you can only replace two needs.
So that's one example.
So it could be a simple basic rules or could be a complex multi step rules
based on healthcare policies of different states and different kind of is it
Medicare, Medicaid or different process.
So, they go through all the, each for each claim insurance company goes through
all this and they also take care of take help from different companies,
which actually goes helps the insurance providers process all this data.
So our company also works in this area.
We receive claims from the insurance companies, we process them, and
then we send it back to them.
So this is how the whole.
processing works for the healthcare claims.
Since we're talking about advantages of using Kubernetes in this space
we'll go through a little bit of overview of what Kubernetes is.
So Kubernetes is an open source platform which can help automating
the deployment, scaling and operation of the containerized applications.
So we are basically placing our Applications inside Docker containers or
other type of containers and Kubernetes helps us deploy them and manage them
across different multiple nodes.
So it is designed to manage complex applications across multiple
nodes, ensuring the consistency, reliability, and scalability.
The key features of Kubernetes which are really helpful for managing the
applications are like automated scaling.
So there are features like Horizontal order scaling, where based on the resource
usage, Kubernetes itself can create multiple replicas of the same application.
Where it can handle more traffic.
And it can also, we can also do vertical autoscaling, where a single port can
take, can vertically scale increasing the CPU or the memory of a single port.
So different types of scaling.
And if there are any issues in the underlying infrastructure,
Kubernetes can automatically bring up a new instance of the application.
We call that self healing.
And when there are new changes to the application It's possible to do the
rolling deployments where there are say 10 instances of the application.
You can slowly roll the new version of the application easily,
like you roll Say there is a 1.
0, we have 10 pods already present, we can so each pod would go through
so a new pod will come up with a 2.
0 and one with 1.
0 will go down, then slowly all the pods will transform into 2.
0.
So that's a rolling updates are plausible.
And we can also do the canary deployments where we can send a
small percentage of the traffic.
To the new version of the application, make sure things are looking great.
And then we can, and then we can do the rolling deployment.
And it's also possible to do all of this securely, using the inbuilt RBAC
role based access control, where we can define Which users and which roles
can have what kind of access, what kind of actions they can perform on a,
on the Kubernetes cluster or in this different resources like namespace.
We can restrict what a user or a role can do in specific namespaces
or in specific type of resources.
So those are the small introduction to Kubernetes.
So
this use case is based on a conversation with a colleague or friend.
At a conference this is a large health insurance company where they
were, where they had a different setup before, and they were able to
transform to Kubernetes infrastructure.
And these are the, actual numbers with what improvement they had seen.
It has led to 50 percent reduction in their downtime, especially when
they are doing the new deployments, they were able to have a very
shorter maintenance windows.
And they're also able to overall increase the reliability because
of the self healing nature of the Kubernetes where some instance goes
down and they're able to bring back a new instance and take the traffic
without any interruption to the service.
And automatically scaling the loads different use cases where they're able to.
process the batch batch claims.
And yeah, self healing.
We already talked about that.
So this is, this was a setup.
So previously it was an on premise setup where it had a couple of data
centers and they were deploying these applications directly on the bare
metal instances using the Ansible.
So using Ansible, all the.
Build was going on in GitHub and the images are being built there through
the CI CD within the GitHub and the Docker image was stored in the
Docker registry, not Docker registry.
So they're actually building the binaries Java binaries, and then they were
able to pull these from the registry and then deploy them directly in the
instances like bare metal instances.
That's how they've been doing it.
It was also a patchwork of both Ansible and some shell scripts.
There were several challenges doing this, uh, one of the challenges
was it was difficult to maintain a lot of code, especially since they
had a microservices architecture.
It was clear to them after some time, it would be better to transform into
a Kubernetes based infrastructure.
So they moved to kubernetes infrastructure.
Kubernetes was being managed on they were using the EKS,
AWS managed kubernetes service.
And they moved to the github architecture where they were using the Argo CD.
So that all the manifest, helm charts and everything was written in the,
was stored in the github.
And Argo CD was directly deploying these applications from docker
registry to the cluster based on the manifest in the git repository.
So any changes they had a clear change control where any changes are going
through this, but previously through Ansible they were running these
Ansible scripts from local and people had to make changes in their local.
Sometimes those changes were not committed that led to some problems.
But through Argo CD through GitOps stuff it was very easy for everyone,
like it was more transparent.
So this has this whole transformation has led to a like 50 percent reduction
in their downtime and they were able to reliably and consistently.
Do the deployments other than great advantage they had was especially when
they were doing the batch processing because typically the way health
insurance industry works is They take all the claims throughout the day and
send it as a batch over the night to the
sent, not sent, yeah, they sent to the processing companies and also do
their batch processing at once per day.
So they had to scale these infrastructure once a day and they don't need that
infrastructure throughout the day.
So through using the AWS EKS auto scaling groups and that stuff and Kubernetes,
they were able to get much cost savings.
So other features that were really useful for them, the, what these
rolling updates previously they were only able to use do the.
Deployments once per week, and when they were doing the deployments they had to
take down the data center and then do the deployment and then get back the
data center in the maintenance windows, but using the rolling updates, they
did not have any downtime, especially for the web applications where the With
the application had to be available for the whole time and they were able
to do the canary deployments, test their stuff before completely deploying
the new versions of the application.
And the spark jobs is interesting.
So I started using Airflow.
So in Airflow, when you're writing the DAGs, there are some Kubernetes
operators where you can actually run your jobs within the Kubernetes.
While Airflow manages the jobs and yeah, obviously the it's easy to
implement integrations like Datadog for real time monitoring of it.
And also easy to maintain the security and compliance using the RBAC stuff.
And obviously CNCF has a huge landscape where there are new
applications are coming up, which are very useful for different use cases.
So apart from this based on this, even if any new healthcare companies wants to use
Kubernetes because of these advantages.
So this is, this would be an implementation strategy,
how they can think about it.
So any company has to go through the assessment.
Kubernetes is not really useful in all the use cases.
Especially if your application is very small.
A specific use case, and you don't have many microservices kind of architecture.
It may be simple to use other services, like directly deploying
them on EC2 instances, or use Elastic Beanstalk, or even AWS Lambda.
So we have to first assess If Kubernetes is the right solution for the use case
one to determine and then start planning it, there are different ways of doing it.
First, you have to take care of containerizing your application,
having the proper pipelines to create this containerization.
And then start writing the Helm charts and then automating the
deployments using the GitLab GitOps.
So plan all that stuff and then start with one microservice.
And then do the pilot deployment with small scale stuff.
And then you can start Moving all your microservice into it, and then
you can scale your application.
And obviously we have to implement the monitoring to make sure
everything is working as planned.
The future of Kubernetes looks great, especially considering how active the
whole community is around Kubernetes.
That also includes Most of the AML applications helping health
industry obviously comes with a lot of data and having insights
and using them to reduce the.
Healthcare costs would be very nice.
And a Kubernetes at the forefront of all this AI and that stuff.
So it's great to move on to this architecture build that.
expertise within your company so that it will be useful when
you are doing AML stuff as well.
And it's definitely very easy to implement security stuff using Kubernetes
and the lab with the CNC landscape growing, there are many use cases
that you can implement on Kubernetes.
So yeah, now I conclude saying for healthcare industries for any
company in the healthcare industry, it will be very beneficial.
to use Kubernetes with all its benefits.
That's all for today.
Thank you for listening to this talk.
Have a great day.