Canonical Voices

Posts tagged with 'devops'

mark

This is a series of posts on reasons to choose Ubuntu for your public or private cloud work & play.

We run an extensive program to identify issues and features that make a difference to cloud users. One result of that program is that we pioneered dynamic image customisation and wrote cloud-init. I’ll tell the story of cloud-init as an illustration of the focus the Ubuntu team has on making your devops experience fantastic on any given cloud.

 

Ever struggled to find the “right” image to use on your favourite cloud? Ever wondered how you can tell if an image is safe to use, what keyloggers or other nasties might be installed? We set out to solve that problem a few years ago and the resulting code, cloud-init, is one of the more visible pieces Canonical designed and built, and very widely adopted.

Traditionally, people used image snapshots to build a portfolio of useful base images. You’d start with a bare OS, add some software and configuration, then snapshot the filesystem. You could use those snapshots to power up fresh images any time you need more machines “like this one”. And that process works pretty amazingly well. There are hundreds of thousands, perhaps millions, of such image snapshots scattered around the clouds today. It’s fantastic. Images for every possible occasion! It’s a disaster. Images with every possible type of problem.

The core issue is that an image is a giant binary blob that is virtually impossible to audit. Since it’s a snapshot of an image that was running, and to which anything might have been done, you will need to look in every nook and cranny to see if there is a potential problem. Can you afford to verify that every binary is unmodified? That every configuration file and every startup script is safe? No, you can’t. And for that reason, that whole catalogue of potential is a catalogue of potential risk. If you wanted to gather useful data sneakily, all you’d have to do is put up an image that advertises itself as being good for a particular purpose and convince people to run it.

There are other issues, even if you create the images yourself. Each image slowly gets out of date with regard to security updates. When you fire it up, you need to apply all the updates since the image was created, if you want a secure machine. Eventually, you’ll want to re-snapshot for a more up-to-date image. That requires administration overhead and coordination, most people don’t do it.

That’s why we created cloud-init. When your virtual machine boots, cloud-init is run very early. It looks out for some information you send to the cloud along with the instruction to start a new machine, and it customises your machine at boot time. When you combine cloud-init with the regular fresh Ubuntu images we publish (roughly every two weeks for regular updates, and whenever a security update is published), you have a very clean and elegant way to get fresh images that do whatever you want. You design your image as a script which customises the vanilla, base image. And then you use cloud-init to run that script against a pristine, known-good standard image of Ubuntu. Et voila! You now have purpose-designed images of your own on demand, always built on a fresh, secure, trusted base image.

Auditing your cloud infrastructure is now straightforward, because you have the DNA of that image in your script. This is devops thinking, turning repetitive manual processes (hacking and snapshotting) into code that can be shared and audited and improved. Your infrastructure DNA should live in a version control system that requires signed commits, so you know everything that has been done to get you where you are today. And all of that is enabled by cloud-init. And if you want to go one level deeper, check out Juju, which provides you with off-the-shelf scripts to customise and optimise that base image for hundreds of common workloads.

Read more
Mark Baker

The telco business has long prided itself on providing dependable services all day every day. Today, dial tones generally survive earthquakes, hurricanes, wars and power cuts and that is testimony to the service quality telcos provide. This high level of service quality runs through a telco’s DNA, which gives their applications the renowned ‘telco-grade’ high quality, highly scalable and constant availability. But creating such a culture comes at a cost.

 

The standards are a result of the tightly controlled software used by telcos which have been tested over many years. Strict processes are employed to minimise the chance of failure of any item in the service, and robust backup or failover services are provided in the advent of failure. While this is essential to deliver failsafe services, it also creates a restrictive environment in which launching new services based on new technologies is severely hampered.

 

As a result, new technology businesses are out-maneuvering telcos by being able to offer services based on the latest development frameworks. These are put together using agile processes and pushed into production by super smart DevOps who have planned application architectures assuming failures will happen. Whether it is Infrastructure As A Service (IAAS) platforms, a move towards IP based voice and data services, or mobile application delivery services that drive customer engagement and retention, startups and tech companies are all delivering strong solutions into the market and putting pressure on telcos to do the same.

The Telco Application Developer Summit in Bangkok, November 21st and 22nd, aims to try and accelerate the pace of new service delivery for telcos by enabling developers to discuss the benefits of DevOp and agile practises. With Ubuntu being at the centre of many of the recent innovations in the high tech space, be it OpenStack cloud, Platform As A Service (PAAS), Software Defined Networking (SDN) or public cloud computing, we are very excited to be a part of this conference. We will be in attendance and demonstrating technologies such as Juju, which enables services to be launched and scaled instantly. If you are involved in the delivery of application services for telcos you should check TADS out and maybe we will see you there.

Read more
Mark Baker

As clouds for IT infrastructure become commonplace, admins and devops need quick, easy ways of deploying and orchestrating cloud services.  As we mentioned in October, Ubuntu now has a GUI for Juju, the service orchestration tool for server and cloud. In this post we wanted to expand a bit more on how Juju makes it even easier to visualise and keep track of complex cloud environments.

Juju provides the ability to rapidly deploy cloud services on OpenStack, HP Cloud, AWS and other platforms using a library of 100 ‘charms’ which cover applications from node.js to Hadoop. Juju GUI makes the Juju command line interface even easier, giving the ability to deploy, manage and track progress visually as your cloud grows (or shrinks).

Juju GUI is easy and totally intuitive.  To start, you simply search for the service you want on the Juju GUI charm search bar (top right on the screen).  In this case I want to deploy WordPress to host my blog site.  I have the chance to alter the WordPress settings, and with a few clicks the service is ready.  Its displayed as an icon on the GUI.

I then want a mysql service to go alongside.  Again I search for the charm, set the parameter (or accept the defaults) and away we go.

Its even easier to build the relations between these services by point and click. Juju knows that the relationship needs a suitable database link.

I can expose WordPress to users by setting expose flag  - at the bottom of a settings screen – to on. To scale up WordPress I can add more units, creating identical copies of the WordPress deployment, including any relationships.  I have selected ten in total, and this shows in the center of the wordpress icon.

And thats it.

For a simple cloud, Juju or other tools might be sufficient.  But as your cloud grows, Juju GUI will be a wonderful way not only to provision and orchestrate services, but more importantly to validate and check that you have the correct links and relationships.  Its an ideal way to replicate and scale cloud services as you need.

For more details of Juju, go to juju.ubuntu.com.  To try Juju GUI for yourself, go to http://uistage.jujucharms.com:8080/

Read more
Mark Baker

Hardened sysadmins and operators often spurn graphical user interfaces (GUIs) as being slow, cumbersome, unscriptable and inflexible. GUIs are for wimps, right?

Well, I’m not going to argue – and certainly, command line interfaces (CLIs) have their benefits, for those comfortable using them. But we are seeing a pronounced change in the industry, as developers start to take a much greater interest in the deployment and operation of flexible, elastic services in scale out or cloud environments. Whilst many of these new ‘devops’ are happy with a CLI, others want to be able to visualise their environment. In the same way that IDEs are popular, being able to see a representation of the services that are running and how they are related can prove extremely valuable. The same goes for launching new services or removing existing ones.

This is why, last week, as part of the new Ubuntu 12.10 release, we announced a GUI for Juju, the Ubuntu service orchestration tool for server and cloud.
The new Juju GUI does all these things and more. For those of you unfamiliar with it, Juju uses a service definition file know as a ‘charm’. Much of the magic in Juju comes from the collective expertise that has gone into developing this the charm. It enables you to deploy complex services without intimate knowledge of the best practice associated that service. Instead, all that deployment expertise is encapsulated in the charm.
Now, with the Juju GUI, it gets even easier. You can select services from a library of nearly 100 charms, covering applications from node.js to Hadoop. And you can deploy them live on any of the providers that Juju supports – OpenStack, HP Cloud, Amazon Web Services and Ubuntu’s Metal-as-a-Service. You can add relations between services while they are running, explore the load on them, upgrade them or destroy them. At the OpenStack Summit in San Diego this year, Mark Shuttleworth even used it to upgrade a running* OpenStack Cloud from Essex to Folsom.
Since the Juju GUI was first shown, the interest and feedback has been tremendous. It certainly seems to make the magic of Juju – and what it can do for people – easier to see. If you haven’t seen it already, check out the screen shots below or visit http://uistage.jujucharms.com:8080/

Because as we’ve always known, a picture really is worth a 1000 words.

 

Juju Gui Image

The Juju GUI

 

 

*Running on Ubuntu Server, obviously.

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