CoreOS: Linux for the cloud and the datacenter

CoreOS: Linux for the cloud and the datacenter

Summary: Linux has long been both the cloud and the datacenter's favorite operating system, but it wasn't until CoreOS came along that anyone designed a Linux just for the cloud and datacenter.


If you manage a cloud or a datacenter, chances are you run CentOS, Red Hat Enterprise Linux (RHEL), SUSE Linux Enterprise Server (SLES), or Ubuntu. These are all great server Linux distributions, but none of them were designed to be deployed over hundreds or thousands of servers at once. Now there is such a distribution: CoreOS.

In CoreOS, all applications run inside Docker containers.

In development for over two years, CoreOS has been designed from the ground up to power datacenters and clouds. Curiously enough however, CoreOS is not based on one of the traditional server Linux families such as Debian or Red Hat. Instead, it's based on Google's desktop Chrome OS.

Why? Because CoreOS is designed to be lightweight. Its developers claim that, at a mere 114MBs of RAM, CoreOS takes up 40 percent less memory on boot than the average Linux server.

In a interview, CoreOS's CTO Brandon Philips explained that CoreOS is designed to enable "build-out and management of massive server infrastructure. It combines a minimal OS built on the stable Linux Kernel with tools to run services across a cluster of machines. This is all packaged and ready to run on your physical gear or virtualized on platforms like KVM, Amazon Elastic Compute Cloud, Google Compute Engine, and many more."

Besides cutting down Linux's memory requirements, CoreOS runs all of its applications inside Docker containers. Containers, which are based on a shared operating system kernel, are much lighter and more efficient than hypervisors. Instead of virtualizing hardware, containers rest on top of a single Linux instance. By using Docker containers instead of hypervisors — where the entire computing stack, from the processor to memory to storage, is virtualized — applications use far fewer system resources.

The company claims that the "Docker containers can boot extremely fast (in milliseconds!) which gives you unprecedented flexibility in managing load across your cluster. For example, instead of running Chef on each of your VMs [Virtual Machines], it’s faster and more reliable to have your build system create a container and launch it on the appropriate number of CoreOS hosts. When these containers start, they can signal your proxy (via etcd) to start sending them traffic." The net result? Not only lighter programs, but more responsive applications.

There's another key difference in how CoreOS/Docker handles programs. Instead of installing dependencies for a given application — say an Apache or Ngnix server — applications are placed in a Docker container that is then installed on CoreOS instances.

CoreOS also has an interesting way of updating both its applications and operating system: FastPatch. In this scheme, the entire operating system is updated as a single unit instead of package by package. Indeed, CoreOS doesn't include any of Linux's usual package updating tools such as apt or yum.

Instead of packaging tools, you use a dashboard program, CoreUpdate. This program enables you to update single servers, clusters, or datacenters all at once.

This new operating system also comes with clustering built in. While any Linux can be used in a cluster, CoreOS makes it easy to aggregate individual systems into a single pool of resources. Instead of running a service on a specific machine, services are submitted to the cluster and the cluster manager (fleet) decides where they will run.

CoreOS's team claims that what they've done with their minimal Linux server is to give ordinary companies the same kind of house-brand Linux that Amazon, Facebook, and Google use in their datacenters. I'm not sure it's that good, but from what I can see of it, it is very, very good.

It's not just technical people who think that CentOS may a real contender in the enterprise Linux space. "The technology behind CoreOS is game-changing," said KPCB's (Kleiner Perkins Caufield & Byers) general partner, Mike Abbott in a statement. "CoreOS is solving infrastructure problems that have plagued the space for years with an operating system that not only automatically updates and patches servers with the latest software, but also provides less downtime, furthering the security and resilience of Internet architecture."

KPCB is backing CoreOS with more than just words. The venture capital giant is also putting $8 million Series A fundings into the company, with follow-on investments from existing investors Sequoia Capital and Fuel Capital. This funding will go towards growing the company, product development, and increasing interest in the operating system.

Sound good to you?

The company has made CoreOS available as Linux-as-a-Service. This Managed Linux service level is available for purchase through a monthly subscription and provides:

  • Availability on platforms including Bare Metal, Amazon, Google, and Rackspace, among others;
  • Docker 1.0 — The container runtime for application packaging;
  • CoreUpdate — A hosted dashboard for full control of rolling updates; and
  • FastPatch — Stress-free patches and updates.

You can download CoreOS to tinker with it on your corporate testbeds. The code, which is under the GPLv2 and the Apache 2.0 licenses, is available on GitHub. The company also promises that "OS updates and security patches will never be held hostage — they'll always be available to all users of CoreOS." 

All in all, I have to say that CoreOS sounds like an operating system package that any serious enterprise Linux user should take a long hard look at. RHEL, SLES, et. al., are all very good, but CoreOS sounds like it may be able to deliver more productivity from your existing hardware than other Linux distributions.

Related Stories:

Topics: Cloud, Data Centers, Enterprise Software, Linux, Open Source

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • Not an operating system

    Linux is a kernel and not an operating system.
    Buster Friendly
    • Does it matter really?

      “Linux” “Means different things to different people, from the purist who considers it to be the kernel to the GNU advocate who sees it as part of GNU/Linux and the new user who thinks it is another name for Ubuntu. In truth, Linux is all of these, depending on your point of view.” -Neil Bothwick
    • Linux is a family of operating systems... well as a kernel. CoreOS is an operating system. It's amusing, though, that it was based on ChromeOS, which, as our MS-boosters sometimes remind us, "isn't Linux".

      I do like the idea of every process potentially getting its very own sandbox, as it avoids the UNIX equivalent of "DLL hell" and potentially reduces the impact of malware. IBM did that with the DOS subsystem under OS/2 (every DOS window was its very own VM), and I seem to recall that it was also possible with 16-bit Windows apps (but by default, all Windows apps ran under the same Windows process).

      We'll see how it plays out, but MS and Apple might want to see how they can use the concept.
      John L. Ries
  • Ubuntu server also comes with Docker

    So I don't think there is much difference between the two.
    • Having looked at the CoreOS webpage

      I think there are some differences besides the light kernel and containers:
      1) CoreOS promises rolling updates, i.e. no major version upgrades to do, ever.
      2) CoreOS is designed to always expect to be clustered, so much of the work of setting up a cluster is already done.

      I plan to take a closer look.
  • Wording

    is all that is.

    VMware is nothing but a stripped down version of linux, using a tiny bit of RAM to run the hypervisor.

    IMHO there is little difference.
  • Am curious, Steven

    Is CoreOS based on Google's Chrome OS, as stated in the article and on the CoreOS WikiPedia web page, or open source Chromium OS? There is a difference:

    "What's the difference between Chromium OS and Google Chrome OS?"
    Rabid Howler Monkey
    • Not much.

      The inclusion of proprietary software is the big difference.
      • So, your stating that CoreOS includes proprietary components?

        Unless CoreOS got the Chrome OS source code directly from Google and signed an NDA, CoreOS is really based on open source Chromium OS.
        Rabid Howler Monkey
        • no. Your question was "What's the difference between Chromium OS and Google

          "What's the difference between Chromium OS and Google Chrome OS?"

          Not CoreOS. Very likely it does include some proprietary components - but I have seen no data on that.

          Besides, ANY linux based distribution can be "CoreOS"... just leave out the non "CoreOS" features, and add the appropriate management software.
          • It wasn't my question :)

            The question is taken from Google's own FAQ page for Chromium OS. Did you miss the quotes? Of course, you can visit the web page and read the differences between Chrome OS and Chromium OS. After all, who knows better than Google?
            Rabid Howler Monkey
      • Looks like SJVN might have mistyped himself

        I suspect that ChromiumOS was what he meant.
        John L. Ries
        • Maybe not

          Wikipedia lists CoreOS as a fork of Chrome OS, not Chromium.

          I'm not sure it matters. Chrome itself is built from the Chromium OS source. Changes go into Chromium first. Chrome includes bundled proprietary software like Flash, etc but I wouldn't consider those as part of the OS. They are very unlikely to be present in something as stripped down as CoreOS anyway.
  • Low memory?

    "Its developers claim that, at a mere 114MBs of RAM, CoreOS takes up 40 percent less memory on boot than the average Linux server."

    Funny, I have a CentOS 6 minimal that weighs 50 MB, adding a couple of services shouldn't take it to more than 100 MB. That's *my* average linux server, don't know what they compare to.

    For example, I just checked one of our standard VPSs (with apache, ftp, mysql, exim, spamassassin, zabbix, collectd and a second apache for our control panel) and it uses 180 MB.