Absrtact: Docker and CoreOS have been fighting for the container market, they offer different ways to complement each other where there is not much competition.
With the end of 2014, CoreOS launched a rocket for Docker, challenging Docker's process model as an "inherent flaw". Although CoreOS's founder, Alex Polvi, has softened his stance, he insists on his basic point: Docker is no longer the ideal component for building a system.
The rapid rise of the container is only a recent occurrence, so it is easy to see why POLVI is actively making a statement. With the beginning of the container war, the bigger concern is whether the repeated bickering between suppliers will eventually scare the company into adopting container technology, at least until the dust settles.
Platforms and Components
A bit of CoreOS's Polvi and Docker founder Sonomon agree that Rocket and Docker are not competitive-not necessarily. Hykes told me that Rocket was actually a libcontainer competitor and not an all-encompassing Docker competitor. Libcontainer is a library that specifies configuration options for the container, critical to Docker, and a community that strives to help define the future of the container.
InfoWorld's Serdar Yegulalp wrote: "In other words, Libcontainer is really great."
However, Polvi clearly felt that Docker ignored his core and expected more functionality-to become a platform. Polvi told me:
Docker started as a component to build the platform, a building block that can be layered into the system to take advantage of the container ... This is the original value of supporting Docker, a simple tool to help build things, and I think that's why it's so successful at the moment.
In a sense, it's kind of like we want to go back to the good old days. But Polvi insists that he is not against Docker, but rather that Docker remains an open component for building other systems:
Docker (now) is itself a platform, not a building block. Isn't that good? No, it's just no longer the ideal component for building a system. Our system contains this (building block) and we want to use a container to build an operating system.
We believe that components are still necessary to be integrated with other systems. We think Docker's original values are good, so we have to make sure that the values exist, that is why we build rocket.
In a way, the problem is that in the process of building a business, Docker may make it difficult to build other businesses either intentionally or unintentionally, Polvi continues:
Docker platform and rocket are very different things. The Docker platform is a product, and rocket is a component. Companies will choose Docker platforms to replace cloud Foundry such things, such as cloud Foundry will use things like rocket to build cloud Foundry.
Whether your company needs Docker or rocket (or other container technology) may end up with what you want to build. But can companies use the Docker platform and then match Polvi's modular Libcontainer?
Absolutely yes, that's where it gets messy.
Is there a need for rocket?
Open source world history has a long history of free, no one knows the need to charge. Sometimes they will pay, but more often, they will not pay.
Docker replaces the long-standing container technology LXC of the Linux kernel. But as pivotal Andrew Clay Shafer points out, "Docker solves the problem of LXC usability and makes that technology work." ”
In a similar way, CoreOS also made significant improvements to Docker. James Watters, Pivotal's Cloud foundry executive, stressed: "Rocket is a very important step in bringing new things into the market and maintaining the" center multi-platform container "view. Rocket also promised to improve Docker safety and so on.
Not everyone agrees with this view.
While Hykes admits that "rocket offers some good ideas, we will absorb them", he insists that rocket lacks the major improvements CoreOS seeks, including improved security and scalability.
Maybe, maybe not. Rocket's fierce reaction suggests it serves deep industry needs. Although Docker extends functionality for the overall improvement of ease of use, many people need more discrete libcontainer so that they can easily plug in existing projects and environments. Libcontainer may be the answer, but developers seem to appreciate Rocket's way of returning to basics.
Clean up the mess.
Look again at the questions left to the business: do they need Docker or rocket? More and more answers may be both.
There is also the fear that competitive technology will eventually confuse customers rather than help them. Polvi told me that there was actually a strong consensus, including between competitors, about the value of containers:
In our emerging space, everyone wants customers to successfully use the container. I think we need to do something to make sure the containers are ready for business, such as security, scalability, and development standards.
This is how competition works, and more appropriately, open source works. Polvi immediately defended: "In general, open source is good for creating components, not products." The enterprise seeks open source container technology, and then, with this in mind, expects open source to provide better building blocks rather than molded enterprise products.
It also means that Polvi continues to tell me that CoreOS's main competitor is not Docker, but that "the internal team is piecing together everything." While large companies have teams that build systems to run the infrastructure, CoreOS believes they can provide solutions for companies that need to have the same level of maturity as large companies to build their own.
In other words, Rocket is an open source component that can help organizations build systems. According to Polvi, Docker seeks to be a platform. They are two very different methods that are needed. What is right for you in a particular project depends largely on what you want to build.