Knife EC2: Manage Amazon EC2 Instances With Chef

by on August 3, 2015 · 22 comments

Chef enables you to automate your infrastructure. It provides a command line tool called knife to help you manage your configurations. Using the knife EC2 plugin you can manage your Amazon EC2 instances with Chef. knife EC2 makes it possible to create and bootstrap Amazon EC2 instances in just one line – if you go through a few setup steps. In this article, I want to show you how to setup your Chef installation and AWS configuration so that you can easily bootstrap new Amazon EC2 instances with Chef’s knife.
[Read more…]

Supporting Millions of Pretty URL Rewrites in Nginx with Lua and Redis

by on October 13, 2014 · 0 comments

About a year ago, I was tasked with greatly expanding our url rewrite capabilities. Our file based, nginx rewrites were becoming a performance bottleneck and we needed to make an architectural leap that would take us to the next level of SEO wizardry.

In comparison to the total number of product categories in our database, Stylight supports a handful of “pretty URLs” – those understandable by a human being. With you have a good idea what’s going to be on that page.
[Read more…]

Test Driven Chef Cookbooks With Meez

by on February 6, 2014 · 0 comments

When cooking a new dish, things get out of control if you try to manage too many things at once

You might face a similar situation when trying to write a new Chef cookbook.

Getting your arms around all those tools and frameworks needed to write solid, tested cookbooks gets you spinning. You need to install Food Critic, Chef Spec, Berkshelf – and the list goes on. This set up can easily take up to half a day or more.

French Chefs arrange all the ingredients which they’ll need well before they start cooking. They call this set up procedure „Mise en place“, or in short „Meez“.

And you should do the same

That’s what Meez is all about. It’s a Ruby Gem which creates a cookbook for you which has puts all these tools in place before you start cooking. Now you can work like a professional Chef concentrating on the recipe at hand instead of juggling new tools.
[Read more…]

How to set up wordpress on ec2 using puppet and git

by on March 29, 2012 · 0 comments

Having started out on a Joyent appliance, migrating to Linode, and, finally, to Amazon with a Bitnami stack, we noticed the common pain of manually configuring each of these environments. Bitnami caused us an even bigger headache by being very difficult to update (apt-get doesn’t update the bitnami wrapped AMP stack). We decided to get full control of our box by setting up a stock Debian LAMP stack on AWS using Puppet and git to manage our sites. Here’s a gentle introduction on how we did it.
[Read more…]

Poor Man’s Automated Snapshots for EC2

by on March 9, 2011 · 6 comments

We’ve invested quite some time in our WordPress Micro instance now. It’s definitely past the playing-around, prototype phase, so let’s get some automated backups in place. But, since we already suffered to get the EC2 API Tools installed, the hard part is actually done. Let’s get a couple of weekly cronjobs setup:
[Read more…]

WordPress Caching For High Performance EC2 Micro Instances

by on February 15, 2011 · 9 comments

For the price, it’s hard to beat the EC2 Micro instance. But, if you have even a little bit of traffic, don’t expect to run a stock AMI without feeling some performance pain. After migrating this blog, we noticed that being logged in (meaning no wordpress cache hits) literally slowed the server down to a crawl. Just clicking around wp-admin a few times would drive load up to 12-13 and stuck the virtual server in 98%st. Apache connections were tweaked, mysql database settings optimized – traffic was really light (2-3 users) and the damn thing was unreachable! It was time for some PHP acceleration…
[Read more…]