The Twelve-Factor App

(12factor.net)

61 points | by jxmorris12 17 hours ago

12 comments

  • nebezb 26 minutes ago
    Still incredibly relevant. Even if you don’t apply it, there is so much to learn by reading this in 15 minutes.

    The only grievance I have with this is Chapter 3: Config [1] “Store config in the environment”, “Credentials to external services such as Amazon S3 or Twitter”

    Besides being bad advice, this had the second-order effect of leading devs to believe they could put all their local env secrets in ~/.bashrc files.

    Stop doing this. Do the other 11.5 factors.

    [1]: https://12factor.net/config

    • javcasas 8 minutes ago
      > this had the second-order effect of leading devs to believe they could put all their local env secrets in ~/.bashrc files

      Teach them to use dotenv.

      We are moving away from configuration in config files because it is a pain to modify, especially if part of that configuration is secrets. You have to throw everything into your secrets vault of preference, and editing it requires extracting and reuploading the whole thing.

      We are currently doing config in env by loading one or multiple secrets per kubernetes pod (mix and match).

      What would be your suggestion?

  • browningstreet 1 hour ago
    I really thought this would be a 12 layer MFA demo showing the absurdity of our current painful & unsustainable MFA trends.
    • VeninVidiaVicii 26 minutes ago
      Every time I leave my phone in the other room to “finally get some work done”, please enter this goddamn number we sent to your SMS, and I close my laptop.
  • dec0dedab0de 1 hour ago
    Heroku seemed like it was going to be the future back then. Every time I find myself struggling to understand some nonsense in Azure I dream of the simpler future we lost.
    • cgarvis 42 minutes ago
      Fly.io brings back some of that easy of deploy.
      • drob518 22 minutes ago
        Yep, agreed. Fly.io is the closest to Heroku that I’ve found.
    • jpb0104 48 minutes ago
      I've got to give credit where it is due... It really feels like Laravel Cloud picked up where Heroku left off. Or at least is trying to.
    • rietta 45 minutes ago
      They got painfully expensive and then acquired. I still remember the arguments with clients and finally went all in AWS ECS, which is still quite pricey but clients seem to complain less about the Amazon bill then they did about Heroku.
  • Tomte 31 minutes ago
    Every time it gets posted I read through the list and think "export services via port binding… of course a web server binds to a port, of course it‘s decoupled that way, what else would you do" and "treat backing services as attached resources… huh, is that really only about not linking in a database, but connecting using a JDBC string, for example?"

    So let me ask for once: what am I missing? Why is that interesting and not trite?

    • dec0dedab0de 23 minutes ago
      I think backing services as attached resources was opposed to the practice of having your DB, and cache, and whatnot managed and maintained by a completely separate team and not really treated as part of the application. Even the schema changes.

      The port binding was really a response to tomcat or modphp being modules in the webserver, as opposed to hosting their own web service internally. This was before nginx took off, and proxying to internal application ports was common.

      edit:

      I was wrong about the backing services, it seems it is really about treating them as configurations and being able to swap them out without making code changes.

      https://12factor.net/backing-services

    • jaggederest 7 minutes ago
      > Why is that interesting and not trite?

      The same reason many older films seem cliche - because they were the first to do it, and it's accepted standard now. Heroku very much shaped how we think of "cloud applications", autoscaling, and containerization.

    • anon7000 14 minutes ago
      I think you gotta look back to how web servers worked before containers.
  • nnutter 19 minutes ago
    Note that at the bottom of a page is a "Download ePub Book" link, <https://12factor.net/12factor.epub>.
  • greenie_beans 7 minutes ago
    need something better than the .env honeypot in this AI age. but idk what that might be
  • _superposition_ 45 minutes ago
    I can't believe how old this is and I feel like most devs still haven't internalized this which is a shame.
    • commandlinefan 32 minutes ago
      Is it devs that haven't internalized this? Or management? Because I'd love to do this, but I always report to people who demand that everything be done in "a few days".
  • _superposition_ 1 hour ago
    Still relevant.
  • michchinn 1 hour ago
    https://news.ycombinator.com/item?id=37862016

    > Related:

    > Ask HN: Is 12factor.net Still Relevant? - https://news.ycombinator.com/item?id=36283702 - June 2023 (6 comments)

    > 12 Factor App Revisited - https://news.ycombinator.com/item?id=33164407 - Oct 2022 (7 comments)

    > Twelve-factor app anno 2022 - https://news.ycombinator.com/item?id=31225921 - May 2022 (35 comments)

    > The Twelve-Factor App (2011) - https://news.ycombinator.com/item?id=31198956 - April 2022 (102 comments)

    > Twelve-factor app development on Google Cloud - https://news.ycombinator.com/item?id=21415488 - Nov 2019 (63 comments)

    > The Twelve-Factor App - https://news.ycombinator.com/item?id=19947507 - May 2019 (3 comments)

    > 12 Factor CLI Apps - https://news.ycombinator.com/item?id=18172689 - Oct 2018 (247 comments)

    > 12 factor app configuration vs. leaking environment variables (2014) - https://news.ycombinator.com/item?id=15869436 - Dec 2017 (2 comments)

    > Ask HN: Alternative to Heroku that doesn't enforce 12-factor - https://news.ycombinator.com/item?id=10628961 - Nov 2015 (1 comment)

    > The Twelve-Factor App - https://news.ycombinator.com/item?id=10288216 - Sept 2015 (3 comments)

    > The Twelve-Factor App - https://news.ycombinator.com/item?id=9492120 - May 2015 (2 comments)

    > Twelve-Factor Applications with Consul - https://news.ycombinator.com/item?id=7780249 - May 2014 (2 comments)

    > The Twelve-Factor App - https://news.ycombinator.com/item?id=7547687 - April 2014 (1 comment)

    > Building Twelve Factor Apps on Heroku - https://news.ycombinator.com/item?id=6219444 - Aug 2013 (1 comment)

    > 12 Factor model for architecting SaaS applications - https://news.ycombinator.com/item?id=6060381 - July 2013 (1 comment)

    > The Twelve-Factor App - https://news.ycombinator.com/item?id=5979452 - July 2013 (1 comment)

    > 12factor: Methodology for Building Software-as-a-Service Apps - https://news.ycombinator.com/item?id=4027026 - May 2012 (1 comment)

    > Twelve Factors of Web Application Development - https://news.ycombinator.com/item?id=3267187 - Nov 2011 (37 comments)

  • rietta 46 minutes ago
    Oh! That's a term I have not heard in a long time!
  • jasonpeacock 44 minutes ago
    It’s always new for someone…

    https://xkcd.com/1053/

  • dankobgd 29 minutes ago
    twelfth repost