Two weeks ago, Calxeda publicly demonstrated Ubuntu 12.04 on the EnergyCore SoC, a monumental occasion for the ARM server industry. The progress that’s been made by Calxeda and our partners over the last 12 months has truly been remarkable. The journey we’ve taken and the opportunity afforded us reminds me of a famous childhood story, “The Little Engine That Could”; a story that teaches children about hard work and believing in ourselves.
(Spoiler alert: Essentially, there’s a stranded train that needs help getting over a high mountain. Some of the larger, more established, engines are asked to pull the train, but for various reasons they refuse. So they ask the small engine, who agrees to try. The engine successfully pulls the train over the mountain while repeating its motto: “I-think-I-can”.)
There have been naysayers who have, from the very beginning, doubted not only Calxeda’s ability, but the ability of an entire ecosystem to recognize and respond to an industry desperate for change. And that’s exactly why the world’s first Ubuntu 12.04 demo on an ARM server two weeks ago was so exciting! Together with our partners, we demonstrated the following on a Calxeda reference server:
- Fully functional web server powering a local copy of calxeda.com
- Cloud Infrastructure-as-a-Service (IaaS) platform via OpenStack
- Support for Canonical’s Juju and MaaS for system configuration and provisioning
Some people have recently asked me, “so, what’s the big deal?” Well, I want to take a moment to provide some color commentary about these demos and, more importantly, what these demos really represent.
Support for Web 2.0 Applications
While the calxeda.com website is relatively simplistic – it’s a standard LAMP (Linux, Apache, MySQL, PHP) web application currently using the Joomla CMS – it reinforced the fact that these “little servers” can manage these workloads just fine. The beauty of these types of applications is that the large majority of them are written in interpretive (or scripting) languages like PHP. The “porting” effort literally involved copying & pasting the existing files from our x86 servers to our ARM-based system. So easy a
caveman marketing guy could do it.
In addition to PHP, there is plenty of support for other common frameworks as well. Python, Perl, Ruby (on Rails), node.js, and even lesser known packages are all available today for this architecture. Combined with Java, over 80%+ of the world’s most deployed web application frameworks are now available for ARM. The missing 20%? Microsoft’s IIS/ASP.NET environment. (Hopefully this message reaches the nice folks in Redmond.) All in all, however, ARM-based servers are ready to take on the web application market, especially for large web farms and clusters where scaling out really matters.
Efficient Cloud Infrastructure Alternative
People are pretty baffled when we use the words “Cloud” and “ARM” in the same sentence. Understandably so. But let me explain for a minute a possible future in which those two words become extremely synergistic. In today’s cloud architectures, virtualization is used as a means to provide elasticity, dynamic workload management, and multi-tenant security, all while sharing the same underlying physical systems (which tend to be very large servers). What if, however, we took an opposite approach and were able to provide the same benefits through the use of many smaller servers – a phrase some have coined as physicalization. Suddenly, we move back to a model of dedicated hosting and guaranteed performance, but with the same on-demand access and cloud-based pricing customers are accustomed to. As long as the end-user gets access to a compute resource, and the economics of the infrastructure make sense for the cloud provider, this could ultimately be a win-win for the future of cloud computing.
That’s why we’ve been working so closely with many of the emerging cloud platforms. At UDS, we demonstrated the world’s first OpenStack demo on an ARM-based server using LXC (Linux Containers) as a light-weight alternative to a traditional hypervisor.
In fact, two of the web applications (mentioned above) were deployed via OpenStack: a default Ruby on Rails container and a simple chat server written in node.js.
There’s also interest from the OpenStack community in building in support for provisioning instances from bare-metal. The customer appeal of a cloud is it’s ability to dynamically spin up or down new compute instances based on demand, without having to worry about physically managing those resources. With continued innovation and collaboration between the cloud providers and the software ecosystem, ARM servers will become a very realistic cloud alternative.
Simple Manageability for Data Centers
Projections for the emerging microserver market (a term introduced by Intel) are predicted to be anywhere between 10-20% of all shipping units within the next few years. (Oppenheimer expects the microserver market will grow to 21% of the x86 server market by 2016.) Regardless of the architecture, the introduction of thousands of servers in this form factor will accelerate the need for data center automation. That’s why it was so fitting for the debut of a Calxeda-based reference system at UDS to showcase Canonical’s Juju and new MAAS (Metal-as-a-Service) products for service orchestration and bare-metal provisioning. As we move into this new era of hyperscale computing, DevOps will play an increasingly more critical role to support the business needs of an organization. With support from products like Juju, and other system management tools like Opscode’s Chef, data centers will now be able to seamlessly manage both x86 and ARM-based servers for a variety of workloads within the same data center.
We still have a long way to go, but if we continue to believe in ourselves and work harder than ever, we’ll end up getting this train pulled over the mountain together. This is only the beginning. The next few months will bring even more examples of why ARM-servers are here to stay. We-think-we-can…do you?