satis egitimisatis egitimitengda.pro

Open@Blog

Discussion on the state of cloud computing and open source software that helps build, manage, and deliver everything-as-a-service.

  • Home
    Home This is where you can find all the blog posts throughout the site.
  • Categories
    Categories Displays a list of categories from this blog.
  • Tags
    Tags Displays a list of tags that has been used in the blog.
  • Bloggers
    Bloggers Search for your favorite blogger from this site.
  • Login

With the Xen Project Hypervisor 4.4 having been released a few weeks ago, the project is starting the planning cycle for version 4.5 of the Hypervisor. So I thought it is worth walking you through how we manage releases.

Welcoming Oracle's Konrad Rzeszutek Wilk as Release Manager

But first I wanted to thank George Dunlap from Citrix for successfully managing the 4.3 and 4.4 releases of the Xen Project Hypervisor. The Release Manager role is a volunteer role open to Xen Project maintainers. George, has stepped down from his role recently to find more time for coding and help bootstrap the CentOS virtualization SIG.

Konrad Rzeszutek Wilk has volunteered to take on the role for the 4.5 release. A big welcome and Thank You!

Konrad is Software Development Manager at Oracle. His group's mission is to make Linux and Xen Project virtualization better and faster. As part of this work Konrad has been the maintainer of the Xen Project subsystem in Linux, Xen Project maintainer and now also Release Manager for the 4.5 release of the Xen Project Hypervisor. Konrad has been active in the Linux and Xen communities for more than 6 years and was instrumental in adding Xen Project support to the Linux Kernel.

How The Xen Project manages releases

As is the case for many open source projects, the Xen Project community does not maintain a committed roadmap as proprietary software vendors do. Instead, we strive to accurately track development for new releases, with a predictable release cadence for major releases and maintenance releases. We aim to release the Xen Project Hypervisor every 6-7 months: historically our release cadences ranged from 9 to 18 months. Introducing the Release Manager role was instrumental to getting us to shorter and a predictable release cadence.

...
Hits: 5563
Rate this blog entry:
Continue reading Comments

Quite a few years ago I made a rather nice living coding things up. Some were big projects used in regulated industries, and others a bit more mundane, but in all cases I tried to ensure confusion over what the point of the project was could be minimized. After all, the last thing I wanted was a prospective user or partner investing in something which wouldn't meet their needs.

Fast-forward to today, and as the XenServer evangelist I want to accomplish the same task, but scope is a bit broader. I want people to be using XenServer, and I want many tens of thousands of them doing so. By the same token, I also want those same users to know they are using XenServer, and not something else. After all, its equally bad if someone thinks they're using XenServer when they aren't, or are using something different when they are in fact using XenServer.

A perfect case in point is the confusion over what "Xen" and "XenServer" are. For years I've heard people who want XenServer referring to it as "Xen" and occasionally as "Xen Server". While many of those people aren't technical, and for them the distinction is largely irrelevant, the fact of the matter is the distinction does matter. For example, if someone is working on a project which they wish to integrate with XenServer, it does them no good to see references to "Xen" all over XenServer content, or to look at examples which reference "Xen"; even if the actual code is for XenServer and not "Xen". Even more significant is that, with the move of the "Xen" hypervisor to the Linux Foundation last year, what was once known as the "Xen" hypervisor has now become the Xen Project hypervisor.

All of which gets me to Apache CloudStack. Apache CloudStack is a wonderful solution for anyone looking to get a cloud up and running quickly, particularly those looking to have multiple hypervisors in their cloud and managed from a single console. Unfortunately, Apache CloudStack is also a perfect example of the problem I'm highlighting here. Within the UI, documentation and code, the term "Xen" and "XenServer" are used interchangeably, when in reality Apache CloudStack only supports XenServer; or more precisely XAPI based toolstacks for the Xen Project hypervisor. To resolve this problem, and to pave the way for the Xen Project hypervisor to become a full citizen of Apache CloudStack, I put forth a proposal to distinguish and disambiguate "Xen" and "XenServer". The design document can be found on the CloudStack wiki. To give an example of the cost of resolving these things after the fact; the initial patch consisted of over 17,000 lines, subsequent patches will be needed following extensive testing, all with the result of no new functionality. If you're interested in following the progress of this activity, please do so on the CloudStack mailing lists, and on the wiki.

The point I hope I'm making here is that when there is the potential for confusion, someone will eventually become confused. If you are working on something which references "Xen" or "XenServer", I hope you'll take a few minutes to see if you're using the right references and if not plan on clarifying things for your customers and users. To assist, please refer to this handy-dandy list:

  • "Xen" is a bare metal hypervisor which since April 2013 is a Linux Foundation Collaborative Project and has been renamed as the "Xen Project hypervisor". You can find more information about Xen Project at http://xenproject.org. Importantly, while "Xen" was the name Citrix used for the hypervisor, when "Xen" moved to the Linux Foundation, Citrix granted the Linux Foundation the limited rights to use the word "Xen" as part of the "Xen Project".
  • Citrix continues to use the "Xen" mark in connection with a variety of products such as XenApp and XenDesktop, so if you are working on a project with integration into other Citrix products, and are referring to them as "Xen", you risk further confusion with the hypervisor work occurring with both XenServer and the Xen Project.
  • XAPI, or XenAPI, is a toolstack for use with the Xen Project hypervisor and is a sub-project under Xen Project at the Linux Foundation. You can find more information about XAPI at http://xenproject.org/developers/teams/xapi.html
  • XenServer is a packaged virtualization solution from Citrix which in June 2013 was made completely open source. XenServer uses the Xen Project hypervisor and API support is provided via XAPI. Commercial support for XenServer is available from Citrix, and open source activities can be found on xenserver.org.
  • XCP, or Xen Cloud Platform, was a previous attempt at making XenServer open-source. With XenServer becoming open source in June of 2013, XCP development transitioned to XenServer.       
Hits: 12821
Rate this blog entry:
Comments

Next Generation High Density App Servers Don't Require Scrapping Your Hypervisor

Recently, I sat in a conference session extolling the seemingly endless virtues of Linux Containers.  I heard claims that hypervisors were old hat: ancient bloated engines which rely on inefficient replication of a large operating system stack in order to serve up applications.  The speaker painted a picture of a future where hundreds of applications are virtualized on each piece of hardware.  "What is really needed," glowed the speaker, "is a lightweight, efficient means of serving up application: containers."

Containers are cool, but not a panacea

Containers share the same kernel as the host, so they are not burdened with the extra memory and CPU cycles it costs to replicate a full operating system stack in a hypervisor scenario.  Compared to hypervisor-generated virtual machines, containers can be fast and lean.  But they are also limited.  

Since Linux containers share the same kernel as the host, it is impossible to run Windows.  Or FreeBSD. Or NetBSD.   Or another version of the Linux kernel.  Or another Linux distribution which requires a different kernel.  All of those scenarios are best handled by a real hypervisor.  And the security aspect of hypervisors is huge, worthy of a separate blog entry of its own.  Still, if you need an environment within your organization where many workloads can leverage a single kernel environment, containers can be a viable solution.

However, some of the most vocal container advocates insist that these problems relating to containers are really application problems in disguise.  Issues about kernel support and security are the results of improper application design, they claim.  When we raise the bar on applications so that they are based solely on access to application servers, then the objections to containers will melt away -- and so will hypervisors, for the most part.  Or that's what some of these advocates claim, at least.

The death of the hypervisor is greatly exaggerated

But is there another scenario which could answer the call for highly responsive and lightweight virtual instances which does not use the container solution?  Maybe one that can actually leverage the flexibility and security which is part and parcel with most hypervisors?

...
Hits: 41518
Rate this blog entry:
Continue reading Comments

ApacheCon approaches

Posted by on in Open Source

It doesn't seem possible, ApacheCon is less than a week away. CloudStack Collaboration Conference follows shortly. I am excited about seeing ApacheCon this year, the schedule is huge and contains a ton of interesting content. That actually may be a detriment - so much content it will make deciding what talks to see difficult.

Particularly interesting to me is the ton of big data talk. There are plenty of big data projects at the ASF, and those projects have managed to bring 5 days worth of big data content to ApacheCon, coupled with 3 days worth of Lucene/Solr content. Keeping in mind that the ASF is the home for the majority of open source big data projects and ApacheCon becomes a must-attend event if you care about big data.

But ApacheCon is more than just big data, there are tracks for cloud and mobile development, as well as perennial favorites like Traffic Server, and Tomcat. 28 tracks in total.

All of this content is great; and I look forward to learning a lot while I am at ApacheCon, but it ignores the most valuable reason that I am attending: the hallway track. Being able to converse with  many members of various Apache project communities is invaluable.

I hope to see you there.

Hits: 7486
Rate this blog entry:
Comments

Migration from Publican to Sphinx and Read The Docs

When we started with Cloudstack we chose to use publican for our documentation. I don't actually know why, except that Red Hat documentation is entirely based on publican. Perhaps David Nalley's background with Fedora influenced us :) In any case publican is a very nice documentation building system, it is based on the docbook format and has great support for localization. However it can become difficult to read and organize lots of content, and builds may break for strange reasons. We also noticed that we were not getting many contributors to the documentation, in contrast, the translation efforts via transifex has had over 80 contributors. As more features got added to CloudStack the quality of the content also started to suffer and we also faced issues with publishing the translated documents. We needed to do something, mainly making it easier to contribute to our documentation. Enters ReStructured Text (RST) and Read The Docs (RTD).

Choosing a new format

We started thinking about how to make our documentation easier to contribute to. Looking at Docbook, purely xml based, it is a powerful format but not very developer friendly. A lot of us are happy with basic text editor, with some old farts like me mainly stuck with vi. Markdown has certainly helped a lot of folks in writing documentation and READMEs, just look at Github projects. I started writing in Markdown and my production in terms of documentation and tutorials skyrocketed, it is just a great way to write docs. Restructured Text is another alternative, not really markdown, but pretty close. I got familiar with RST in the Apache libcloud project and fell in love with it, or at least liked it way more than docbook. RST is basically text, only a few markups to learn and your off.

Publishing Platform

A new format is one thing but you then need to build documentation in multiple formats: html, pdf, epub potentially more. How do you move from .rst to these formats for your projects ? Comes in Sphinx, pretty much an equivalent to publican originally aimed at Python documentation but now aimed at much more. Installing sphinx is easy, for instance on Debian/Ubuntu:

apt-get install python-sphinx

You will then have the sphinx-quickstart command in your path, use it to create your sphinx project, add content in index.rst and build the docs with make html. Below is a basic example for a ff sample project.


 
 
 

What really got me sold on reStructuredText and Sphinx was ReadTheDocs (RTD). It hosts documentation for open source projects. It automatically pulls your documentation from your revision control system and builds the docs. The killer feature for me was the integration with github (not just git). Using hooks, RTD can trigger builds on every commit and it also displays an edit on github icon on each documentation page. Click on this icon, and the docs repository will get forked automatically on your github account. This means that people can edit the docs straight up in the github UI and submit pull requests as they read the docs and find issues.

...
Hits: 11394
Rate this blog entry:
Continue reading Comments

Open@Citrix

Citrix supports the open source community via developer support and evangeslism. We have a number of developers and evangelists that participate actively in the open source community in Apache Cloudstack, OpenDaylight, Xen Project and XenServer. We also conduct educational activities via the Build A Cloud events held all over the world. 

Connect