Canonical Voices

Posts tagged with 'landscape'

anthony-c-beckley

We are exhibiting at this year’s CeBIT event on March 5-9th, 2013 in Hannover Germany, in conjunction with our partner in the region, Teuto.net and we’re giving away number of free tickets to selected customers and partners. If you are interested in one of these tickets, please contact me at anthony.beckley@canonical.com for more information.

The Canonical/Teuto.net stand will be in the Open Source Arena (Hall 6, Stand F16, (030) and we will be showcasing two enterprise technology areas:

  • The Ubuntu Cloud Stack – demonstrating end user access to applications via an OpenStack cloud, powered by Ubuntu,
  • Ubuntu Landscape Systems Management – demonstrating ease of management of desktop, server and cloud nodes.

We will be running hourly demonstrations on our stand and attendees have the chance to win a Google Nexus 7 tablet! Simply come to out stand and watch a short demo or your chance to win If you would like to pre-register for a demonstration, email me at anthony.beckley@canonical.com

We look forward to seeing you at the show!

CeBIT draws a live audience of more than 3,000 people from over 100 different countries. In just five days the show delivers a panoramic view of the digital world’s mainstay markets: ICT and Telecommunications, Digital Media also Consumer Electronics.
To learn more about CeBIT click here.

Read more
Mike Milner

In our last blog on Landscape and Puppet, we talked about using Landscape to automatically deploy Puppet on new computers. In this article we’ll dive deeper, and look at how to use Landscape as an External Node Classifier for Puppet.

In a typical Puppet configuration, all your nodes are defined in site.pp under the “node” definitions section. Each node is assigned Puppet classes by manually editing the file. When your number of nodes grows, manually managing the site.pp file becomes tedious and error prone.

An External Node Classifier (ENC) is Puppet’s way of offloading the tedious node maintenance to an external program. The interface is dead simple – puppet executes the external node classifier program with a single full node name as the only argument. The classifier just has to write a YAML blob out to stdout before exiting.

To start, let’s create a simple python ENC in /etc/puppet/landscape_enc – Don’t forget to make the file executable.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#!/usr/bin/env python
import sys
import yaml

# The node name to be classified is supplied as an argument to the script
node_name = sys.argv[1]

classes = ["basenode"]

# Output must be a YAML document
print(yaml.dump({
    "classes": classes,
    }))

 

It ignores the node name and just puts everything into the “basenode” class. Not very interesting but it’s enough to get started with Puppet.

NOTE: These examples are all using puppet 2.7 which ships on Ubuntu 12.04 Precise LTS. The ENC functionality behaves a bit differently in versions of puppet earlier than 2.65 – See http://docs.puppetlabs.com/guides/external_nodes.html for details.

To test the ENC I put together a minimal puppet configuration with two simple classes and put everything into my site.pp in /etc/puppet/manifests/site.pp

1
2
3
4
5
6
7
class basenode {
  notify {"I am a basenode!":}
}

class specialnode {
  notify {"I am a specialnode!":}
}

 

Notice that no nodes are actually defined. That is the ENC’s job. To enable the ENC you need to add two lines to your puppetmaster’s config file /etc/puppet/puppet.conf

Add these lines at the end of the “[master]” section:

1
2
node_terminus = exec
external_nodes = /etc/puppet/landscape_enc

 

You can now test that the puppetmaster is using your new, rather basic, ENC.

1
2
3
4
5
6
7
ubuntu@ubuntu:~$ sudo puppet agent --test

info: Caching catalog for ubuntu
info: Applying configuration version '1354824718'
notice: I am a basenode!
notice: /Stage[main]/Basenode/Notify[I am a basenode!]/message: defined 'message' as 'I am a basenode!'
notice: Finished catalog run in 0.06 seconds

 

As you can see, with our trivial ENC everyone is a basenode.

Now we’re going to enhance our ENC to ask Landscape to classify nodes for us.

The Landscape API
To use the Landscape API you need three pieces of information: the Landscape API endpoint URI, the user key, and the secret for your user.

To find your API credentials, log in to the Landscape web interface and click your username on the top right. Your API credentials are in the “API Access” section.

For this example, we’ll use the python API client provided with Landscape (NOTE, you must install the landscape-api package first). Here’s how to query for a computer registered with Landscape using it’s host name:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
from landscape_api.base import API

landscape_uri = "https://landscape.canonical.com/api/"
landscape_key = "43NW6OV71L32CSOPCJGX"
landscape_secret = "agBf3v267DqO8vtVRnzjseWfYdV4ueklj5a81iIT"
api = API(landscape_uri, landscape_key, landscape_secret)

api.get_computers(query="my_hostname_here")
[{u'access_group': u'server',
u'comment': u'',
u'hostname': u'appserv1',
u'id': 1,
u'last_exchange_time': None,
u'last_ping_time': u'2012-09-07T15:19:22Z',
u'reboot_required_flag': False,
u'tags': [u'lucid', u'server', u'puppet-webfarm'],
u'title': u'Application Server 1',
u'total_memory': 1024,
u'total_swap': 1024}]

 

Now if we combine that with our ENC we get the following:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/usr/bin/env python
import sys
import yaml
from landscape_api.base import API

# Create our connection to Landscape
landscape_uri = "https://landscape.canonical.com/api/"
landscape_key = "43NW6OV71L32CSOPCJGX"
landscape_secret = "agBf3v267DqO8vtVRnzjseWfYdV4ueklj5a81iIT"
api = API(landscape_uri, landscape_key, landscape_secret)

# The node name to be classified is supplied as an argument to the script
node_name = sys.argv[1]

# Ask Landscape about the computer
computers = api.get_computers(query=node_name)

# If we don't get back any computers or if we get more than one, error out.
# You could also handle this case by simply giving the node a default class.
if len(computers) != 1:
    sys.stderr.write("Only expecting one computer, instead got this: %s" % computers)
    sys.exit(1)

# Extract the tags from our computer
tags = computer[0]["tags"]

# Now here you can use whatever logic you want to convert
# tags into classes. I'm going to use any tag that starts with "puppet-"
# as a class name. I'm also going to make sure every node gets the
# "basenode" class
classes = ["basenode"]
for tag in tags:
    if tag.startswith("puppet-"):
        class_name = tag.split("-",1)[1]
        classes.append(class_name)

# Output must be a YAML document
print(yaml.dump({
    "classes": classes,
    }))

 

That’s all there is to it. Now if you tag a computer “puppet-database” in Landscape, it will automatically get the “database” class in Puppet.

You can see in the script comments that it’s very easy to customize the behaviour to match your environment. Now tag away and let Landscape and Puppet take over your world!

Read more
Cezzaine Haigh

The cloud is disrupting the enterprise computing world, driven by the growth of open-source software. As a result, new opportunities are emerging; it’s time to exploit them. 

On the 30th October, Canonical will host an Ubuntu Enterprise Summit in Copenhagen. Industry analysts and enterprise users of Ubuntu and open source technologies, will join key figures from Canonical to discuss the opportunities these converging trends present.

The event is designed around three key topics

- How flexibility creates business value
- Choosing which bandwagon to board
- The way ahead, from client to cloud

With a keynotes from Ubuntu founder Mark Shuttleworth and two streams of content – one aimed at business decision-makers and the other at enterprise technologists – it offers an essential briefing on delivering effective IT in a cloud-obsessed world.

Learn more and register your place.

Read more
Sidnei

Ever since I got my copy of Steve Souders’ Even Faster Web Sites I’ve became obsessed with speed. During my day job I’m constantly looking for things that can be improved to make the user experience smoother, specially for first-time visitors. I’m fairly happy with what we’ve achieved in the last year, though there are always things to be improved.

Today I’m going to share with you one of the tricks that we’ve discovered almost by accident and that can help with making your website faster, if YUI is your Javascript framework of choice.

We’ve started using YUI in Landscape around March of 2009, by rewriting all of our ExtJS-based scripts (which weren’t that many) to use YUI. Since our application requires HTTPS due to potentially sensitive information, we had to self-host YUI, to avoid mixed-content warnings. Initially we had little experience with it, so we went with the easiest option available: loading the YUI seed file and letting everything else be loaded on-demand by the YUI Loader, without a combo handler (more on that later).

Soon enough we noticed that it wasn’t such a great idea. First-time access was terrible, with load times over 30 seconds in some cases, due to the combination of HTTPS connection overhead, no static resource caching and large number of requests to fetch all the resources. It was worse than that even, because most browsers either don’t cache HTTPS content by default, or only cache it on memory, unless you set the proper caching headers. To give you an idea of what it looked like, here’s what a trivial page using the ‘overlay’ module looks like in terms of loading.

No combo loading at all

No combo loading at all

It was pretty clear that this kind of performance would not be acceptable, so I started looking for options to reduce the number of requests. It was around that time that I heard about Steve Souders work on web performance, through a long time friend from the Plone community that happened to be working at Google and shared a link to Souders’ blog post on ‘@import’.

Turns out that the YUI Loader supports using a combo handler for reducing the number of requests, when loading modules on demand. What this ‘combo handler’ does is basically take a GET request with a bunch of filenames as parameters and return a single response with the respective files concatenated. Here’s an example using the combo server from YUI’s CDN.

Combo loading with a single 'Y.use()'

Combo loading with a single 'Y.use()'

The problem was that we couldn’t use YUI’s combo server on the CDN because it doesn’t support HTTPS, which was requirement for us.

In November of 2009, at UDS-Lucid in Dallas, we had our first YUI-only cross-team sprint, totalling about 20 people from Launchpad, Landscape, ISD and Ubuntu One. The main goals were to spread knowledge on YUI and improve support for IE on our shared codebase (lazr-js), but I managed to sneak in two things for the Landscape team: implementing a Python-based combo loader (served by Twisted, but it’s just a plain WSGI app) and extracting YUI module metadata, so that we could make it easier to load extension modules on-demand, the code for which ended up as part of the lazr-js project.

At this point however we realized that there’s a significant issue with using the combo loader on an application as diverse as Launchpad or Landscape: depending on how you group your ‘Y.use()’ calls, the combo URL generated by the YUI Loader can vary significantly, which means that re-use from the browser cache is less than optimal. Here’s an example of loading both the ‘anim-color’ module and the ‘overlay’ module within a page. Compare it to the previous example and notice how the parameters passed to the combo are completely different, since the second request (to load the ‘overlay’ module) only requests modules which haven’t been loaded by the first request (to load the ‘anim-color’ module).

Combo loader can be a caching problem

Combo loader can be a caching problem

In a hurry to get the situation solved ASAP, and taking a clue from our fellow developers on the Launchpad team, we went with a simpler alternative: manually combining all of YUI, including the seed file, and loading all of that in a ‘script’ tag in the document ‘head’. It turns out that the situation improved quite dramatically, but there was still more to be done. Although the number of requests was much smaller, the total page size was actually larger, since we were loading a lot of stuff that wasn’t even being used. Worse, since we were putting that ‘script’ tag in the ‘head’, it was blocking the whole page from loading until the script was finished downloading, which I after following Souders’ blog for a while I realized wasn’t such a great idea either. Here’s an example of what that looked like.

Combined modules in the head

Combined modules in the head

At this point we had a significant codebase of YUI-based modules, and so did the Launchpad team, but we had gone from solely relying on the YUI Loader to not using it at all (by just loading all the code in one big honking file).

Once we got the module metadata extraction figured out though, I resumed working on improving the first-view load time, by reducing the number of modules manually combined to the bare minimum shared by all of our pages. Also, by having a single file with the common modules being loaded on all the pages, we can be sure that it is highly cacheable. And then we let the YUI Loader kick in and load the missing modules on less-used pages, which was a really nice improvement in page weight and reducing the time to the ‘onload’ event.

At this point Souders started talking about asynchronous loading of scripts and the ‘defer’ attribute, and I got my copy of Even Faster Web Sites. I started pondering if there was something that could be done to defer the loading of the combined modules while still letting the YUI Loader do it’s job.

The problem lies in the fact that YUI asynchronously loads modules that are not on the page yet, calling a callback function (the last argument to ‘Y.use()’) once all the scripts containing the required modules have finished loading. If all the modules are already on the page, it just calls the callback right away. So by just tacking a ‘defer’ attribute on the ‘script’ tag for the combined modules there would be a race condition between the loader checking if the modules were loaded and the script with the combined modules being loaded.

Then, it struck me. If the last argument to ‘Y.use()’ is just a callback function, could we queue those functions to be called at a later time and load the combined modules ourselves, before letting the YUI loader proceed? After a little back and forth with Dav Glass and some pseudocode exchange, I got an implementation of this idea(which I’m calling the ‘Prefetch YUI Loader Hack‘). And thus we managed to move the loading of all the combined modules from a ‘script’ in the ‘head’ to use asynchronous script loading, shortening even further our time to the ‘onload’ event. Here’s an example of what it looks like.

Prefetch with a single request

Prefetch with a single request

But wait, there’s more! Souders then started talking about parallel loading, tickling my speed bug again. After thinking for a while about the problem, enlightenment came again: when an YUI module is loaded, it is not executed right away, but added to an internal registry of modules. What that means is that regardless of what other modules it depends on, they can all be loaded independently from each other! That means you can break up a manually combined file into N smaller files and have them be loaded in up to N parallel connections (where N varies by browser and by browser version) and when they are all done you can let the YUI Loader kick in. Here’s an example with two parallel downloads plus an extra module not prefetched.

Prefetch, with parallel download

Prefetch, with parallel download

So that’s where things stand now. There are still optimizations that can be done in Landscape, like using the combo loader to reduce the number of requests on less common pages, or even using fixed URLs to the combo loader with the prefetch hack, to simplify the build process. We also need to start using Caridy’s Event Binder module, since now the pages load so fast that the users start clicking around before the event handlers are in place (ha!).

I am also pushing to get those kinds of tips documented and passed around Canonical, through a project codenamed Dare2BFast, which has the goal of coming up with a set of Web Performance Guidelines that all Canonical web sites should follow, both on the frontend and backend. Stay tuned!

Read more
Sidnei

This morning I woke up with this song in my head. It reminds me quite a bit of the Rolling Stones, and it’s very appropriate for the mood I’m in today.

I’m sitting here at Canonical’s office in Montreal, where we are having another Landscape sprint. There’s a couple things that make this sprint special, one of them being that Frank Wierzbicki has joined us! Welcome to the team, Frank, and I hope you enjoy!

It has also coincided with the end of our 1.5.5 milestone, which rolled out yesterday, with some interesting highlights:

Speed!

Contrary to what other people might tell you, YES speed does matter. We’ve been slowly (ha!) rolling out improvements to page load speed, and I’m happy to say that the improvements are very noticeable. Things we’ve done to improve this range from setting proper caching headers for static resources to heavily abusing the YUI Loader. I should write more about that on a more appropriate occasion. There’s always things to improve on, so keep an eye on it!

Faster Trials

Over the last four years, the trial registration for Landscape hasn’t been… enjoyable to say the least. This week we’ve finally rolled out the first iteration of our simplified registration process, which removes a manual approval step which used to take several weeks to be done. That means you can now register for a trial account in Landscape and start using it right away! Quite a novel concept, isn’t it? :) We’ll planning some more updates to it, so that when starting the registration process you have a better sense of where you are in the process and what are steps involved.

We have more exciting updates coming up before the end of the year, so keep an eye on it. But in the meantime, hit that ‘Registration’ link in Landscape, get it like you like it, and enjoy!

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
Gerry Carr

Canonical over the last four years or so has brought businesses a growing range of services and software tools to help them make better use of the Ubuntu platform. Many of these services, such as Landscape systems management and technical support, have proven valuable for companies that want to more easily manage and maintain Ubuntu in their business.

Rather than having to decide which tools or services are useful, we decided to make things simple by bringing together all the necessary tools and services into a single offering, Ubuntu Advantage.

Ubuntu Advantage has four service components:

* systems management

* enterprise technical support

* legal assurance

* access to knowledge base

At Canonical, we believe these are they key service areas that help enterprises make successful use of Ubuntu in their business. As new technology features and capabilities are incorporated into the Ubuntu platform, the Ubuntu Advantage service offering will also grow to support those new platform capabilities.

The systems management service category offers Canonical’s Landscape systems management and monitoring tool. Within any enterprise it is crucial for IT departments to have the necessary systems management tool to avoid having to spend copious amounts of time managing and maintaining systems with patches and security upgrades. Although, these tasks are vital for enterprise systems to remain safe, they can also be tedious and unnecessarily time consuming without the right tools. The package management and automation features of Landscape help to remove much of this manual work.

Ubuntu Advantage includes enterprise-level technical support for the desktop and server to give businesses direct backing from the source of Ubuntu, Canonical. This is a valuable service because businesses can deploy Ubuntu with a greater sense of security; should they run into any problems, they have the support from the organisation which released it.

Our aim is to provide comprehensive support, but we also want to give customers flexibility with the type of service they receive as we recognise that different machines will run different workloads and need different levels of support. On the server there are three options ranging from support for basic server workloads to the most complex setups:

* Essential Server – to cover common workloads such as file and print serving

* Standard Server – for more advanced business needs like server virtualisation and integration into existing Windows networks

* Advanced Server – to cover complex configurations such as high-availability and clustering

On the desktop there were two main usage types we want to cover, general business use and developer use:

* Standard Desktop – covers general end users using standard business applications such as email, office suites and web browsing

* Advanced Desktop – covers developers that have more complex desktop configurations, such as desktop virtualisation, and use advanced developer tools

A major aim of Ubuntu Advantage is to ease the adoption of Ubuntu by providing quick and easy access to a definitive answers. The online Knowledge Base gives customers a central repository from which they can quickly reference at any time definitive guides on how to resolve common issues or information about best practices deployments. Canonical’s support engineers create the content in the knowledge base keeping it accurate and up-to-date on the latest releases.

It’s also crucial that staff using Ubuntu feel comfortable with it, because the more confident they feel the more they can take advantage of Ubuntu’s many features and the fewer problems they will come across. So we also included training credits in Ubuntu Advantage. These can be redeemed to train end users on how to make the most of Ubuntu Desktop for their daily job, or they can be redeemed for system administrator training to help them more easily deploy and manage Ubuntu systems.

We know it is important for many organisations to have legal assurance to enable the adoption of an open source platform, which is why we have also included our legal assurance programme, Ubuntu Assurance, with all Ubuntu Advantage service options.

Ubuntu Advantage provides simplicity and an easier way for businesses to purchase the necessary tools and services to manage, support and use their Ubuntu platform more effectively and efficiently. Ultimately, it saves them precious time and money that can be spent elsewhere in their businesses. Initial reception has been very positive and we look forward to getting more feedback on the new services as users become familiar with them and hopefully see the value in them.

The Ubuntu Advantage website is live at: visit http://bit.ly/cOasJ3

Fern Ho, Ubuntu Advantage Product Manager

Read more
Steve George

The new release of Landscape in time for the Ubuntu 10.04 LTS release attracted some nice articles in the Linux press. The majority of the features this time around are designed to help enterprise Ubuntu users who are managing a large number of systems. If you have hundreds of servers in your enterprise then you need to be able to see the “Landscape of your deployment” and react to issues quickly. There’s more detail on the main features in my previous Landscape post.

First up is Sean Michael Kerner at Linux Planet who did a nice write-up titled Canonical Landscape 1.5 Extends Ubuntu Linux Management for Enterprises on the release.  He pays particular attention to the enterprise authentication and the LTS upgrades with a nice quote from Ken Drachnik:

“We find that most enterprises are using LTS’s, so as part of this release, we wanted to have the automated ability to just click a button and say ‘Yes, upgrade me’ and then Landscape would automatically download the packages and do the upgrade”

Over at The Register, Timothy Prickett Morgan focuses talks about the Cloud aspects of the new release in his article Canonical updates Landscape manager. With UEC a key part of our server product and the work we’re doing on Amazon EC2 there’s lots of interesting things that Landscape can do to help users manage Ubuntu in these environments.

Finally, Joe Panettieri at WorksWithU discusses Landscape 1.5: The Implications for Ubuntu Customers and Partners where he summarises the key elements of the release and considers how the Amazon EC2 management might be of interest to partners.   He specifically asks for examples of how Landscape is being successful with corporate customers. And as if by magic we can point him at this case study by PlusServer AG which we just put up, and it’s definitely worth a read!


Tagged: Canonical, landscape, Linux, Ubuntu

Read more
Steve George

We released a new version of Landscape our management service for Ubuntu last week. There’s a slew of new features including server templates, simple upgrades and enterprise authentication support.  Whether you’re managing a few systems or as many as Google the new features make system administration simpler!

Landscape’s objective is to make managing and monitoring hundreds of Ubuntu systems as easy as looking after one. Whether you’re managing some Ubuntu desktops, or looking after a Web server farm Landscape lowers the complexity of administering those systems: no-one wants to apply patches to hundreds of machines manually! For IT managers this means that Landscape makes system administrators more effective and efficient. Landscape also ensures that deployed Ubuntu systems are secure with maintenance patches and upgrades.

Landscape is provided as a software service so every six months Canonical releases a new version that is available to all subscribers. There’s also an on-site version available to customers that have security policies or regulations that prevent them using a SaaS management platform. In line with Ubuntu 10.04 the main features of the new version are:

Package profiles
Many sites have sets of servers that do similar jobs, for example “web serving“. Ideally you want those machines to have the same set-up reducing management overhead.

The ability to create templates of the packages installed on a particular system and then apply those to different machines makes it easy to replicate a standard install. It also ensures that you maintain consistent profiles across your systems as time goes by. Finally, if you need to re-provision or expand resources you can use profiles to ensure it’s a repeatable process. Package Profiles is really great for managing configurations.

Release upgrades
If you’re managing more that a handful of Ubuntu systems then doing upgrades is going to take a lot of time. Whether that’s every six months in time with the standard releases, or every two years for the LTS releases, it’s a significant commitment. To reduce that overhead you can now do upgrades between releases using Landscape.

Upgrades between releases are always complex so this doesn’t remove the need for backups and careful attention. Nonetheless, if you’ve used Package Profiles, it will be easier to test an upgrade on a test system and then when you’re happy apply it to all the deployed systems using the same package profile. Rather than having to access every machine and do the process by hand you can upgrade a group at a time.

Enterprise authentication
Enterprises commonly have a corporate standard for authentication such as LDAP or on a Microsoft Windows network Active Directory. The new version of LDS connects to these systems authenticating administrators from the existing authentication system. This ensures that customers can simplify their authentication set-up and enforce authorisation from a single corporate directory.

There’s more information in the press release and you can read more about it in the Canonical blog post or try it out with a free trial.


Tagged: Canonical, landscape, Linux, Ubuntu

Read more
ken-drachnik

The number of subscribers to the Landscape Systems Management application has grown dramatically over the past year with much of this growth coming from enterprises using the Landscape Dedicated Server which we released just 8 months ago. These users prefer the Dedicated Server because they can keep all of their systems management functions behind their firewall where they update from their own private package repositories. As these also tend to be larger installations, they have asked us for features that apply, typically, to larger organizations that want to automate their work flows so they can be more efficient in managing servers and desktops. Each of the features in the newly released Landscape 1.5 works towards that goal of helping system administrators do more with their limited resources. A complete listing of the new features along with examples can be found on the Landscape Blog. Here is a summary of the major new capabilities released with Landscape 1.5:

We’ve implemented SSO integration so that users can log into Landscape with existing credentials. We ship both LDAP and AD authentication modules with the Landscape Dedicated Server, but it is relatively straightforward to add others.

Package Profiles allows users to define profiles (lists of packages) that constitute a configuration (e.g. a Web server) then deploy that list of packages to a new system. Likewise they can copy a configuration from one system and apply it to another. These profiles allow you to easily install many packages in one go on your servers according to their tags, which means it’s easier than ever to have a machine ready with the software you need.

With Landscape 1.5 being released with Lucid 10.04 we introduce the ability to automate LTS to LTS upgrades. Since many of our enterprise users tend to stick with a LTS version, we’ve made it very easy to upgrade to the next LTS with a single command.

Package pinning is another system wide capability we just released. If you have a legacy application and its dependencies that you don’t want upgraded you can now lock those packages within Landscape and apply that lock to all your similar systems. In the future, if someone tries to upgrade any of the locked packages, they will remain in their current state and you’ll get an error message.

I’ll be hosting a Webinar this Thursday May 27th to demonstrate our new features and answer quesitons. Register here.
Ken Drachnik, Landscape Manager

Read more
Sidnei

Just a quick post to get me started at blogging again.

Over the last year (wow, time flies by!) I’ve been working at Canonical, as part of the Landscape team. This is a very diverse team with lots of different skills, and somehow I found myself naturally gravitating towards working more closely on frontend-related issues, of which I could highlight writing YUI3 widgets, speeding up page loading experience and creating a nice testing infrastructure. There’s a ton of things I could write about that, and I really plan to. But today’s entry will be pretty short.

As part of a brain-break task I fixed some of our Javascript tests today so that they would run on Google Chrome. We haven’t been targeting Chrome so far, but that might change soon, driven by Google Analytics stats of people using Landscape.

But, the thing that really caught my attention was the difference in speed between Chrome and Firefox.

For comparison:

Google Chrome 5.0.307.7 beta

$ BROWSER=google-chrome ./bin/test -1vpc --layer=JsTestDriverLayer
Running tests at level 1
Running canonical.testing.javascript.JsTestDriverLayer tests:
Set up canonical.testing.javascript.JsTestDriverLayer in 1.020 seconds.
Running:

Ran 318 tests with 0 failures and 0 errors in 9.545 seconds.
Tearing down left over layers:
Tear down canonical.testing.javascript.JsTestDriverLayer in 0.366 seconds.

Firefox 3.6.3pre

$ BROWSER=firefox ./bin/test -1vpc --layer=JsTestDriverLayer
Running tests at level 1
Running canonical.testing.javascript.JsTestDriverLayer tests:
  Set up canonical.testing.javascript.JsTestDriverLayer in 1.014 seconds.
  Running:
                                                                                                                             
  Ran 318 tests with 0 failures and 0 errors in 15.032 seconds.
Tearing down left over layers:
  Tear down canonical.testing.javascript.JsTestDriverLayer in 0.349 seconds.

Firefox 3.7a3pre

$ BROWSER=firefox-3.7 ./bin/test -1vpc --layer=JsTestDriverLayer
Running tests at level 1
Running canonical.testing.javascript.JsTestDriverLayer tests:
  Set up canonical.testing.javascript.JsTestDriverLayer in 0.804 seconds.
  Running:
                                                                                                                           
  Ran 318 tests with 0 failures and 0 errors in 13.433 seconds.
Tearing down left over layers:
  Tear down canonical.testing.javascript.JsTestDriverLayer in 0.379 seconds.

Disclaimer: Both instances of Firefox were started with the “-safe-mode” flag, which disables all plugins and extensions. Also, as they say around here at Canonical: NOT A METRIC. But interesting still.

If you look closely at this post you might find some hints about things we’ve been working on and which I hope to write about, in addition to general tips and tricks about page speed optimization from experiences in both Landscape and Launchpad.

Read more
Ken Drachnik

Landscape 1.4 Adds UEC Support

Cloud management dominates the theme for Landscape 1.4 with new features that allow you to manage your private Ubuntu Enterprise Cloud (UEC) as easily as you manage your instances on Amazon EC2. Also released are new features that help system administrators be more efficient including time based package updates and role based access. These new features will be available this week on both the Hosted and Dedicated Server Editions of Landscape.

Cloud Computing: UEC Support

Building upon our support for Amazon’s EC2 Cloud, users can now start, stop and manage their private Ubuntu instances on their UEC from within Landscape. Users simply enter their credentials directly through Landscape to start, stop and manage an instance. We’ve designed Landscape to work directly with both Amazon and Eucalyptus console pages so you can manage your instances without having to use any other tools. Landscape securely stores your security credentials making is easy to spin up new instances on UEC or EC2 at anytime. Once the instances are initiated, they all display on the same page allowing you manage all your physical, virtuali and Cloud instances in one place.

New Timed Package Updates

Users can now schedule package updates, system reboots and shutdowns in the future with minute increments. This gives System Administrators the flexibility to schedule activities for systems to occur during planned maintenance windows or low use periods to minimise the impact on the network. Now that we have developed the time / scheduling function, look for us to add this to other areas of Landscape where it it makes sense, like scheduling scripts in the future.

Administrator Roles

As Landscape is deployed in larger enterprises the need to delegate and limit access to systems has become a key need. Now, in addition to having a master admin who can manage all systems within a Landscape account, you can delegate access to systems to other administrators. This builds on our tags function (which allows you to tag computers performing the same function and update them with a single command) to allocate full access to systems by admin. Typically this means sys admins in different areas can be given full access to their local systems, but not to those in another area or country. Like tags, assigning systems to other administrators is completely flexible so you can use what ever criteria you need.

The Landscape 1.4 client is available today and is included with Ubuntu 9.10 server edition. Details are at www.canonical.com/landscape

Ken Drachnik, Landscape Manager

Read more
Sidnei

This is a really short announcement, since it’s almost 4am here in Brazil and I should actually be sleeping, instead of building installers for Plone (ha!). But hey, this is exciting enough to keep some people awake all night.

Today, Canonical announces the availability of Landscape Dedicated Server!

So what is it?

One of the many things the Landscape team at Canonical has been working on since early this year is a version of Landscape that can be run on a local network, as opposed to the hosted, Software-as-a-Service version of Landscape that is available to the general public at the moment.

Many people have left us feedback saying that this would be desirable for them, and would actually make Landscape an option in environments where data cannot leave the local network boundaries due to strict policies. So if you’re one of this people or you have evaluated Landscape in the past but decided it was not for you due to this specific reason, this is the time to give Landscape a second look!

So thanks to everyone that has submitted ideas and requests for new features. We’re listening! Even more feedback-driven features are being added monthly, free of charge for existing customers, and the user interface is being polished and fine-tuned for managing large installations. Stay tuned for more announcements!

Read more
kendrachnik

Today we are announcing the Landscape Dedicated Server Edition — a stand alone version of Landscape that users can install on-site giving them complete control of their Ubuntu environment. This is one of our most requested features so we modified the Hosted version of landscape, keeping all the management, auditing and monitoring features, packaging it as a software appliance you install on your systems. Now Landscape can operate locally so all your information transfers over your local network and all system configuration, policies and profiles are stored on your infrastructure.

New features available with the Dedicated Server and Hosted edition in the October release include:

  • Manage your Cloud and physical systems in one console – including server, desktop and Amazon EC2 Cloud instances.
  • Scheduled package updates – Now you can schedule package updates and machine restarts for maintenance windows or when network usage is low minimizing the impact to your users.
  • Administrator Delegation – Group your systems to meet your needs then assign permissions to different administrators enforcing work rules and enhancing security.

To be the first to know about availability of the Landscape Server, get informed about upcoming Webinars and download the brochure.

Of course we will continue to offer the Hosted version of Landscape along side the Dedicated Server giving users a choice in how they want to manage their Ubuntu systems. All the new features mentioned above are planned to be available in October when we release the next major update of Landscape and Ubuntu Karmic Koala. The Landscape Dedicated Server is available for order now, but installation will not be available until late September / early October.

Click for detailed information on Landscape, Support and our Training products and services.

Ken Drachnik, Landscape Manager

Read more
Sidnei

Over the past few months, friends and family have been very curious about how my new job is going, and it’s been hard to stop for a moment and go into detail about it. I’ve been simply nodding and saying “It’s fine”.

This is an attempt at summarizing all the activity that happened in the last five months, though it’s far from being a short summary. If I had to pick a two words to describe my first five months at Canonical, it would be “Pure Awesomeness“. For a more detailed view, grab a cup of joe or your favorite other beverage and keep on reading.

Today is a special day. Exactly five months ago, on January 5th, I joined Canonical to work on the Landscape project.

It has been quite a ride so far, with two sprints with the Landscape team, AllHands and UDS in Barcelona just a week ago, and lots of excitement about the future. Saying that I’m completely stunned by the work everyone at Canonical has been putting together and how much the teams have grown in the last few months doesn’t do enough justice to it.

At AllHands and UDS we got a short preview of the things that are coming out in the next cycle and beyond. An example of that is the newly formed Design and User Experience (DUX) team which will not only be focusing on Ubuntu itself, but on many other areas across Canonical and the whole Open Source community in general.

At UDS, the DUX team had a special ‘booth’ where any person from any project could walk to them and get advice about their personal or favorite application. One person which has favorably used such advice already was Seif Lofty, from Gnome Zeitgeist. I met Seif during breakfast at the first day of UDS and I cannot describe how excited he was about simply *being* at UDS. And he was certainly twice as happy when he left.

Another person I had the joy to meet was David Siegel, of Gnome Do fame. We teamed during AllHands on the infamous “Fun In The Woods” activity, which had some people walking like zombies on the day after.

Even more importantly, I was able to meet many many more other colleagues from different teams and wrap up some loose ends from tasks that I got started during the first couple months. I’m definitely impressed by the amount of plain brilliant people that are part of Canonical as of today.

In a sense, being at a Canonical event is very much like being at a Plone conference. Everyone seems to be very receptive about new ideas and very friendly and laid back. And as a bonus, I was able to exercise my (not so secret now) power of throwing some crazy ideas around and see how they influence people. And man, I’m already impressed by the outcomes, just a week after the fact.

To me, this has been the most rewarding thing so far, to be able make big contributions not in lines of code, but in ideas that can make a concrete difference in the hands of the right people. This is something that can only be possible at a company the size Canonical is at the moment, where it’s just big enough that you can grab a mind or two to push an agenda without affecting the rest of the team and still small enough that you can influence decisions.

As my colleague Jamu would best describe, “I’m PUMPED!”. :)

But that’s not all. Software-wise, I was able to make some big contributions too. The Landscape team just finished a 6 month development cycle that brought many cool features to life. I’m really happy with that, and specially with the speed that this team can get features from the black board into reality. It’s also a much different environment than what I was used to, with very well-defined and refined processes for ensuring the overall quality of anything that is produced. One process that I’m specially enjoying is the requirement for two positive reviews before landing a branch. I hope to talk more about that soon (that is, sooner than 5 months from now *wink*).

As for my role in the team, it is quite different than what I’m used to. I’ve been focusing a lot on the UI aspects of Landscape, on ways to make things more obvious and more streamlined. I’ve been also writing a ton of Javascript, and collaborating with other teams to define better policies for Javascript testing in general. And finally, we will now have a person from the DUX team dedicated to working with us, which will push work on the Landscape UI even further.

I also had the chance of interacting with the Launchpad team, which has a much more refined process due to the size of their team. Over at Launchpad, I started a branch back in mid-December, even before starting at Canonical, to allow Launchpad to use the Chameleon Template Engine.

That was another wild ride, and during the course of this project I was able to contribute tons of fixes upstream to Malthe Borch to make Chameleon even more compatible with plain old ZPT. In fact, it is so compatible at the moment that due to the magic of z3c.ptcompat Launchpad will be able to run *both* Chameleon and ZPT with the flip of an environment variable. Even more stunning, the changes required to code were minimal, basically changing imports to use z3c.ptcompat, and in templates we’ve had to fix some non-XHTML compliant ones and remove unused i18n tags. I am happy to announce that this branch will soon be merged (it was submitted to PQM, successfully accepted and is waiting to land the buildbot queue). The bad news is that not all tests pass at the moment with Chameleon enabled, but we will be dogfooding and fixing those tests as we go. It was too much pain already to maintain a nearly 6 month old branch outside the main tree. ;)

I am really interested in many of the things that the Launchpad team is doing, process-wise. The PQM seems like a very nice idea for a bigger team like theirs, though it would probably be useful to our smaller team in Landscape too, and to others in general. Hopefully I will get a chance to explore it more and talk about it during the upcoming FISL 10, in Porto Alegre.

Lastly, but not least important, I’m also working on getting nightly builds of the Bzr Installer for Windows rolling, and a more streamlined process for the official builds. Karl Fogel, of Producing OSS fame, and our Launchpad Ombudsman is making sure I keep my promises about that, which is yet another great incentive.

All in all, there’s of course a ton of things I forgot to talk about and which happened in the last 5 months, but this post is already getting too long so I will stop right here and save some of the meat for a future one. Stay tuned!

Read more
kendrachnik

Announcing the release of Landscape 1.3 – the next version of Canonical’s management and monitoring software that lets you manage multiple Ubuntu systems as easily as one. In addition, Landscape enables you to monitor all your systems from a single Web interface reducing the complexity of managing multiple systems. The theme of 1.3 is Cloud and scalability.

Cloud Computing: EC2 Support
Landscape 1.3 introduces support for Amazon’s EC2 Cloud service. Users can now start, stop and manage their Ubuntu instances on Amazon EC2 from within Landscape.  Just enter your EC2 credentials directly through Landscape to start, stop and manage one of our pre-configured versions of Ubuntu that include the Landscape Client.  We have both 32 and 64 bit server versions available in both the US and EU regions. Once you started, you can use Landscape to manage and monitor them as you would your physical systems. Landscape saves you time by allowing you to manage your physical, virtualized and Amazon EC2 instances from one page.

New Custom Graphs
Users can now create and store trends of key system parameters allowing them to view and act on issues before they impact system performance. This gives System Administrators the flexibility of writing a script to monitor any machine readable parameter that is important to them such as temperature, memory and disk usage.

Knowledge Base
We’ve taken the experience our support engineers have gained with Landscape and created a library of articles that are now available in our knowledge base. There are hundreds or articles that you can search through that will save you time by allowing to quickly find and learn about common procedures and fixes.

The Landscape 1.3 client is available today and is included with Ubuntu 9.04 server edition (Jaunty Jackalope). Read more at the Landscape blog or get product details here

Ken Drachnik – Landscape

Read more
Sidnei

No, this is not a blog post about the kind of landscape you’re accustomed to, though it might trigger a few ‘I want to be a Landscape Architect’ thoughts from a person or two.

The news this time is that I’m going through a landscape change myself, and to me it’s still a bit scary just to think about it.

The last such change in my life happened roughly ten years ago when I left my job as PHP Programmer and Systems Administrator at a small ISP to start my own company with a few colleagues from university. At that time, leaving PHP behind to learn this new (to me) fancy things called Zope and Python felt really weird, not to mention the fact that I was about 20 and knew no-one of my age that had successfully started a web development company (I mean, I live in a very small town, this is not Silicon Valley).

So cutting to the chase, I would like to let everybody know I will be joining the Landscape team at Canonical starting January 5th. I will not be leaving Enfold Systems though. We keep working together part time at least until April, where we expect to make at least one big release of a fully eggified Enfold Server based on Plone 3.2 in that timeframe. After April, I will still be doing work for Enfold Systems, but the time available for that will much more constrained.

Joining the Landscape team is very exciting to me, not only because I will get to work with some really smart people, but also because I will be working from home and being supervised by one of the top minds in the Brazilian Python scene: Gustavo Niemeyer, responsible for pearls like `Mocker`, `Storm` and `Smart`. And on top of that, I will get to learn new ways of managing and collaborating within a distributed software development team, a subject that was theme for my graduation thesis.

Last, but not least important, there’s a long story of back and forth between me and Canonical that dates back as far as 2004. On that year, DebConf 4 was happening in Porto Alegre which is about one hour drive from where I live.

Hanging out on the #zope3-dev irc channel I’ve noticed that one guy, Steve Alexander, connected from an IP range in Brazil. That struck me as odd because I didn’t know Steve very well, but maybe well enough to guess that something hot was going on. So Steve told me he was here for DebConf, and I self-invited me to stop by and say `hi`.

Arriving at DebConf, I met Steve personally for the first time, and again had an odd sensation there: Steve and about 30-40 folks where separated from the rest of the DebConf crowd on their own room, hacking away. I also met Mark Shuttleworth there and saw him talk about his space flight. That was one of the most exciting things and very heart-warming to me since my dream as a kid was to be an astronaut.

Later on that same day I came to know they were creating a new distro: they were taking name suggestions and voting. It was not surprise at least to me when I first saw Ubuntu being mentioned in the news, though I don’t recall clearly if that was one of the suggestions being voted.

Having just finished a big project using Zope 3 and relational databases, Steve quickly asked for my input on the preliminary design of a Zope 3-based web application for managing translations, which I promptly gave. The code I was looking at right there was the beginning of Launchpad. Up until very recently, Launchpad was powered by a creation of mine named `sqlos`, which has now been replaced by `storm`.

Steve asked me if I was interested in joining the team, but I had to decline given that I had just signed up with Enfold Systems, which was only about a month old at that time. I did put them in touch with a good friend I met only a couple years before: Christian Reis (kiko). In retrospect, that might have been one of the best contributions I made to Canonical, and to Open Source in general.

So, all in all, very exciting news for me. Canonical has a special place in my heart since I basically saw when Ubuntu and Launchpad were born and have some really good friends working there. The situation is no different with Enfold Systems. I have been working with Alan Runyan since before Enfold was Enfold, and really since before Plone was Plone: when Plone 1.0 was announced I was with Alan Runyan, Paul Everitt and Alexander Limi in Paris, at SolutionsLinux 2003, participating on a Zope 3 sprint, mind you.

To summarize, I will be splitting my time between Enfold Systems and Canonical between January 5th and April 1st 2009. After that I will be working full time at Canonical but still expect to contribute significantly at Enfold Systems. One of the responsibilities I have right now and which I don’t want to drop is building the Plone installers for Windows. Hopefully I will keep doing that. Unless some Ubuntu dude sneaks in by night and erases my Windows partition, that is. :)

Read more