core concepts
Stacks
Organizing distinct running instances of an Application
A Stack is an instance of an Application Environment and is composed of the Application’s components. A Stack can either be “active,” meaning it is running, or “inactive,” meaning it is no longer running. In other words, an “active” Stack refers to the software that is currently running for a specific Deployment.
Stacks are created automatically when a build is deployed.
Stacks serve two primary functions. First, they provide a separation between different versions of an application. Separate running versions of an app are especially useful for deployments. In all Noop deployments, the current “active” Stack continues to serve traffic until the new Stack is finished deploying. This allows Noop to transfer traffic from the old to the new Stack without any interruption of service (blue/green deployments).
The second purpose of a Stack is to group all environment components. By associating all application components with a unique Stack ID, developers can observe and analyze the logs of a particular Stack without confusing them with others.
The services and tasks for a particular Stack contain their associated container instances. When a container instance is running, it can be connected to via a terminal, directly from the Noop Console. However, it’s possible for container instances to be destroyed and recreated during the operation of an “active” Stack.