Shipping best practice with juju charms
Check out Why I don’t host my own blog anymore.
I mentioned it to a friend and he immediately piped in “Oh that guy did it wrong, he shouldn’t care about KeepAlive, he needs FastCGI”.
Ok so the guy “messed up” and misconfigured his blog. Zigged instead of zagged. Bummer.
But it doesn’t have to be this way. Right now we offer Wordpress as a juju charm. This lets us deploy Wordpress with Mysql in 4 commands.
However if you look at the db-relation-hook we don’t do anything special, we create an apache vhost and set it up for you. While this is simple, there’s no reason we can’t make this charm be a turbo charged deployment of Wordpress. Let’s look at some of the recommendations we see on his blog and on HN:
- A simple caching plugin would have quickly fixed this for you.
- In my stacks I always use nginx in conjunction with Apache to handle as much of the static content load as is possible and that lifts a huge weight from Apache. Next up is to always use a bytecode cache like Xcache or APC, these help give a huge boost in performance.
- But then you hit a wall, next up are limitations in WP SQL and MySQL, these can be helped by messing with the queries and using Memcached also helps to significantly boost the DB performance here.
- I had similar nightmares to you for a long time with Apache/PHP/WP, then finally put Varnish cache in front of the whole thing.
- And someone recommends just shoving the thing in Jekyll and serving that.
I’m sure everyone will have an opinion on how to deploy Wordpress. From an Ubuntu perspective, we ship the wordpress and mysql packages, but that only gets you so far. It’s still up to you to configure it, and as this guy proves, you can mess something up. Wouldn’t it be nice if we could collect all the experience from people who are Wordpress deployment experts, put that in our charms and just give people that out of the box?
We could use nginx in the Wordpress charm, with FastCGI, we can certainly add relations to make varnish and memcached know what to do when they’re related to wordpress. And/or just “juju add-relation jekyll wordpress” and have that Just Work.
These are the kinds of problems we’re trying to tackle with juju. Will it be totally perfect for everyone’s deployment? Of course not, that’s impossible, but we can certainly make Patrick’s experience more uncommon. People will always argue about the nitnoid implementation details, but we can make those config options; the point is that we can share deployment and service maintenance as a whole instead of hoping people put the lego blocks together in the right order.
Interested in turning a plain boring charm into something sexy? I’ve filed the bug here, let us know if you’re interested.
Taking a different tack when it comes to growth.
One of the “good problems” I think we have is there’s always things to do. As Charlie Kravetz points out, this can be a bad thing too.
I wanted to post this on Planet to get a better feel for what other people think.
I see my own participation in Xubuntu and Ubuntu development slowing down. Too many events, scheduled on top or close to each other, making it impossible to participate easily.
We are either scheduling too many things, or not checking calendars any more. In past years, it was quite easy to attend all the events held and still participate in development testing.
So for certain things I think we’re doing too much, which is why we’ve streamlined some of the IRC workshops to be shorter. However as I thought of a more detailed answer to Charlie’s concern I came up with the answer (I think).
I don’t think we have too many events, in fact, as we grow the number of events will grow, and our community will need to scale to match that. I am starting to realize that it’s not a bad thing that people can’t find the time to participate in everything.
The real problem isn’t that Charlie doesn’t scale, it’s that someone needs to have his back. So perhaps when events do clash we should look at which teams have what coverage in what events. For example, Charlie clearly needs to do ISO testing, but at the same time Xubuntu should have coverage in developer week because it’s really one of the best places to find new contributors that can …. help Charlie do ISO testing. Catch 22.
So maybe from a team level instead of an individual level we should be focusing on finding people who can jump in when a team is overtaxed for a week. For example, in hindsight maybe we could have done a better job helping Charlie find someone to cover developer week for Xubuntu. A forum thread, a planet post, a tweet, a mention on our Facebook page?
These are all things we could do to help the creaking an overburdened person might face. It’s a bummer that one person can’t scale, but at the same time having different people focusing on different individual things will probably be healthier in the long run.
Ubuntu Forums needs single sign on, looking for a PHP developer…
I’m looking for a PHP/OpenID hero to help us in a bit of a bind we have on the forums.
The forums need a branding update, as well as an update to the vbulletin software they’re running. Unfortunately vbulletin doesn’t support openid(!). I know right.
In the past there was a bit of custom php that was done in order to enable Ubuntu users to use their Ubuntu Single Sign On account. This doesn’t work with the new version of vbulletin, and this is a blocker to the upgrade.
I’m in search of a volunteer(s) that can work with the Canonical IS team and the Forums Council to make this happen. Ideally you’d be comfortable with PHP and vbulletin already, and wouldn’t mind a brutal security review from the IS and security teams in Ubuntu, but hey, you’d be the guy that fixed logins on the forums, with all the fame (or infamy) and glory that it entails.
Feel free to ping me in the comments if you’re interested and I can link you up with the right people. The forums have always been a crucial element of Ubuntu’s success, and it’d be a great way to contribute if you’re looking for something to do.
See you at SCALE!
I can’t wait to see some people I haven’t seen in years at SCALE, and meet a bunch of new people!
Come find me and Clint, we’ll be doing talks about juju and Ubuntu Cloud all weekend, as well as answering questions the entire time. I’m easy to find, look for a Red Wings hat and an Ubuntu shirt.
Here’s our post about our talks.
GNOME Boxes looking for Debian/Ubuntu help…
If you read any of my previous blog entries, you must be now familiar with this ‘express installation’ concept we have in Boxes. Its pretty neat actually, you just set a few options at the beginning and then you can leave Boxes (or your machine) and when you are back, everything is setup for you automatically in a new box.
I have invested a lot of time/efforts on this already and will be spending a lot more time in future as well but I am just one man so can not possibly cover all operating systems out there. That is why I am asking for help from anyone who will be interested in adding express installation support for Ubuntu and Debian while I focus on Fedora and Windows variants. Oh and if you are interested in adding support for some other distribution/OS, that contribution will also be more than welcomed.
In any case, happy hacking!
If you’re interested in doing this (it would be great to get Boxes in 12.04) let me know. You’ll likely need to link up with the Desktop Team, I can help get you talking to the right people if you want to rock this.
IRC Workshops for 12.04.
Thanks to the Ubuntu Classroom team session at UDS we’ve got all the IRC Workshops planned already, along with spiffy ads to spread around.
After much discussion we have decided to “focus” the IRC workshops. Instead of one long week we’re smushing them up to just three days for each “week” but make the days longer to hit more time zones. So they will be from Tuesday to Thursday. Don’t worry, it’s the same amount of content, just concentrated.
And for OpenWeek we’re likely going to move to 30 minute sessions by default (though we can adjust this), which will mean instructors will have to be more prepared ahead of time. So, less typing wasting time, more time pasting in prepared material and answering user questions. No change for the Global Jam, keep rocking that!
Here’s a banner to plop on your blog!
Our first Charm School!
We’re holding a Charm School on IRC.
juju Charm School is a virtual event where a juju expert is available to answer questions about writing your own juju charms. The intended audience are people who deploy software and want to contribute charms to the wider devops community to make deploying in the public and private cloud easy.
Attendees are more than welcome to:
- Ask questions about juju and charms
- Ask for help modifying existing scripts and make charms out of them
- Ask for peer review on existing charms you might be working on.
Though not required, we recommend that you have |juju installed and configured if you want to get deep into the event.
Ask Mark, Wednesday, 23 November, 1500UTC
Every Ubuntu Open Week we have a session called “Ask Mark”, where Mark Shuttleworth answers questions from the community in IRC.
Due to scheduling conflicts this didn’t happen last Open Week, so we’re holding a special standalone event on IRC where people can ask Mark questions.
Ask Mark will take place in #ubuntu-classroom at 1500UTC on Freenode. You’ll need to join that channel, and #ubuntu-classroom-chat, where you will ask questions, which will then get passed onto a bot and onto Mark.
Some tips for asking questions:
- Mark operates at a macro level of the project, so questions like “How do I get Flash to work?” or “Why did you pick this specific version of the kernel to ship in 11.10” he’s likely to not know the answer to that. So unless you want a “Go ask the person who runs that team” answer try to ask questions about Ubuntu at a higher level than asking about plumbing.
- Make your question count - put some thought into it, plenty of people will be asking good questions, so don’t waste an opportunity by asking something like “Where can I download 11.10?”
- Here are the archives of the past sessions if you want to see what has been asked before if you want an answer.
- It can get chaotic with the amount of people asking questions, so please be patient.
Here’s the classroom wiki page with information on how to participate if you need more detail. Hope to see you there!
I’m as transparent as aluminum.
We try hard in Ubuntu to be transparent. We publish our blueprints on our plans before we even get to UDS:
- Each session at UDS has an associated etherpad: http://summit.ubuntu.com/ on the schedule, the plenaries are streamed live on http://video.ubuntu.com/live/. Some select sessions are video’ed and put on the Youtube channel, though we don’t have the resources to tape them all.
- Every single team’s goals is outlined on status.ubuntu.com.
and so on. Our teams provide IRC transcripts of all their meetings. Here’s the entire history of the Desktop Team’s meetings, and here’s the set from the Kernel team. And here’s a set from the Release Team. All our meetings are open to the public, and people are encouraged to participate.
Up until this cycle, Mark Shuttleworth has done an open Question and Answer session on IRC every 6 months for the past 5 years. And it’s not just Mark, we’ve subjected Rick Spencer (current head of engineering management at Canonical) and Matt Zimmerman (CTO for Canonical for years), as well as Kate Stewart (release manager) to open user questions on IRC.
(Mark was on holiday during openweek this cycle, but we’ll make it up to you).
We do try our best to respond to user ideas on Brainstorm, but for obvious reasons we cant’t scale so well at that, so we do our best to hit the top ideas every 6 months.
Despite these efforts, it can be frustrating to hear that Ubuntu is making decisions without input from “the outside”. How do you think we can improve our transparency?
IMO I think we do a decent job of being transparent, and people who follow Ubuntu know what to follow, but this might not be so obvious to people who are new. So maybe we’re awesome at being transparent, but not so much at communicating, which is fine, we can fix that.
For my part, this cycle I’m going to put my personal TODO list out there in the public. I used to use my own internal GTD-like thing but I’ved moved to Trello so here’s my every day TODO list:
- My general Community team board - this is my every day stuff. Everything from claiming my expenses to hanging out with Clint.
- My plans for cloud.ubuntu.com
- Our plans for IRC classrooms
Immediately you’ll notice that my TODO list totally doesn’t match my assigned blueprints. That’s because after UDS I went on a trip immediately and then we had a holiday on Friday, so at this time my TODO list and my assigned blueprints don’t match. And you’ll also notice that my user page on status.ubuntu.com isn’t updated yet. It will be up to me to update all of these to make sense. So yeah, you can see how behind I am, I haven’t even consolidated my tasks from UDS with my TODO list yet. On some of these TODOs you’ll see that I share them with other people.
And you can follow along with me as I work on this cycle. Follow my trello boards, find me on IRC, follow me on G+, follow my status reports, whatever works for you. I am going to make a concerted effort to make what I do as public as possible. I’ve outlined some ways that other teams outline their progress. Like I said, I think we do a decent job of being open, but maybe we need to do a better job at making that obvious to people, how can we improve this?
Power blues got you down?
Colin King has started a wiki page with kernels that include a proposed fix to the infamous power regression bug.
If you’re experiencing this, follow the instructions on the page and report back by adding your laptop to the page.
Many thanks to Matthew Garrett for the proposed fix and for explaining the entire EFI/power thing to me at the bar at UDS. It’s always good to hang out with an OG at a conference.
OpenWeek Summary for Wednesday
Here are the logs from yesterday’s OpenWeek sessions:
- Advanced dualboot (Win/Ubuntu) config sharing a lot of stuff! - Tiago Carrondo
- How to contribute translating Ubuntu — David Planella
- Volunteer Leadership -What does it take? - akgraner
- Writing your first Ubuntu app — David Planella
- Social Networking in Ubuntu: What’s new? - KenVanDine
And here’s the schedule, and don’t forget today at 1700 we have engineering manager Rick Spencer fielding your questions about Ubuntu!
Mobile schedule for UDS
The guidebook mobile schedule for UDS-P is now ready, install it here:
And just search for UDS in the application. Then you’ll have the UDS schedule, events, sponsorship information, and maps in your pocket:
The schedule updates every 10 minutes, and there’s a convenient QR code on each schedule page so at UDS itself you’ll be able to just take a shot of one of the scheduling monitors, or from the QR codes we’ll have plastered around the venue.
OpenWeek Summary for Tuesday
NOTE! We are starting a bit early today at 1300UTC, and also
today tomorrow we have Rick Spencer’s Q+A. Rick is the engineering manager for the Ubuntu Platform, so he’s got good working knowledge of Ubuntu as a whole, so bring your hard questions!
Here’s the logs from yesterday’s sessions:
- Getting Started with Ubuntu Development - Daniel Holbach
- Is your system Ubuntu Friendly? Contributing to the community hardware testing program — Daniel Manrique
- Ubuntu Brainstorm: Will your idea change the world? - Cheesehead
And here’s the schedule for today!
OpenWeek Summary for Monday
We had some great sessions yesterday, here are the links to the logs:
- Introduction and General Ubuntu Q&A - Jorge Castro
- Contributing to Ubuntu at a Local level: A Roadmap - Randall Ross
- Getting the most out of LoCo Teams Portal - Michael Hall
- Juju: DevOps Distilled - Clint Byrum
We’ve got some nice content for you today too, starting at 1400UTC:
- Daniel’s going to do a 2 hour block on how to get started with Ubuntu Development
- Contributing to the Ubuntu Friendly program (this is a great project, it takes about 15 minutes and anyone can do it, it’s a great way to give back to Ubuntu.
- and Ubuntu Brainstorm, will your idea change the world?