Skip to content

Always-On Containers

Nexaa’s Always-On Containers are designed for applications that require a persistent, always-available runtime environment. Unlike event-based or short-lived container jobs, Always-On Containers stay up to continuously serve requests, process events, or maintain stateful connections. They are ideal for APIs, web servers, microservices, and background services that require uninterrupted availability and predictable performance.


Use Cases

Always-On Containers are a good fit for:

  • Web Applications & APIs
    Host continuously available APIs and web frontends that need to serve requests at any time.

  • Microservices
    Build and scale individual services that communicate with each other as part of a distributed architecture.

  • 3-Tier Applications
    Deploy presentation, logic, and data layers in separate containers for modular, maintainable architecture.

  • SaaS Applications
    Isolate tenant environments by deploying per-customer containers that ensure data separation and uptime.

  • Event Processing
    Handle real-time streams or event listeners that require constant availability.

  • ETL & Data Pipelines
    Continuous data ingestion and processing with persistent volumes.


Key Characteristics

  • Always Running
    Containers stay online and handle traffic 24/7 until you explicitly stop them.

  • Automatic Scaling
    Define rules to autoscale based on CPU and/or memory usage and reduces costs during idle time.

  • Rolling Updates
    Deploy new versions with zero downtime using rolling updates. Traffic is gradually shifted to the new container version once health checks pass.

  • Health Checks
    Configurable health checks allow Nexaa to route traffic only to healthy containers and roll back if needed.

  • Custom Domains
    Bring your own domain using a CNAME. See our How-To Guide on Custom Domains for more.

  • Private Registries
    Use your own container registry — public or private — by supplying credentials with pull permissions.

  • Persistent Storage
    Mount volumes to store and share data between containers or preserve important files. (See Persistent Storage for details.)

  • Logging via Stdout/Stderr
    Output from job executions is available via standard logging mechanisms — ideal for debugging or monitoring via external tools.


Underlying Technology

  • OCI-Compatible Runtime
    Containers run on an orchestration system built for scale, using industry-standard runtimes behind the scenes.

  • Image-Based Deployments
    Nexaa does not build Docker images. You must host your image in a registry (e.g., Docker Hub, GitLab, GitHub, or your private registry).

  • Environment Variables
    Configuration is injected via environment variables — ideal for secrets, endpoints, and runtime settings.


Execution Behaviour

  • Startup
    When deployed, your container image is pulled from your registry and started with the provided configuration.

  • Auto Scaling
    Nexaa monitors CPU and memory utilization and adjusts the number of replicas accordingly. You define min/max limits.

  • Lifecycle Management
    You can manually stop, or update containers. During updates, rolling deployment ensures uninterrupted availability.

  • Health Checks
    Optional probes monitor container readiness and liveness, ensuring traffic is only routed to healthy replicas.

  • No Build System
    You are responsible for maintaining and updating your own image registry. Nexaa pulls but does not build.


Best Practices

  • Keep It Stateless
    Design containers to be stateless. Use persistent storage or external databases for state.

  • Use Health Checks
    Configure readiness and liveness probes to avoid routing traffic to unhealthy containers.

  • Minimize Image Size
    Smaller images start faster and consume fewer resources.

  • Secure Your Registries
    Use credentials with the least privilege required to pull your images.

  • Scale Down When Idle
    Take advantage of “scale to 0” to save costs when the container is not needed at the moment.

  • Separate Environments
    Use isolated environments for dev, staging, and production to simplify lifecycle and rollback strategies.

  • Image Versioning
    helps ensure predictable deployments and safe rollbacks by tagging container images with explicit version numbers instead of using mutable tags like latest.


FAQs

Q: Can I use Windows containers?
A: No. Nexaa currently supports Linux-based containers only.

Q: Can I SSH into the container?
A: No. You should log output to stdout/stderr and use external logging for inspection.

Q: How do I update my app?
A: Push a new image to your registry and trigger a rolling update in the Nexaa portal or via API.

Q: Is there a sandbox environment?
A: Not yet. All containers run on production-grade infrastructure.


What's Next