container-patterns
container-patterns copied to clipboard
Add adaptive as a module property
8. Adaptive
A container should anticipate its environment, react to it and configure its self accordingly. This idea has been described by Jeff Lindsay where he describes containers a software appliances. And has been described in detail here: http://autopilotpattern.io/
autopilot:
- What resources does the container have to connect to?
- How is the container configured? config file, args. env
- Does anything have to be done before the application in the container starts?
- How is the application in the container started?
- How will other containers discover this container?
- How do we know if the application in the container is healthy?
- What are the key metrics that indicate the container's load?
- If the resources the container connects to change, how do we update the application in the container with those new resources?
- Does the container create any data on disk that needs to be shared by other instances or backed up in any way?
- Does anything have to be done before or after shutting down the container?