Welcome to another episode of This is My Architecture.
Today, I have here with me, Josh, from Spot.io by NetApp.
- Hi Josh. - Hi.
So, Josh, tell me a little bit more about Spot.io.
Yeah, so Spot.io is an automation provider
and we help customers leverage Spot Instances
to save up to 90% in the cloud.
Oh, so you make it even easier to use Spot Instances?
- That's correct. - Can we dive into how you do that?
Yeah, so we do that by leveraging CloudFormation.
When our customer signs up for our SAS service,
that’ll pull a CloudFormation template in their environment
that will deploy an IAM policy and an IAM role with an external ID
so that only our SAS layer can leverage that cross account IAM role.
I see, so as a SAS provider, you use the IAM role to
only have access to what in the customer environment?
Yeah, so using IAM, our data collectors that are running on Spot Instances,
our data collectors can describe EC2 Instances, Auto Scaling groups,
containerized workloads in their environment.
And then using that information, we collect that and our customers
can then begin using our services.
So you collect all data about the infrastructure, environment.
How do you do that collection?
Yeah, so using our data collector, we'll collect data with-
we collect 2 billion data points a day, and we store that data in Aurora.
So our data comes in from the data collectors
and then goes into Aurora.
I see, and what other kind of data do you use
to actually do that prediction?
Yeah. So, we're actively monitoring all the AWS regions and availability zones
and all the Spot capacity pools in real time.
We're collecting that data, storing it in Aurora and then
using SageMaker to analyze that data and use machine learning models
to predict when Spot Instances are going to be interrupted.
When you have that prediction of Spot Instances-
uh, so what happen to your customers' infrastructure?
Yeah, so, in the event that we do predict an interruption,
which we can predict one hour in advance with 85% accuracy,
when we can make a prediction that there's going to be a spot interruption,
we'll leverage that cross-account IAM role,
and replace the Spot Instance for the customer.
So, leveraging IAM, we can then help our customers use EKS
and then replace these Spot Instances in their worker nodes, proactively.
So if you're replacing those worker instances automatically,
then what are your customers- how your customers interact with
your SAS platform?
Yeah, so customers interact with our SAS platform via our SAS tool.
or they can also deploy services in AWS using CloudFormation
or infrastructure as code.
I see. I see that you're doing this for your customers.
Do you have a lot of customers that are using this solution?
Yeah, we have thousands of customers today in AWS.
And how do you manage that amount of customers in your SAS environment?
Yeah, we scale using Aurora, SageMaker and EKS.
We love AWS fully managed services.
When we first began, we ran MySQL on EC2, and we ran Kubernetes on EC2.
And we even had machine learning models on EC2, but as we grew,
we noticed that we couldn't scale as fast, but using these fully managed services
with AWS, we can grow quicker.
I see. You have your SAS platform. You're making even easier to use
Spot Instances while still maintaining security for your customers.
And you're doing all of this seamlessly.
Your customer basically just have to worry about the development of
their workload.
That's correct. Customers just deploy pods
into the Kubernetes workload and we'll scale the environment for them.
Great. I love your architectures. Thank you so much for sharing this with us.
Thank you.
And thank you for watching another episode of This is My Architecture.