Many workloads are cloud agnostic, meaning they could run equally well in many data centers. For example:
- A web service for Eastern US customers could run equally well in AWS Virginia or AWS Ohio.
- A background transcoding service could run equally well in Azure Singapore or Google San Francisco.
In an ideal world, it would be easy to fluidly migrate workloads across data centers and providers, seeking out the best prices (i.e. Spot availability) subject to performance constraints. In practice, this can be difficult because:
- Cloud providers have different APIs
- DNS takes time to propagate, leading to service disruption
- It can be difficult to know when to migrate, and when to avoid churn
PIQO solves these challenges using AnyCloud deployments.
For each deployment, clients are able to specify a set of providers (e.g. “AWS”, “Azure”, “Any”), and a set of locations (e.g. “Ohio”, “North America”, “World”). Based on these restrictions, PIQO intelligently deploys the workload to multiple qualifying regions with ample Spot availability. If interruptions occur, PIQO is then able to migrate these workloads to alternate data centers (cheap), rather than resorting to local On Demand instances (expensive). This also mitigates risk, since interruptions across data centers rarely happen at the same time.
PIQO maintains a global load balancer that directs service users to the nearest healthy endpoint with capacity to serve their request. If PIQO decides to migrate a deployment (e.g. from AWS Ohio to Azure Virginia), it updates this record directing users to the new region. In the event of a migration, PIQO maintains service at both regions for a short period, to give DNS time to update.
Although stateless services can take advantage of AnyCloud easily, they often rely on stateful databases that can be difficult to move. To mitigate this problem, PIQO has developed AnyCloud DB, a globally replicated NoSQL database that copies data in real-time to 12 locations worldwide. AnyCloud DB is infinitely scalable, easy to use, and supports a variety of access patterns (including Key Value, Collection, and Graph), a multi-master approach, and immediate local consistency.
We recommend that clients consider using AnyCloud DB for their database needs, which enables them to deliver low latency services to their end users, and to take advantage of AnyCloud pricing.