Matthew Williams has put together a quick video showing off how easy it is to deploy OpenStack with the Juju GUI:
I’ve talked in the past about The Way to Run Wordpress in the Cloud. It looked like this:
juju deploy wordpress juju deploy mysql juju add-relation wordpress mysql juju expose wordpress
But the problem with building tools that scale up is that we sometimes forget that people like to scale down too. Counting the bootstrap node that comes out to 3 instances. We default to m1.smalls so that comes out to about about $133 a month for an on-demand WordPress blog. Not very cost effective.
As of Juju 1.11.3 and newer, we can now deploy services to the same instance. How we express this is via the
juju deploy --to command. Let’s look at our WordPress example again, this time, let’s save some money and run the entire thing on one node.
juju bootstrap juju deploy --to 0 wordpress juju deploy --to 0 mysql juju add-relation wordpress mysql juju expose wordpress
Then run a quick
juju status to get the public IP of your WordPress installation, and you’re done. On reserved instances that comes down to $61 a year, or $5.08 a month! Commit to three years on AWS and it’s closer to $2.65 a month. Now we’re talking, just don’t forget to add the cost of bandwidth in there.
So what’s the big deal? Running these things on one instance isn’t exactly rocket science. Well ok. Your twitter moment has arrived and now you need to scale your blog. You need on-demand scalability:
juju add-unit wordpress
--to juju fires up a new instance of wordpress to help you scale. How famous is your new blog post?
juju add-unit -n4 wordpress will fire up another 4. Now let’s scale back down, let’s remove units 3 and 4:
juju remove-unit wordpress/4 juju remove-unit wordpress/3
This brings us down back to nodes 0, 1, and 2 running. Keep on going until you’re back to just node 0 running everything. Start on one instance and be able to scale up and down based on traffic. Not bad indeed!
You’re not just getting some out of the box vanilla WordPress and MySQL either. You’re getting a battle-hardened scalable WordPress deployment that’s tuned to scale with nginx. If you want to turn the crank to 11 you can also deploy memcached with it for a really fast blog.
Some caveats; while this works with WordPress right now the individual charms are running on the raw instance, they are NOT in containers yet! That is, if you deploy multiple charms to one box they might collide and stomp on each other. So play with it, but I recommend waiting until the next release of Juju (next month) for containers to land so we have a nice clean seperation of the units on the instance. Work on that continues, along with adding this ability to the GUI. However WordPress works today!
In the meantime here’s how to Get Started with Juju. Happy Orchestrating!
- Targetted Machine Deployment with Juju by James Page
- new juju-gui which can be seen at jujucharms.com
- manage.jujucharms.com has the review queue and charmer tools
- local provider
- ”–to” “–constraints” (reminder)
- James Page’s blog post
- We’d like this fixed for the local story in 12.04: Bug 1203795
- juju-core release should be happening this week. Should also be the first homebrew “release.”
- 1.0 release this week
- Deep deployer integration
- Improved ability to inspect services, units, and relations in depth
- No new changes released
- Minor bug fixes
- Password generator helper added
- We should add docs for
- New walkthrough of the charm author section, much easier to follow.
- 2 bugs:
- Charm Author maintenance, how to monitor bugs
- Make subordinate information better
- OSCON done!
- Submissions to ODS done
- RubyConf is our last submission for the year!
Charm Championship!!! \o/
- [jorge] Blog about –to: TODO
- [jorge] Ask Forum moderators to put Juju/Cloud section on the front page: TODO
- [arosales] scaling video: DONE
- [marco] upgrades video (I missed another week): INPROGRESS
- [pavel] email list on continuous deployment story using Rails charm: DONE,
- [arosales, marco] To get feedback to pavel: TODO
- [evilnick] Charm Author docs structure: INPROGRESS
- [marco] Changes to charm-tools update: DONE
- [marco] amulet completed deployer integration (1st iteration): DONE
- [marco] amulet sentry integration: INPROGRESS
- [nick] Update AWS getting started docs: DONE
- [nick] Add local provider getting started docs: TODO
- [pavel] nagios, logstash, memcached Rails charm integration: DONE
- [pavel] Work on amulet integration testing: TODO
- [pavel] Start investigating how to do backup in Rails: TODO
- in github branch atm.
One of the comments I’ve been hearing is that the Ubuntu Edge is too expensive, and that it’s not in line with what people expect financially.
American’s especially are accustomed to this. I’ve argued this with friends and family, who still can’t understand why I would pay “so much money” for a Nexus 4 when they’re literally giving away phones at carriers or $199 iPhones. Nevermind that a simple calculation shows that in the end they’re paying not only the full cost of the phone, but even more to the carrier for the subsidy!
Check this out:
Now check the hardware specifications of the Edge. Not so crazy now is it? Well, the idea is still crazy but think about it. You’re pledging for what a top of the line phone costs today.
The Edge isn’t about pledging to replace your phone now, it’s about doing it a year from now. Looking at the specs on my Nexus 4 right now and where the Edge will be, I’m investing in an upgrade. It’s a tougher sell if you’re a Nexus-only kind of guy like me, but doubling up to support Ubuntu is an easier sell for me as a supporter of the project. However if you’re an iPhone kind of person, seems like a nice get-out-of-gilded-cage card to me.
- Local Provier landed in juju-core trunk \o/
- All hail Thumper, devops bunny.
- OSX client available, instructions here
- Icon instructions
- Changes in -tools will land next week.
- More fixes/features to -helpers from Matt, James, Adam, and Liam. Thanks guys!
- Programmable API (shell interface) work for -helpers will begin next week.
- lp:amulet released last week, release today with deployer integration, “1.0” by the end of the week.
- Documentation and blog post/video and examples on how to use amulet to help you write functional tests for your charms.
- Rewrite of the author docs in progress, will go live at the latest by Monday. (Main priority)
- Added instructions for OSX client (check out the slick CSS thing)
- Marco added revisions to the pages so we can tell when the docs are built.
- Discussion on how to syndicate content to developer.ubuntu.com
- Syncing with Cheney on adding local provider docs.
## Charm updates
- Rack Charm (Pavel from Altoros)
- Started last week.
- Working on “Heroku-like” deployment workflow.
- Postgres relation works, adding MySQL and MongoDB next.
- To add: Logstash and Nagios.
- Running source code updates should work now.
- OpenAS is now in the store, thanks to John Patterson
- Testing integration lands August 1st, spinning this up.
- OSCON next.
- Need to submit Juju talks
Charm Championship!!! \o/
- Submit your Juju deployment and enter to wik 10k!
Use this for recording your videos:
recordmydesktop --freq=22050 --buffer-size 96000 --width 1024 --height 768 --fps 24 -x 6 -y 96 --delay 3 -o "juju-screencast-scale.ogv"
Change the -x and -y to match position of your vm display
- [jorge] Get queue for charm proof errors for Audits: Done
- We have this, we just need sinzui’s team to drop oneiric and then add the rest to the queue: http://jujucharms.com/tools/proof-errors
- [m_3] sync with jorge and marco on test driven charming for OSCON: INPROGRESS
- marco to finalize OSCON details with m_3
- [arosales] scaling video: INPROGRESS
- [marco] upgrades video: INPROGRESS
- [arosales] to walk through docs: DONE
- [arosales] Add file server category: DONE
- [all] Charm Championship get folks involved ! github.com/juju: INPROGRESS
- [pavel] 1st iteration of Rails charm: INPROGRESS
- [pavel] email list on continuous deployment story using Rails charm: INPROGRESS
- [jorge] OSCON and Juju talk delivery:
- [evilnick] Charm Author docs structure
- [marco] Changes to charm-tools update
- [marco] amulet completed deployer integration
Just a quick reminder that Mark Mims and I will be at OSCON to talk about Service Orchestration In the Cloud With Juju at 9am on Tuesday.
If you’re deploying in the cloud then you should stop by, we’ll be deploying all sorts of things on HP Cloud.
If you’re around on Monday night for the Birds of a Feather sessions we will be doing a “Running Ubuntu Server in Production” BoF with Michael Barnett from Canonical IS. We’ll be discussing how we run OpenStack in production and in general have a discussion on how we use OpenStack to help drive Ubuntu forward.
Hope to see you there!
UPDATE: Juju is now in Homebrew - go check it out!
The docs are still generating but the workflow is pretty simple. Untar the tarball and run the binary. If you’re familiar with Macports or Homebrew and want to chip in getting us in those places please contact me.
- juju.ubuntu.com/docs/getting-started.html and skip right to the configuration part to fire off your cloud.
While you’re checking out Juju make sure you check out our Charm Championship, where we’re giving away 3 $10k prizes for interesting stacks built with Juju Charms.
I am an amateur Vermiculturist. I have a worm bin at home that I put my food scraps into. The little worms eat my leftovers and my junk mail, and then I make my own natural fertilizer which I use around the house.
This isn’t a common practice, but it’s pretty low maintenance, and since you’re probably a geek like me, you’d be interested. It piques your “Simcity” gene, the one that makes you wonder what a reticulating spline is. Having been doing this for 9 months now I am confident in sharing how to do this at home that’s quick and easy without having to spend hours reading up on this like I had to. So here’s the TL;DR:
Why have worms eat your trash?
There are numerous benefits to having a worm bin at home.
- Reduces the amount of food waste that ends up in the garbage.
- Turns your junk mail into something useful instead of filler in your recycle bin.
- Appeals to your God complex and your scientific curiosity.
- Provides you with the most kickass natural fertilizer you can get.
It’s pretty simple really, you have a worm bin with worms and bedding. Anything that is not meat or dairy goes into your worm bin. As the worms chomp on your waste they poop it out as castings, which we use as fertilizer. And the best part is, unlike traditional composting, there’s no smell or any odd business. In the winter I even keep it inside in the basement.
There’s lots of ways to do this. Some involve bins and all sorts of complex level-like things with drawers and all that. Skip all of it.
The Worm Inn
You want a Worm Inn. This bad boy is made up of Cordura, which is nice and breathable and really easy to set up. I didn’t spring for the stand, instead I got some of the recommended tubing from Lowe’s and hacked-sawed myself a stand. Then put it in a place where there’s no direct sunlight, preferably some place cool and moist. Food and bedding go in the top, and over time fertilizer comes out the bottom.
Under the bin put a small bowl or something, this will collect water that might drip out the bottom of the bin when you’re adding water to keep it moist.
Get some bedding
Too easy. The same thing that subsidizes our postal service can also be reused for our purposes. I shred all of my junk mail in a Fellowes W11C. This gives you nice shredded paper. You’ll stick a bunch of it in the worm inn, about 1/3 of the way full.
- Order 1,000 worms from Amazon. You want Red Wigglers, they’re the worm equivalent of a honey badger. They don’t care about anything but eating and eating.
- When they arrive stick them in the worm bin, right in the middle along with the dirt that came in the bag. Add a half a cup of water since they’re dehydrated from their journey to you.
- Toss a half eaten apple or some other piece of fruit in there with them. If you’re a geek you probably have some sitting in your fridge about to go rotten anyway, along with those other weird things we hate, vegetables. You can add anything except meat or dairy.
- Cover them up with more bedding; I just dump the rest of the shredder bin in there.
- If you have a squirt bottle or watering can moisten the bedding as if it was paper mache.
And that’s it.
You won’t even ever interact or see the worms. From the outside it just looks like a bag with shredded paper in it.
- When you eat stuff throw the scraps in the bin, and then add a bit of bedding to cover the food. This creates layers of composting stuff in different stages of completion.
- The junk mail is never ending, so it’s easy to keep the bin full of bedding and scraps.
- If they run out of food they will eat the bedding anyway.
- Keep it moist. I just reuse our watering can to keep the bedding moist.
- That’s about it. You’ll think you need to check up on them, but you don’t, they’ll keep doing their thing day and night.
6-9 months later your bin will start to get full, you’ll feel the bottom getting heavy like there’s a bunch of dirt in there. The wigglers will push their castings down while you keep adding fresh bedding and food to the top.
You’ll open the bottom of the bin and dump some of the worm castings into a plastic tub. Don’t worry they’ll be nice and fluffly and compact, they won’t fall out, you can just scrape out the bottom parts with your gloved hands. Your bin will be emptyish again and you just keep on adding.
How you use your compost is up to you. Use it or gift it to a neighborhood green thumb. I toss it in our newly planted plants, and extra water collected in the bowl under the bin can be mixed with water 50/50 as watering mix for your plants.
And that’s it.
I just had a 4th of July BBQ and we shoved a ton of scraps in there afterwards. Melon husks, corn cobs, eggshells, apple cores, banana peels, and potato skins. I’ve tossed entire loaves of bread that have gone bad into the thing. The fellas just keep eating, it’s like a nice little machine.
And the kids love it too, my wife was able to give all the visiting kids a little science lesson as they curiosly wondered why we kept worms in the house. And after you’re all set up the maintenance is trivial. I spend more time sorting my cans and bottles than I do managing my bin, it’s a quick and easy way to having a more sustainable household when most of the food and paper waste is reused. Enjoy!
Here’s a cool gift to the community from charm hero John Patterson.
Deployment is easy:
juju deploy openvpn-as juju set openvpn-as password=mycoolnewvpn juju expose openvpn-as
The just a quick
juju status to get the public address and hit it with http://ipaddress/admin to configure the VPN server. Then you’re done, you have an OpenVPN server.
Of course to use a VPN you need to configure your clients, thankfully John has included instructions for Mac, Linux, and Windows. Using OpenVPN commercially? No worries, there’s even an option to pass along your OpenVPN license to the deployment after the fact. There’s also some other goodies in there you’ll want to check out.
One current limitation is that you do need a bootstrapped environment to deploy this, so for individuals it might be cost restrictive to run 2 instances, but if you’re a larger organization with multiple users this won’t be an issue. Still, work continues to allow for multiple services to run on the same machine, and we should have a nice, single-machine OpenVPN solution for you by the end of the summer.
In the meantime, enjoy OpenVPN, nice work John!
If you haven’t been noticing, the trend towards larger and more complex systems seems to be accelerating. All the interesting talks aren’t even just about services. It’s about entire stacks of things. Here’s a diagram of the Obama campaign’s AWS infrastructure. Look at that thing, that looks more like a CPU diagram than anything else.
Since people love to use Ubuntu in the cloud, we find ourselves kind of in the middle of this evolution; the kind of world where the data center is the work unit, not the individual machine. As such we’ve been working on Juju, which is all about services and relations. Here’s what a stack in Juju looks like, sorry it’s not as impressive as the President’s.
I love looking at other people’s dotfiles. You really learn by reading other people’s dotfiles. Everything from their web server config to configuring a text editor. We strongly believe that in the cloud your combination of services and relations is the new dotfile. It might be a diagram like I’ve shown you, or it might be a YAML export of your entire deployment. (Don’t worry, it’ll be a text file, we’re not heretics you know.) Either way it’s not just about your single service anymore.
I don’t really want to see your individual
/etc/mysql/my.cnf anymore. I want to see how you configure the masters and slaves, along with a monitoring stack, along with how you’re backing it all up. How does it talk to your web heads, and how do they do all these things? What are you using for logging and monitoring? How does it tie into your databases and your webheads? How do you configure those things to do what you want? Now we’re talking about something interesting!
So here’s the deal:
We want you to charm up your infrastructure, and we want you to share it with the community.
Welcome to the Charm Championship:
- You will grab Juju and deploy the Juju GUI.
- Grab all the things you need from the ~130 services available in the Charm Store
- Build me your brutal infrastructure. We want to see your monitoring stacks, your backup solutions, everything that you need to run your service or business. Is a charm missing? Build it and submit it. Is a charm not doing what you need it to do? Fix it.
- Got some secret sauce? That’s ok, charms let you do what you want, deliver your secret payload how you wish, you’re only submitting your charms and your environment.
- You have until October 1st to put pencils down. You have all summer to build something amazing.
- Export your infrastructure from the GUI, submit the YAML file via github.
Earn some cold hard cash
We’ll be giving away a total of USD $30,000 in major prize money.
- $10,000 to the individual or team that submits the most kickass High Availability solution.
- $10,000 to the individual or team that submits the best Data Mining solution. There’s tons of datasets out there, or perhaps you have your own.
- $10,000 to the individual or team that submits the most complete Monitoring solution. We want to see who can put together a monitoring stack that people will love.
On top of that, people who maintain charms in the Juju Charm Store are eligible for prizes. If you maintain a charm, every time your charm is used in a winning stack you get $200, for a maximum of $3,000 in each category. That means you might need to team up with the contestants to get the features they need in your charm and get them in the store so you can all win a little green. Work with all the contestants to maximize your chances!
Rules and how to enter
Everything you need is linked from: