Two weeks before mobile world congress the Canonical offices received from Amazon one of the cheapest Intel servers with 6 Ethernet ports. It contains no hardware acceleration. Two weeks later employees from Ericsson, Cisco, Huawei, ZTE, HP Networking had to admit that they could not take us to see a smarter switch in the whole of MWC. This blog post is about what made this switch the smartest switch. The next blog post explains how this smart switch can solve the four biggest problems in the telecom industry (I.e. new revenue, churn reduction, cost reduction and OTT revenues).
So what made this switch so smart. First of all when we got it, it was an Intel server with an i5 processor and we had to go and buy 8GB of RAM and a 256GB SSD and put Ubuntu Core on it. The next thing our brilliant engineer Loic created was a Snapp App or Snap that made port 1 into WAN and the others into LAN. Now we actually had a switch. He and our equally brilliant head of R&D, Alex, also worked with F5 on a Snap that can boot up a KVM in which you run another operating system. This allowed us to put F5 Linerate in the switch. The end result is that we have the only Switch that very easily can support any exotic operating system to run on top. Via our Docker framework we could also run Docker based networking logic. However if you run the networking logic inside a Snap then this would give bare-metal performance with the flexibility of completely reconfiguring the switch by just deploying a different snap or adding multiple. If the engineers of the companies, that had to admit we had the smartest switch, want to win tomorrow then they just need to take a box with accelerated networking hardware and put a Snappy Framework that mediates between different Snaps that use network hardware acceleration. It would be the most flexible software defined networking appliance or SDNA out there. We also worked with the super engineers from Balabit that delivered a Firewall Snap in three days. So now we can assign Linerate to port 2 till 4 and Zorp to port 5 and 6. Making it a very flexible SDNA and Ubuntu Core the perfect NFV or SDNA operating system.
Zabbix already made one of our best written Juju Charms and they made a Snap of the Zabbix agent for ARM and Intel in no time. This means that our SDNA was now being monitored.
When telling the public that we called Microsoft to ask if they could write some software for our SNDA and open source it, everybody was surprised they said yes. The truth is that Microsoft is one of our best partners for quite some time now. Two days later we had a Snap that worked both on Intel and ARM and put a nice graph of the real-time load of our SDNA onto Azure. They even documented everything hence any programmer can connect Ubuntu Core to Azure super easy. Impressive work and thank you Microsoft because it made for a very surprising element in our story.
Even more surprising was the fact that we had ARM software running on Intel. Thanks to Forgerock and ARM we had an ARM mbed coap snap and mbed device server running in the cloud. Forgerock and ARM helped to put our SDNA inside a complete device management solution with identity and access management being seamlessly resolved.
However none of these solutions made us have the smartest switch of MWC. That was reserved to our amazing IoT partners Dataart and Cybervision. A simple €5 bluetooth low energy dongle integrated our switch with light and temperature sensors. Devicehive made our switch magically into a light controller. What was event more amazing was that via a Snap our switch became AllJoyn compliant and was the first switch to be able to talk to a television, dishwasher or fridge. The open source Devicehive will shortly be extended with Snaps for all possible IoT standards solving one of the biggest IoT problems for IoT developers instantly: interoperability. This will be the easiest way for any industrial gateway to become compliant with all types of standards. Also the cool open source IoT platform Kaa made our switch magical. Imagine how a shop can easily buy a Snap from a Snap Store that would be able to project Tweets onto a large LED display in the shop’s window. If only one Tweet every ten seconds would be randomly selected, it could start a new trend of Tweesplaying. The store that started it could potentially have millions of Tweets competing to be on the display and become an instant social network celebrity.
The last part was my most personal contribution. If you work with the most brilliant engineers you have to be able to ask intelligent questions. Nothing better than actually trying out the technology they just created. Thanks to a discount in Maplin, we were able to buy a robot arm for £35. Three hours later it was build. However there were no Linux drivers. I have been looking for an excuse to learn Golang and build something with Ajax. The end result is on github and you can now control the Maplin robot and make it do amazing demos via a Json script or some buttons.
All this would not have been possible without the contributions of all these amazing partners and colleagues, so thank you very much. So without any delay here is the smartest switch and the first software define network appliance, or SDNA. We hope somebody soon makes a smarter one because the hardware specs was embarrassingly low-end compared to what was available on the show.
See it move here.
1. Block chain
The block chain is the heart of digital currencies like Bitcoin. What most don’t realise yet is that the block chain will be used for managing everything from domain names, artist royalties, escrow contracts, auctions, lotteries, etc. You can do away with middlemen whose only reason of being is making sure they keep on getting a large cut in the value chain. Unless a middlemen or governmental institution adds real value, they are in danger of being block chained into the past.
2. Biometric security
A good example is the Nymi, a wearable that listens to your unique heart beat patterns and creates a unique identity. Even if people steal your Nymi, it is of no use since they need your heart to go with it.
3. Deep belief networks
Deep belief networks are the reason why Google’s voice recognition is surprisingly accurate, Facebook can tag photos automagically, self-driven cars, etc.
4. Smart labels
They are 1 to 3 millimetres small. They harvest electricity from their environment. They can detect people approaching within half a metre, sometimes even identify them and each product you will buy. Your microwave will not longer have to be told how to warm up a frozen meal.
A $35 Raspberry Pi 2 or Odroid is many multiples more powerful than the first Google server but the size of a credit card. Parallella is $99, same size, and almost ten times more coresP then the first Google server.
6. Apps and App Stores for Smart Devices
Snappy Ubuntu Core allows developers to create apps like mobile apps but to put them on any smart device from robots & drones to wifi, hubs, industrial gateways, switches, dishwashers, sprinkler controls, etc. Software developers will be able to innovate faster and hardware can be totally repurposed in seconds. A switch can become a robot controller.
7. Edge/proximity/fog clouds
Public clouds often have too much latency for certain use cases. Often connectivity loss is not tolerable. Think about security cameras. In a world where 4K quality IP cameras will become extremely cheap, you want machine learning imagine recognition to be done locally and not on the other side of the world.
8. Containers and micro-services orchestration
Docker is not new but orchestrating millions of containers and handling super small micro services is still on the bleeding edge.
9. Cheap personalised robots and drones
£35 buys you a robot arm in Maplin in the UK. Not really useful for major things except for educating the next generation robot makers. Robots and drones will have apps (point 6) for which personalised robots and drones are happening this year.
10. Smart watches and hubs
Smart hubs know who is in the house, where they are (if you wear a phone, health wearable or smart watch), what their physical state is (heartbeat via smart watch), what your face looks like and your voice. Your smart watch will know more about you then you want relatives to know. Today Google knows a husband is getting a divorce before they do [wife searches and uses google maps]. Tomorrow your smart watch will know you are going to have a divorce before you do [heart jumped when you looked at that girl, her heartbeat went wild when you came closer].
Canonical is the company behind Ubuntu. Ubuntu powers up to 70% of the public cloud and 64% of OpenStack private clouds run on top of Ubuntu. Today, Canonical launched Snappy Ubuntu Core! Snappy Ubuntu is a revolution in how software gets packaged, deployed, upgraded and rolled-back. So what is it and why should you and your business care?
What is Snappy Ubuntu?
Snappy is allowing developers to build Snappy Apps – called Snaps – like mobile apps and deploy them to the cloud, any X86 computer or a fast growing list of any form of IoT or ARM v7/8 based board. For more info on IoT see ubuntu.com/things In the past developers would make a software solution, afterwards a maintainer would take often weeks or months to create a packaged version. This would mean that fast moving projects like Docker would never be up to date inside any of the big Linux distributions. Snappy changes this by allowing the developer to package their solution on their own and publish it through the Snap Store to all users in minutes. Since all Snaps run in a secure and confined environment, they can not harm other Snaps or the operating system itself. Quality, speed and security can now all be combined.
Snappy upgrades are transactional. This means that you install a new version in one go but also easily roll back to the previous version if required. Snappy manages a super small version of Ubuntu called Ubuntu Core. This means you can run it very cost efficiently and fast everywhere. Since Ubuntu Core is a lightweight version of Ubuntu, teams don’t have to be trained when they want to go from the cloud to embedded, it all works the same.
Why is Snappy important for Businesses?
Snappy allows solutions to be packaged and published by the software vendors in minutes instead of months. Users can deploy and roll back very easily. Trying new innovations becomes cheap and fast.
Snaps can use any license. Snappy Ubuntu was born as a spin-off of the Ubuntu Phone operating system. Canonical is working on commercial Snap Stores with different groups like the ROS Robot Store, the Ninjasphere Store, etc. Unlike traditional mobile app stores, the Ubuntu Snap Stores are a lot more open. You can use the generic Ubuntu Snap Store but you are also able to get your own branded Snap Store and govern it. For large companies there will be even an OEM version that they can manage locally and host federated Snap Stores for their large customers. Be sure to reach out to Canonical if this is of interest to you.
With Snappy, the vendor packages the complete application, including its dependencies. Less moving parts mean less chances of something going wrong and cheaper to support customers. Updates are incremental so only what changes gets pushed, saving bandwidth costs and time. Urgent security patches can be easily distributed, with high confidence.
Existing Docker or other container apps can be Snappy deployed. Building your Docker containers or other commercial Snaps on top of Snappy Ubuntu makes good business sense. In the future you can get optional commercial support from a company that has been supporting Linux for 10 years and is trusted by Amazon AWS, Google and Microsoft Azure with the big majority of their Linux workloads.
Snappy Ubuntu is open source and has some great example Snaps, so make sure your teams don’t get “Snapsassinated” by a competitor…
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…
Every day a new orchestration solution is being presented to the world. This post is not about which one is better but about what will happen if you embrace these new technologies.
The traditional scale-up architecture
Before understanding the new solutions, let’s understand what is broken with the current solutions. Enterprise IT vendors have traditionally made software that was sold based on the number of processors. If you were a small company you would have 5 servers, if you were big you would have 50-1000 servers. With the cloud anybody can boot up 50 servers in minutes, so reality has changed. Small companies can manage easily 10000 servers, e.g. think of successful social or mobile startups.
Also software was written optimised for performance per CPU. Many traditional software comes with a long list of exact specifications that need to be followed in order for you to get enterprise support.
Big bloated frameworks are used to manage the thousands of features that are found in traditional enterprise solutions.
The container micro services future
Enterprise software is often hard to use, integrate, scale, etc. This is all the consequence of creating a big monolithic system that contains solutions for as many use cases possible.
In come cloud, containers, micro-services, orchestration, etc. and all rules change.
The best micro services architecture is one where important use cases are reflected in one service, e.g. the shopping cart service deals with your list of purchases however it relies on the session storage service and the identity service to be able to work.
Each service is ran in a micro services container and services can be integrated and scaled in minutes or even seconds.
What benefits do micro services and orchestration bring?
In a monolithic world change means long regression tests and risks. In a micro services world, change means innovation and fast time to market. You can easily upgrade a single service. You can make it scale elastically. You can implement alternative implementations of a service and see which one beats the current implementation. You can do rolling upgrades and rolling rollbacks.
So if enterprise solutions would be available as many reusable services that can all be instantly integrated, upgraded, scaled, etc. then time to market becomes incredibly fast. You have an idea. You implement five alternative versions. You test them. You combine the best three in a new alternative or you use two implementations based on a specific customer segment. All this is impossible with monolithic solutions.
This sounds like we reinvented SOA
Not quite. SOA focused on reusable services but it never embraced containers, orchestration and cloud. By having a container like Docker or a service in the form of a Juju Charm, people can exchange best practice’s instantly. They can be deployed, integrated, scaled, upgraded, etc. SOA only focused on the way services where discovered and consumed. Micro services focus additionally on global reuse, scaling, integration, upgrading, etc.
We are not quite there yet. Standards are still being defined. Not in the traditional standardisation bodies but via market adoption. However expect in the next 12 months to see micro services being orchestrated at large scale via open source solutions. As soon as the IT world has the solution then industry specific solutions will emerge. You will see communication solutions, retail solutions, logistics solutions, etc. Traditional vendors will not be able to keep pace with the innovation speed of a micro services orchestrated industry specific solution. Expect the SAPs, Oracles, etc. of this world to be in chock when all of a sudden nimble HR, recruiting, logistics, inventory, supplier relationship management solutions, etc. emerge that are offered as SaaS and on-premise often open source. Super easy to use, integrate, manage, extend, etc. It will be like LEGO starting a war against custom made toys. You already know who will be able to be more nimble and flexible…
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…