Canonical has announced a new 'snappy' Core version of its Ubuntu Linux OS, designed for containerized applications in the cloud. It's the biggest change to Ubuntu in 20 years, says Canonical's lead product designer Mark Shuttleworth.
The 'snappy' Ubuntu Core is a minimal server image with the same libraries as today’s Ubuntu, but applications are provided through a simpler mechanism, aligned to container approaches such as Docker, and in competition with containerized Linux versions such as CoreOS, Shuttleworth told DatacenterDynamics in a phone interview.
Ubuntu Core is available immediately as alpha code and will be delivered as a stable release in April 2015, after which it will be developed in parallel with the existing Ubuntu - based on Debian pacakges - and reach a long term support (LTS) version in 2016.
"Core is probably the most dramatic step we have taken in a long while," said Shuttleworth. "It's a new flavour of Ubuntu that does things differently from how they've been done in the last 20 years."
Ubuntu has used Debian packages, but the new Core won't do that, he explained. It's based on the work Canonical did for Ubuntu Mobile, aiming to produce a version of the operating system which is reliable and manageable enough to deploy on mobile phones - whose requirements turn out to closely match those of the cloud, he explained.
"If you want to deliver state of the art software to phones, you need completely reliable and efficient updates for mobile devices," said Shuttleworth. "You also have to improve app security, because your private info is on your phone, and you are running arbitrary software."
Canonical put a team on cracking these two "unsolvable problems", and they came up with a transactional or "image-based" updating mechanism for the operating system and applications, which can robustly update software over the air and roll it back when required, and support an App Store model for applications software.
"Much to our amazement, this turned out to be important for data centers," he said. "Focusing on carrier requirements for reliability and security and efficiency, was a really useful discipline. We can install software from any vendor, and ensure it is contained. Once you’ve got that right, it enables us to change a whole bunch of things in Ubuntu."
Designed for Docker
Docker also uses a transactional delivery mechanism, which is ideal for supporting containers that are tested by developers and then transferred to operations for actual use. Canonical will present this as the best way to do Docker, and Docker itself is on board. In Canonical's press release, Ben Golub, CEO of Docker says “Docker’s transactional application delivery is shaping modern application development and DevOps practice, and snappy Ubuntu promises to bring the same transactional updates to the operating system itself."
Microsoft recently announced Docker support in Windows, and is hosting Core on its Azure cloud: “Microsoft loves Linux, and we’re excited to be the first cloud provider to offer a new rendition of one of the most popular Linux platforms in the Azure cloud,” said Bob Kelly, corporate vice president at Microsoft.
CoreOS Rocket in its sights
This work puts Canonical on a collision course with other containerized flavours of Linux, in particular CoreOS and Red Hat's Atomic, and Shuttleworth said that Core is better - smaller, more secure and more open - than either. "Ubuntu Core is smaller than CoreOS and more extensible," he said, because CoreOS requires the adoption of particular technologies. "Because Core is smaller and more exetnsible, you can use LXD, Parallels, Kubernetes and so on."
Core is likewise smaller than Atomic: "You would choose Core for all the same reasons, but it is smaller and apps are better contained. CoreOS and Atomic are both one blob from one vendor."
He was also dismissive of CoreOS' Docker rival Rocket, launched because of alleged shortcomings in the Docker platform.
"We don’t have any reason to feel that the Docker company is not being a great steward of Docker," said Shuttleworth. "Docker is being shepherded well enough, so I don’t see a drive for people to do things differently. I'm sure the CoreOS folks mean well, but I don’t think the cost of everybody having to do everything twice makes me win. We thought the CoreOs folks had bigger fish to fry."
Canonical can easily support Rocket if developers take to it, said Shuttleworth, but he doesn't think it's likely they will, given the success of Docker.