
Are you talking about building Docker containers on the fly? We use Docker extensively, but our build machine makes images that we push to Dockerhub (private repos). This has a lot of advantages: - Our images (on the hub) are effectively pinned at the version they were built - Our test and production servers (can, if we want) always get exactly the same image (even if we need to rebuild a server months later) - We test all our servers so we only have to manually pin packages (python or apt) if we run into regressions or other incompatibilities (i.e. an upgraded package that is no longer compatible with a manually pinned package) - Our build machine caches all the intermediate images (i.e. after each docker step). We intentionally sequence our images to place oft-changing items at the end. - Unless I change the list of apt packages, that layer is never rebuilt. - We have an extra step that uploads *just* the requirements files before pip installing - Our last step is the app code so changes to this layer are just a cached layer + PUT (i.e. seconds) - This optimization also makes our containers super efficient to upgrade because we only download the changed layers This sounds like it covers a lot of the PEX advantages plus the added benefits of containerization. Clayton Daley On Sat, Feb 25, 2017 at 3:19 AM, Hynek Schlawack <hs@ox.cx> wrote:
... Contrary I’m not a super fan of having one opaque blob on server; the
transparent structure of a virtualenv is something I learned to appreciate. ...
A zipfile containing a virtualenv (pex) isn't all that opaque -- with the right editor plugins, you can even *cough* edit the contained source inside one.
Back when pex was a lot younger, this was handy for quick debugging as we were migrating from source-in-venvs-on-bare-metal-chroots to pexed-in-mesos-containers
To be clear: I’m not trying to talk anybody out of using pex. :) I’m just saying there’s a slight downside (+ another tool) and no tangible upsides in Docker for me so it’s not a good fit for me.
That said, I’m gonna try it out in my deb-based deployments (contrary to popular believe, you can’t/shouldn’t put *everything* into containers) because we run ZFS and apt-get + lots of files in a deb = omgiwannamurdersomeone.
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python