This blog post is not about the technical details around LXC, LXD, Docker, Kubernetes, etc. It focuses on the different use cases LXD and Docker are solving and should help non-experts understand them.
Canonical demoed a prototype of LXD last week at ODS. Several journalists incorrectly understood that LXD is a competitor of Docker. The truth is that LXD is trying to solve a completely different use case than Docker. Ubuntu 14.04 was the first operating system to provide commercial support for Docker. Six times more Docker images are powered by Ubuntu than all other operating systems combined. Ubuntu loves Docker.
Different Use Cases?
Docker is focused on being the universal container for applications. Developers love Docker because it allows them to prototype quickly solutions and share them with others. Docker is best compared to an onion. All internal layers are read-only and only the last layer is writeable. This means that people can quickly reuse Docker containers that were made by others and add their own layers on top if desired. Afterwards you upload your “personalised onion” to the Docker hub hence others can benefit from your work. Docker is ideal for augmenting developer productivity and showing of innovations.
Canonical is the company behind Ubuntu and Ubuntu powers 64% of all OpenStack’s in production, the fastest growing open source project in the world. In OpenStack, like in VMWare or on AWS, you run a hypervisor on a host operating system and then install a guest operating system on top. Because you have two layers of operating systems you can host on one server many applications on multiple operating systems at the same time. This is greatly optimising resource usage over non-virtualization. However because you need to duplicate operating systems you are wasting a lot of resources. Now ideally you could put Docker directly inside OpenStack and run all applications from inside containers. The problem with this is that Docker does not give an administrator the possibility to remotely log into the container and just add some monitoring, backup, etc. and other normal activities administrators do to guarantee SLAs. In comes LXD. LXD is building on top of a container technology called LXC which was used by Docker before. However LXD allows you to have access to a virtual server, just like you would have in case of a hypervisor. The big difference is that LXD does not require operating systems to be duplicated. Instead it partitions the host operating system and assures fair and secure usage between different applications that run inside different containers. The result is that the same server can pack many more applications and startup as well as migrations of applications between different servers becomes extremely fast. This idea is not new. Mainframes already had containers. Solaris had containers. LXD just makes sure that your favourite private cloud has containers that are easy to manage.
Can a hypervisor, Docker and LXD coexist?
Yes. The hypervisor could make sure Windows runs on top of an Ubuntu host [linux containers can not support Windows on top]. Docker containers can host some next generation scale out solution that is either purpose build for Docker or has made changes to support some of the new paradigms Docker introduces. LXD will be best for all your standard Linux workloads that you just want to move as is. No need to update the applications or the tools that get integrated into them.
Since LXD has an Apache licence and is available on Github, it is very likely that the future will actually evolve into a world where LXD and Docker advantages get combined in some shape or form. Hopefully with new innovations being added as well. That is the power of open source innovation and exactly the reason why Canonical has shared LXD with the world…
Windows has been running on the majority of PCs for many years now. Microsoft successfully translated its client monopoly into a stronghold server position. However times are changing and it is no surprise that the new CEO of Microsoft is a Cloud expert. Cloud can make Windows irrelevant.
On the cloud you no longer use a client-server architecture. HTML5 has come a long way and is close to feature parity with most Windows GUI applications. HTML5 means that you can do mobile, tablet and PC without installation or client-side version management. This means that Salesforce, Google Apps, Workday and other SaaS solutions have become enterprise successes overnight. Mobile first means Android and iOS first.
However the cloud is also bringing deeper changes. Innovation has never been cheaper. You don’t need to invest in anything. Hardware is almost for free. Software solutions are just an API away. Storage is infinite. Distribution is global.
Mobile game companies were the first to experience overnight successes whereby on Monday they launched 2 servers and by Sunday they managed 5000.
The next frontier will be business software. Small and nimble SaaS players will become overnight successes. Their software stacks will be different however. SQL Server and even worse Oracle and DB2 database clusters are no longer enough. They technically don’t scale. They financially don’t make sense. They are extremely hard to manage compared to nimble alternatives.
Windows on the server is in no better shape. Docker and CoreOS are promising lightweight fast scale out. Ubuntu’s Juju is showing instant integration everywhere. The operating system is fast becoming a liability instead of an asset. Restarts of minutes to upgrade are not in line with 24×7 100% SLAs. In a time where each container tries to be as small and efficient as possible and upgrades need to be transactional and expressed in micro seconds, Windows is no longer the platform of choice. The cloud gave Ubuntu, an open source Linux operating system, up to 70% market share and growing. Remember what happened with Netscape and Real Player the moment Windows reached 80-90% penetration.
So what should Microsoft do?
The first thing is acknowledge the new reality and embrace & extend Linux. Many companies would love to migrate their .Net solutions to efficient Linux containers. Office on Linux Desktops is overdue. Why not give governments open source desktop solutions? They will gladly pay millions to boost their national pride. China did. Why would India, Russia, France, Germany, Brazil, Spain, Italy, Turkey, Saudi Arabia, Israel and the UK be different. Active Directory, Sharepoint and Exchange will loose market dominance if they do not embrace Linux. Windows phones with a Linux core could actually run Android apps and would level the playing field. Linux developers have been secretly jealous of the easiness to build great looking GUI apps. A Visual Studio for .Net on Linux and let’s be disruptive Go lang, Rails and Python would win developers mind share.
IoT and embedded solutions that hold a Microsoft Linux kernel would make Android swet.
Microsoft Open Source solutions in which you get the platform for free but developers can resell apps and extensions will deliver Microsoft revenue shares, support and customisation revenues. Pivotal is showing how to do just this. Instant SaaS/PaaS enablement and integration solutions are hot but CloudFoundry is not a Windows play.
But all of this is unlikely to thrive if Microsoft would keep its current internal structures. Just plainly buying some Linux thought leaders is unlikely to be enough. Microsoft could inspire itself in EMC where most people don’t know that RSA, VMWare and Pivotal all float into the same pockets. Consulting services & sales from one company are rewarded for selling products owned by the group. Office, Cloud, Phone, IoT and Business Software as independent units that can each determine how they interact with the Windows and Linux business units would accelerate innovation.
Let’s see if Redmond is up for change. The new CEO at least seems to have vastly improved chances of change…
If you read sites like highscalability.com you will have certainly read about those big name dotcoms that deploy new features to production up to tens of times a day. For most startups bringing features to production is still a manual, at best semi-manual process. You have the odd start-up that has it all automated, but unfortunately this is often a signal that they have too much time on their hands which points towards more critical problems.
What if startups would not have to worry about how to set-up hourly feature deployment? What if they could get an open source solution that delivers them flexible and highly scalable continuous deployment in minutes?
What if Startups could launch new features faster than the top DotComs and scale almost as good?
If this sounds attractive to you or you know a start-up to whom it would be, then you should visit this blog post. Ubuntu has launched a beta program and if enough startups sign up, then they will build an instant and scalable open source continuous deployment solution for them.
Traditionally manufacturers would build a product, stock their warehouses and hope they sell it. “Build it and they will come”, was the norm. A very expensive strategy. Crowd-funding websites have changed this. Start-ups are now able to create a prototype, shoot a video and see if people will love the product without investing any massive amounts of money.
Today is a special day because crowd-funding can change forever. Today Canonical announced the largest crown-funding experiment ever. Where Pebble asked for $100K, got oversubscribed 100 times and ended up getting around $10M, Canonical is aiming for $32M from the start.
So who is Canonical and how will they pull this off? Canonical is the company behind Ubuntu, the most popular open source Linux distribution that runs over 50% of the Operating Systems in public clouds like Amazon AWS.
Canonical will be presenting the Ubuntu Edge, an awesome phone that will push the limits of mobile communication as we know it. It is the first phone that is “your PC in your pocket”. A phone that you hook up to a screen and a keyboard and you can use as a laptop. With 4GB of memory it has similar specs as a laptop. The Ubuntu Edge also has an Edge in usability. Everybody that was able to use the Ubuntu phone operating system will tell you that it is one of the easiest phones out there. Swipe from the left and you have all your most used apps, not only 4. Swipe from the top and you have full control of your Wifi, network, etc. Gone are the days that you had to push: Settings, Wi-Fi, etc. Without lifting a finger you pick your wifi. Right-slide switches between your apps. Bottom-slide gives you an in-app menu that changes based on the current app.
So what about mobile apps. That is exactly the reason why crowd-funding is used. All Ubuntu enthusiasts will be able to get their hands on an Ubuntu Edge. These are the top computer experts in this world. The top Geeks. The people that recompile an operating system kernel for fun. So expect them to come up with apps that push boundaries because the Ubuntu Edge is the only phone that is completely Open: Open Source, Open Hardware and Open Funding. Find more here: igg.me/at/ubuntuedge…