Thursday, December 19, 2019

12 Factor Guidelines



    The twelve-factor app is a methodology for building software-as-a-service apps that:


    I. Codebase

    One codebase tracked in revision control, many deploys

    II. Dependencies

    Explicitly declare and isolate dependencies

    III. Config

    Store config in the environment

    IV. Backing services

    Treat backing services as attached resources

    V. Build, release, run

    Strictly separate build and run stages

    VI. Processes

    Execute the app as one or more stateless processes

    VII. Port binding

    Export services via port binding

    VIII. Concurrency

    Scale out via the process model

    IX. Disposability

    Maximize robustness with fast startup and graceful shutdown

    X. Dev/prod parity

    Keep development, staging, and production as similar as possible

    XI. Logs

    Treat logs as event streams

    XII. Admin processes

    Run admin/management tasks as one-off processes

    No comments: