CoreOS goes hand-in-hand with Docker - it’s designed for deploying Docker on production bare metal servers.
I’ve been experimenting with CoreOS for our internal servers and overall it’s an awesome OS simply because updates and security are architected in. Keep in mind it’s designed for cloud deployments so getting it going the first time is a bit tricky. CoreOS is just a lightweight cloud-scalable replacement for your bare metal OS layer. It’s just as compatible with OFbiz as any other Linux OS. If it runs the JVM well, it’ll run OFBiz well (generally speaking, this is an optimistic simplification). I haven’t completed any significant validation testing on CoreOS yet but so far I don’t see any major showstoppers. So a modern in-house stack might look like: Bare Metal Server Virtualization OS (Xen, VMware, VirtualBox, etc) CoreOS for Docker Host OS (or Ubuntu or CentOS or RancherOS) Docker Application Docker Image Debian/Ubuntu/Alpine essential OS components JVM - OpenJDK Tomcat OFBiz Application Layer Database Docker Image Debian/Ubuntu/Alpine essential OS components PostgreSQL Data over NFS to NAS appliance or cloud hosting disk Web Proxy Image (apache/nginx) Debian/Ubuntu/Alpine essential OS components Bare Metal NAS appliance (no point in virtualizing data stores, just adds overhead). Sounds complex, but the major paradigm shift here is packaging up the OS specific components with your release and version-controlling the system as a whole rather than just the application layer component. In this new model, you deploy specific versions of OFBiz with a specific version of the JVM, a specific version of the application OS, and even a specific version of the database. Moving a Docker image to a cloud host is very easy now, so you can easily have your developers working on the complete versioned stack on their machines, check the whole stack in to github/dockerhub, deploy it to your test servers, then just slap those docker images live on your cloud hosts once everything is verified with no surprises. If I was working on a new deployment, going cloud-hosted for everything is a no-brainer these days. The paradigm that the entire industry is rushing towards is treating IT resources (servers, OSs, deployments, etc) as cattle, not pets: http://cloudscaling.com/blog/cloud-computing/the-history-of-pets-vs-cattle/ <http://cloudscaling.com/blog/cloud-computing/the-history-of-pets-vs-cattle/> If OFbiz were to get behind this paradigm (and this is a whole different discussion probably for the developers but I’m just advocating from an end user’s point of view), we could easily decouple the heavier components and have them versioned as docker images separately. For example, an OFBiz release would be a collection of docker images - one for SOLR, one for Postgres, one for Tomcat, and one for the OFBiz application layers. —P > On Jan 17, 2017, at 1:41 PM, Todd Thorner <[email protected]> wrote: > > Great stuff, thanks. > > Have you any opinion on leaping straight toward something like CoreOS? Is > the difference mostly a matter of codebase maturity, or is it something more > fundamental to the design/architecture which might leave docker as being more > compatible with OFBiz? > > > - Todd > > > > On 17-01-17 10:23 AM, Paul Mandeltort wrote: >> Hey guys, thought you’d be interested in a side project I’ve been working on >> to smooth out our devops. One of the biggest pain points for me in OFbiz >> development and deployment (as an end user) is managing the complex >> dependencies and differences between JDK’s, OS’s, hardware platforms, etc. >> Docker solves all of these problems. >> >> Even spinning up a demo of OFBiz is needlessly complicated in a world where >> I can hop on the app store and have an application as complex as Apple Xcode >> installed on my local with one click. >> >> Docker is as big of a revolution as virtualization for development and >> deployment, and is taking over the IT dev-ops and development world. >> >> I noticed several other OFBiz docker projects on dockerhub but none of them >> have been updated for the 16.11.01 release. >> >> Have a look here - I preloaded a copy of the ofbiz 16.11.01 release with the >> demo data for immediate download and execution. You can start up ofbiz in >> under 5 minutes now (Depending on your internet bandwidth). This is ideal >> for any folks evaluating ofbiz or want a quick copy to hack at. >> >> https://hub.docker.com/r/marcopinball/ofbiz-demo/ >> <https://hub.docker.com/r/marcopinball/ofbiz-demo/><https://hub.docker.com/r/marcopinball/ofbiz-demo/ >> <https://hub.docker.com/r/marcopinball/ofbiz-demo/>> >> >> If you already have docker installed, >> >> docker run -d -p 8080:8080 -p 8443:8443 marcopinball/ofbiz-demo:latest >> >> This downloads and runs a image preloaded with OpenJDK8, Debian Linux, and >> the out-of-the-box demo and derby database components pre-compiled and >> loaded, with the JVM pre-tweaked to 2GB Xmx. >> >> Grab a cup of coffee while it loads, then >> >> https://localhost:8443/ should be ready to roll! >> >> Would love to see an official OFBiz repo w/ automated builds on Dockerhub. >> I’m still experimenting and learning with which volumes to expose for data >> retention/configuration. Right now the entityengine.xml config path is >> expose so theoretically you can feed your own entityengine.xml in there and >> attach this instance to a different database. >> —P
