Canonical Voices

Posts tagged with 'uec'

Neil Levine

We made a small flurry of announcements last week, all of which were related to cloud computing. I think it is worthwhile to put some context around Ubuntu and the cloud and explain a little more about where we are with this critical strategic strand for our beloved OS.

First of all, the announcements. We announced the release of Ubuntu Enterprise Cloud on Dell servers. This is a hugely significant advance in the realm of internal cloud provision. It’s essentially formalising a lot of the bespoke work that Dell has done in huge data centres (based on a variety of OSes) and making similar technology available for smaller deployments. We attended the Dell sales summit in Las Vegas and we were very encouraged to meet with many of the Dell salespeople whose job it will be to deliver this to their customers. This is a big company, backing a leading technology and encouraging businesses to start their investigations of cloud computing in a very real way.

More or less simultaneously, we announced our formal support for the OpenStack project and the inclusion of their Bexar release in our next version of Ubuntu, 11.04. This will be in addition to Eucalyptus, it is worth stating. Eucalyptus is the technology at the core of UEC – and will be in Ubuntu 11.04 – as it has been since 9.04. Including two stacks has caused some raised eyebrows but it is not an unusual position for Ubuntu. While we look to pick one technology for integration into the platform in order to deliver the best user experience possible, we also want to make sure that users have access to the best and most up to date free and open-source software. The increasing speed of innovation that cloud computing is driving has meant that Ubuntu, with its 6 month release cadence, is able to deliver the tools and programs that developers and admins want before any other operating system.

Users will ultimately decide what deployment scenarios each stack best suits. Eucalyptus certainly has the advantage of maturity right now, especially for internal cloud deployments. OpenStack, meanwhile, continue to focus on rapid feature development and, given its heritage, has appeal to service providers looking to stand up their own public clouds. Wherever the technology is deployed, be it in the enterprise or for public clouds, we want Ubuntu to be the underlying infrastructure for all the scenarios and will continue to direct our platform team to deliver the most tightly integrated solution possible.

Finally we saw our partner Autonomic Resources announce UEC is now available for purchase by Federal US government buyers. This is the first step on a long road the federal deployment, as anyone familiar with the governmental buying cycles will realise. But it is a good example of the built-to-purpose cloud environments that we will see more of – with the common denominator of Ubuntu at the core of it.

Which actually raises an interesting question – why is it that Ubuntu is at the heart of cloud computing? Perhaps we ought to look at more evidence before the theory. In addition to being the OS at the heart of new cloud infrastructures, we are seeing enormous usage of Ubuntu as the guest OS on the big public clouds, such as AWS and Rackspace, for instance. It is probably the most popular OS on those environments and others – contact your vendor to confirm :-)

So why is this OS that most incumbent vendors would dismiss as fringe, seeing such popularity in this new(ish) wave of computing? Well there are a host of technical reasons to do with modularity, footprint, image maintenance etc. But they are better expressed by others.

I think the reason for Ubuntu’s prominence is because it is innovation made easy. Getting on and doing things on Ubuntu is a friction-free experience. We meet more and more tech entrepreneurs who tell us how they have built more than one business on Ubuntu on the cloud. Removing licence costs and restrictions allows people to get to the market quickly.

But beyond speed, it is also about reducing risk. With open-source now firmly established in the IT industry, and with the term open used so promiscuously, it is easy to forget that the economic benefits of truly free, open-source software. The combination of cloud computing, where scale matters, and open source is a natural one and this is why Ubuntu is the answer for those who need the reassurance that they can both scale quickly but also avoid vendor lock-in in the long-term.

More specifically, and this brings us back to the announcements, there are now clear scenarios where users can reach a point where even the economics of a licence-free software on a public cloud start to break down. At a certain stage it is simply cheaper to make the hardware investment to run your own cloud infrastructure. Or there might be regulatory, cultural or a host of other reasons for wanting cloud-like efficiencies built on internal servers.

The work we have done with OpenStack and with Eucalyptus means Ubuntu is an ideal infrastructure on which to build a cloud. This will typically be for the internal provision of a cloud environment but equally could be the basis or a new public cloud. It is entirely open as to the type of guest OS and in all cases continues to support the dominant API of Amazon EC2, ensuring portability for those writing applications.

And as we have seen, Ubuntu is the ultimate OS to deploy in a cloud and with which to build a cloud. No-one provides more up-to-date images on the most popular public cloud platforms. Our work to ensure compatibility to the most popular standards means that those guests will run just as well on a UEC cloud however that is deployed – either internally or for cloud provision externally.

So technology moves markets. Economics does too, only more so. Ubuntu has come at the right point in our short IT history to ride both waves. The scale is there, the standards are emerging and the ability to provide an answer to the choice between running a cloud or running on a cloud is more fully realised on Ubuntu than on any other OS – open source or not.

Read more
spamaps

Here are the minutes of the meeting. They can also be found online
with the irc logs here.

Meeting Actions

  • ACTION: mathiaz to send out a call for ideas on ubuntu to the puppet community (carry over)

  • ACTION: ALL to mark maverick assigned specs as “Implemented” or Deferred

  • ACTION: jjohansen to look into virtual kernel bug status (658461)

  • ACTION: jjohansen to look into t1.micro java lockup bug (634487)

Review ACTION points from previous meeting

  • ACTION: mathiaz to send out a call for ideas on ubuntu to the puppet community
    • mathiaz was unable to attend, action point carried over to next week
  • ACTION: smoser to get skaet info on how to publish EC2 images
    • DONE ec2 images were published along with the rest of 10.10
  • ACTION: Everyone to celebrate the 10.10.10 release in their own unique ways
    • DONE emphatically

Postmortem for Maverick (ttx)

  • Close your specs
    • ACTION: ALL to mark maverick assigned specs as “Implemented” or Deferred

  • SRUs (658227, 600174)

    • Everyone should keep a close eye on high priority bug candidates for SRU to maverick.

Natty development

  • Opening: Syncs and Merges (ttx)
    • Natty will open soon, now is the time to start looking at merges
  • Natty specs preparation (jib)

Weekly Updates & Questions for the QA Team (hggdh)

  • QA and BugSquad are phasing out the ‘regression-potential’ tag, and it should not be used anymore. regression-release, regression-proposed, or regression-updates should be used to signal even potential regressions.

Weekly Updates & Questions for the Kernel Team (jjohansen)

  • Phantom load bug fix in lucid has not landed yet but should soon
  • ACTION: jjohansen to look into virtual kernel bug status (658461)

  • ACTION: jjohansen to look into t1.micro java lockup bug (634487)

Weekly Updates & Questions for the Documentation Team (sommer)

  • sommer was not in attendance

Weekly Updates & Questions for the Ubuntu Community Team (kim0)

  • Reminder that this is UbuntuOpenWeek

  • kim0 has been talking with some community members and getting them fired up about contributing, with 8 potential contributors. He would appreciate volunteers for mentoring them.

Open Discussion

  • RoAkSoAx has an HA UEC-CLC setup using cluster stack (pacemaker, heartbeat), he would like to discuss this further at UDS during a cluster stack focused session.

Agree on next meeting date and time

Next meeting will be on Tuesday 2010-10-19 at 1800 UTC – #ubuntu-meeting


Read more
spamaps

GlusterFS is a nice flexible clustered filesystem for Linux servers, and (through several methods) a few different client OS’s. It is included in Debian, and so, we have it available in the Ubuntu universe archive.

With Maverick (soon to be Ubuntu 10.10), we wanted to see how easy it would be to setup a gluster server and client on EC2, using nothing but our nifty cloud-init tool in Maverick. Once we got the mounts working right This proved pretty easy actually, as gluster has a really simple initial setup.

So, first I setup servers. Normally I think you’d want to use EBS for the servers, so that if you accidentally teardown all of your servers, your data is still reachable. But for this test, I simply used the instance store.

I fired up two instances of Maverick first. I used uec-run-instances from the ‘cloud-utils’ package as I like the –wait-for=ssh mode


uec-run-instances -p ec2 -n 2 -t m1.small --wait-for=ssh -l clint-fewbar ami-46f9132

The -l clint-fewbar above actually tells cloud-init to load my SSH keys that are attached to my launchpad account. Pretty neat trick, though it is, unfortunately, incompatible with feeding in more config data (though you can still run the command that will import these anyway).

This started two m1.small maverick instances (note that my environment is setup to run ec2-* already, which is beyond the scope of this document, but basically involves setting the environment variables EC2_CERT and EC2_PRIVATE_KEY). It doesn’t return until the SSH service is reachable. You can also add –verify-ssh, but that can take a while as it must wait for the console data to be updated, which can be a few minutes on ec2 (On eucalyptus, it is instant).

From here, I added the public IP’s to a local file called gluster_servers.txt, and used parallel-ssh to set them up:


PSSH="parallel-ssh -h gluster_servers.txt -l ubuntu -P"
$PSSH -- sudo apt-get install glusterfs-server
$PSSH -- sudo mkdir /mnt/test
$PSSH -- sudo glusterfs-volgen -r 1 -n test internal-ip1:/mnt/test internal-ip2:/mnt/test
$PSSH -- sudo mv -f test-tcp.vol /etc/glusterfs/glusterfs.vol
$PSSH-- sudo mv `hostname -s`-test-export.vol /etc/glusterfs/glusterfsd.vol
$PSSH -- sudo service glusterfs-server restart

Note that all of this could have actually been done by cloud-init too by feeding it a script.

Now to the clients, this was particularly cool. First, I took the example glusterfs file from /usr/share/doc/cloud-init/examples and modified it to substitute the internal hostname of one of my servers for ‘volfile-server-hostname’. Then I started up 3 instances feeding them all this file:


#cloud-config
# vim: syntax=yaml
# Mounts volfile exported by glusterfsd running on
# "volfile-server-hostname" onto the local mount point '/mnt/data'
#
# In reality, replace 'volfile-server-hostname' with one of your nodes
# running glusterfsd.
#
packages:
- glusterfs-client

mounts:
- [ 'internal-ip1:6996', /mnt/data, glusterfs, "defaults,nobootwait", "0", "2" ]

runcmd:
- [ modprobe, fuse ]
- [ mkdir, '-p', /mnt/data ]
- [ mount, '-a' ]

And to start three nodes with the above config data.


uec-run-instances -p ec2 -n 3 -t m1.small --wait-for=ssh --run-args='-k:myEc2KeyPairName:-f:cloud_config.txt' --run-args-delim=: ami-46f9132

As these were booting up, I started to see little messages in the logs…


[2010-08-19 20:41:10] N [server-protocol.c:6788:notify] server-tcp: 10.241.89.129:1023 disconnected
[2010-08-19 20:41:10] N [server-protocol.c:6788:notify] server-tcp: 10.241.89.129:1022 disconnected
[2010-08-19 20:41:10] N [server-protocol.c:5852:mop_setvolume] server-tcp: accepted client from 10.241.89.129:1023
[2010-08-19 20:41:10] N [server-protocol.c:5852:mop_setvolume] server-tcp: accepted client from 10.241.89.129:1021
[2010-08-19 20:41:25] N [server-protocol.c:6788:notify] server-tcp: 10.240.54.143:1023 disconnected
[2010-08-19 20:41:25] N [server-protocol.c:6788:notify] server-tcp: 10.240.54.143:1022 disconnected

Sweeeeet, this is the clients connecting to download the volume definitions.

Once this happened, I ran parallel-ssh with the client boxes to find out if they were mounted properly:


PSSH="parallel-ssh -h client_hosts.txt -l ubuntu -O "IdentityFile=myAmazonKeyFile.pem" -P"
$PSSH df

Lo and behold, they all had /mnt/data hosted and shared!

Coolness, now time to fire up some bonnie++…


$PSSH -t -1 -e stderr -o stdout -- bonnie++ -d /mnt/data/bonnie -f

You may notice that I had to pass ‘-f’. This is the “per-char” write test. This writes one char at a time, and on glusterfs was so slow, after 2 hours I aborted it.

While this was running, I was looking at the underlying exported data directory on the servers, and the files appeared to be staying in perfect sync, which makes sense given that we told gluster to use “raid 1″ redundancy.

And, upon finishing, I got this result:


Version 1.96 ------Sequential Output------ --Sequential Input- --Random-
Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
domU-12-31-39 3328M 6578 2 3881 1 37751 3 81.4 1
Latency 2013ms 667ms 254ms 436ms
Version 1.96 ------Sequential Create------ --------Random Create--------
domU-12-31-39-04-31 -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 37 0 275 0 48 0 35 0 71 0 51 0
Latency 371ms 647ms 842ms 536ms 286ms 264ms
1.96,1.96,domU-12-31-39-04-31-61,1,1282263738,3328M,,,,6578,2,3881,1,,,37751,3,81.4,1,16,,,,,37,0,275,0,48,0,35,0,71,0,51,0,,2013ms,667ms,,254ms,436ms,371ms,647ms,842ms,536ms,286ms,264ms
Version 1.96 ------Sequential Output------ --Sequential Input- --Random-
Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
domU-12-31-39 3328M 6568 2 3333 1 28002 2 116.0 2
Latency 2013ms 1709ms 178ms 437ms
Version 1.96 ------Sequential Create------ --------Random Create--------
domU-12-31-39-05-5A -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 33 0 170 0 43 0 34 0 133 0 59 0
Latency 481ms 761ms 679ms 306ms 87231us 129ms
1.96,1.96,domU-12-31-39-05-5A-77,1,1282263755,3328M,,,,6568,2,3333,1,,,28002,2,116.0,2,16,,,,,33,0,170,0,43,0,34,0,133,0,59,0,,2013ms,1709ms,,178ms,437ms,481ms,761ms,679ms,306ms,87231us,129ms
Version 1.96 ------Sequential Output------ --Sequential Input- --Random-
Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
domU-12-31-39 3328M 2442 0 2324 1 31734 3 90.4 1
Latency 640ms 287ms 95367us 457ms
Version 1.96 ------Sequential Create------ --------Random Create--------
domU-12-31-39-04-71 -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 45 0 5689 5 93 0 57 0 365 0 82 0
Latency 224ms 64123us 220ms 109ms 61270us 101ms
1.96,1.96,domU-12-31-39-04-71-67,1,1282262298,3328M,,,,2442,0,2324,1,,,31734,3,90.4,1,16,,,,,45,0,5689,5,93,0,57,0,365,0,82,0,,640ms,287ms,,95367us,457ms,224ms,64123us,220ms,109ms,61270us,101ms

Which basically says that over gluster, we were able to write at about 6.5MB/s, and read at about 37MB/s. To compare this to single m1.small I/O:


Version 1.96 ------Sequential Output------ --Sequential Input- --Random-
Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
ip-10-196-243 3328M 36281 10 40132 11 112935 20 328.8 7
Latency 421ms 241ms 273ms 917ms
Version 1.96 ------Sequential Create------ --------Random Create--------
ip-10-196-243-47 -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 18069 62 +++++ +++ +++++ +++ 22141 74 +++++ +++ +++++ +++
Latency 50194us 28054us 50611us 40347us 20038us 24108us
1.96,1.96,ip-10-196-243-47,1,1282346486,3328M,,,,36281,10,40132,11,,,112935,20,328.8,7,16,,,,,18069,62,+++++,+++,+++++,+++,22141,74,+++++,+++,+++++,+++,,421ms,241ms,,273ms,917ms,50194us,28054us,50611us,40347us,20038us,24108us

I re-ran this test a few times and it seemed to come out more or less the same, though I would guess it might come out differently on certain instances rather than others. Anyway, this shows 36MB/s writes, and 113MB/s reads. Seems like writing is about 6x slower over gluster, which makes sense as it must write over a network of unknown speed (gigabit? 100Mbit? congested?) and it must actually write to two servers, because of the “-r 1″ given to the glusterfs-volgen command, which means “RAID1″ or “replicate”. Latency also was about 1/4 of what it was over glusterfs, which again, is mostly owing to the network latency.

In conclusion, glusterfs is pretty easy to configure on Maverick cloud instances. I’m sure with some more knowledge and goal driven optimization, people will even tune it like crazy.


Read more
spamaps

Here are the minutes of the meeting. They can also be found online
with the irc logs here.

Meeting Actions

  • SpamapS to submit rubygems change proposal as Important bug in Debian and CC ubuntu-devel
  • zul to nudge forward upstart script review process
  • jjohansen to review bug 493156
  • zul to review papercut status of bug 582963

Review ACTION points from previous meeting

  • everyone to pick 1 or 2 papercuts for the beta cycle
    • deferred until later point of order
  • zul to continue clean up the SRU assigne list by prodding people on status: DONE
  • SpamapS to finalize and send ruby gems proposal to ubuntu-devel
    • proposal finalized, action for coming week to submit as bug on debian rubygems package
  • ttx to send email about 10.04.1 release process to server team: DONE

Maverick development (jib)

Weekly Updates & Questions for the QA Team (hggdh)

  • (hggdh) UEC testing is progressing and build 1231 was pending build on a PPA before testing could commence on it.
  • (hggdh) QA is taking a look at bugs that are tagged regression-* and will be pushing server-team related bugs

Weekly Updates & Questions for the Kernel Team (jjohansen)

  • https://launchpad.net/bugs/574910 – high load for lucid on ec2 – is mostly phantom load, plan is to close that bug and open more specific bugs to target the issues that have caused so much piling on.

  • (Omahn) requested review of bug 493156 https://bugs.launchpad.net/ubuntu/+source/iotop/+bug/493156

  • (jjohansen) pv-ops kernel is still buggy, there is a chance the -ec2 kernel will have to be used instead. smoser doesn’t want to see that happen, but acknowledges that it may be necessary.
  • (jjohansen) kernel tema will be making the “pv-on-hvm drivers” available for testing purposes in a PPA

Weekly Updates & Questions for the Community Team (kim0)

  • kim0 was unable to attend, so this topic was skipped

Weekly Updates & Questions for the Documentation Team (sommer)

  • (sommer) says things are going smoothly, and he will have time to work on some new content this week
  • (sommer) String Freeze is Sept 9. sommer has discussed dropping the ubuntu-serverguide package and forwarded that discussion to the ubuntu-server mailing list after the meeting.

Papercuts status (jib)

  • Two papercuts were left, and mathiz and zul stepped up to claim/evaluate them

Open Discussion

  • (mathiaz) 10.04.1 ISO testing had all server tests completed.
  • (andreserl) cluster stack is waiting on a MIR for pacemaker to be approved

Agree on next meeting date and time

Next meeting will be on Tuesday 2010-08-24 at 1800 UTC in #ubuntu-meeting


Read more
imlad

As I mentioned yesterday, we ran a webinar on Canonical’s Infrastructure as a Service offering – the Ubuntu Enterprise Cloud.  A wise old man (I am being quite literal here) told me that the secret to any sort of success is persistence – no amount of talent or luck suffices to get you there, wherever “there” happens to be for you.  And so, as marketers, we do things – run webinars, host events, write blog posts (it’s Friday morning and I am feeling all self referential and post modern), publish data sheets, perform market segmentation and competitive analysis, et cetera.  To have success, we need to take an occasional pause, and ask ourselves how useful our various activities are, so that if we are veering off course (away from the “there”), we can take appropriate action.  Otherwise, we end up going through motions that have only appearances behind them (like the business man that the kid wants to keep as a pet in the “Can I keep him” sketch from  Kids in the Hall).

So yesterday we had a morning and an afternoon session of a webinar about our offering for IaaS, our services around it (including  the Landscape system management offering).  We had a very decent turnout and excellent questions (the Q&A sessions were going up to the last second).  At the same time (and I have been told that I have a weakness for giving myself more work) I am pondering breaking the webinar into two – one focused on an overview of cloud computing and the value proposition of our IaaS offering (the “why it is a good idea” in general and “why Canonical’s flavor of this good idea is particularly good” in particular), with a follow-up webinar focused on the services and management tools and how our offering would be executed and managed technically.

I am not talking fluff for the first webinar.  Actually, the challenge here would be to have a clear enough presentation of our vision and offering for someone who is looking askance at the entire “cloud” thing is the latest “buzzword” – all sound and no honey.  So, let me see if I can can produce a presentation deck and demo outline.  If anyone has thoughts on the topic, feel free to pipe up.

Read more
imlad

The term “Cloud” is getting so much buzz that it sometimes feels like white noise (or the buzz of an annoying fly that no amount of swatting will keep away from your newspaper/coffee/breakfast). The second data resides on the web, or software is provided as a service, the term “Cloud” seem to settle on the brain, gleefully rubbing its little paws.

The thing is, the term has a specific meaning, as distinct from “on the Internet.” As a matter of fact, it is an important meaning, with very specific implications, considering what actual cloud offerings are out there, available for Enterprises.

Canonical has a cloud (or Infrastructure as a Service, to be more precise) offering, and next week, on August 12th, we will be showcasing it and showing how you can administer it.  Registration is open for those who want to check it out.

Read more
spamaps

Greetings! If you’re going to be at Velocity 2010 next week, we hope you’ll join us at the Ubuntu Server Users and Developers BoF, Tuesday June 22 @ 8:30pm.

We’re going to cover a number of topics:

  • UEC – We’ll do our best to build a fully functioning “private cloud” with just a couple of USB keys.
  • Ubuntu Server 10.10 – The release is just around the corner in October, we’ll talk about some of the things planned.
  • Feedback – The BoF will be attended by members of the Ubuntu Server development team, so bring your questions and feedback!

Read more
Canonical

A few weeks ago myself and Dustin Kirkland had the privilege of travelling to the Intel facility in Hillsboro, Oregon to work with Billy Cox, Rekha Raghu, Paul Guermonprez, Trevor Cooper and Kamal Natesan of Intel and Dan Nurmi and Neil Soman of Eucalyptus Systems and a few others on developing a proof of concept whitepaper on the use of Ubuntu Enterprise Cloud on Intel Xeon processors (Nehalem).

The whitepaper is published today on the Intel site (registration required) so it seems like a good time to talk about why we collaborated.

The Intel Cloud Builder program is intended to develop some best practice information for businesses and institutions looking to take advantage of the promise of cloud computing. As we do consistently with UEC, we are being specific when we talk about cloud as the ability to build Infrastructure as a Service behind a corporate firewall – that is on your own systems, protected by your own security protocols.

In Portland we had access to some great hardware and as an ex-Intel man, it was good to mess directly with the metal again. Intel defined a number of use and test cases and the guys from Intel, Eucalyptus and myself were able to have some fun putting UEC through its paces. And the results were good. We documented them and the whitepaper gives numerous code and scenario examples to help anyone new to cloud to get up to speed really quickly and the make the most of the capabilities of the Xeon processor in supporting an internal IaaS infrastructure. You can find out how to get started on UEC with existing documentation. but this whitepaper takes it to the next stage.

Being able to test the software as part of the Intel Cloud Builder program and jointly publish this whitepaper is a great endorsement of what is still a young technology. And I hope it will give users confidence to start building their own UEC deployment on x86 technology.

Nick Barcet, Ubuntu Server Product Manager

Read more