Sometimes making things faster is not just about speed; it can change how we do something altogether. This is the case with infrastructure deployment. Making deployments faster is always good, but to make them very fast requires us to change how we look at infrastructure. Getting a new deployment to take less than 10 minutes end-to-end opens up the option to tear down and rebuild a full stack without worry or hesitation.
What is Bring Your Own Image?
One feature that makes very fast deployments possible is Bring Your Own Image (BYOI). Your app might rely on custom packages or use a specific version of a certain library. You can automate this process using Deploy Hooks or custom scripts, but compiling and installing these custom options every time you fire up a new instance can add a lot of time to your build and deployment process. That's where BYOI comes in.
How does it work?
Some cloud providers allow you to save a snapshot of a server as a "custom image" and then use that image like a template to quickly create copies of the original server.
By using BYOI, you can customize a server's base image once and then use that base image to spin up any new servers you might need. This makes deployments much faster in many cases.
BYOI is supported for AWS, Google, and DigitalOcean and is very easy to use: just specify the server image name in your manifest.yml
.
More info:
- Link to docs: Bring Your Own Images
- Link to blog: Bring Your Own Images (BYOI) for Rails
- Link to blog: Feature Highlights: Deploy Hooks
Bring Your Own Image helps you to install a customer package on your servers or use a specific version of a certain library.