Instances
In Altostra, an Instance is a live release of a project in a specific environment. Think of it as an instance of a Class, in development terms.
You can deploy Altostra projects multiple times to multiple environments, creating a different instance with each deployment.
Every instance is self-contained, has its own events-history, and is mapped 1-to-1 to a cloud account stack. All instance resources are deployed together and removed together; they all share the same instance configuration.
Terminology
Creating an instance means that you deploy a fresh and unique stack of your project to the cloud. All resources are created from scratch, and all tables and buckets are empty.
Updating an instance means that you push changes to an existing stack of your project to the cloud. The resources already exist and are updated as needed to fit the changes.
Use cases for instances
Branch deployments
If you're using the Branch Deployments strategy with Git, deploy each branch as a separate instance in Altostra as part of a CI/CD pipeline. That way, developers can test their work in parallel without interfering with each other.
Preview deployments
If you need to produce a preview for each Pull Request, configure the CI/CD pipeline can create an Altostran instance for each Pull Request, and then update the instance on every push to the Pull Requests's branch.
Multiple stages
If you're using multiple stages for projects, such as Dev, QA, Prod, then create an Altostran instance for each stage and update the instances as needed.