Technical Blog


Technical and Product News and Insights from Rackspace

Improving your site speed with Redis

Adding Redis to your application stack is a fantastic way to gain speed with existing applications. Many of our customers aren’t running the latest and greatest new hotness NoSQL-using cloud thing. A lot of them port over a full stack of an existing applications that once only existed on bare metal servers, or use a hybrid environment with a big MySQL configuration on bare metal with web/app servers in the cloud.

In any case, we advise that customers use caching… EVERYWHERE. Adding Redis to your application stack can greatly improve site speeds when used as a cache.

Read More

Getting started with Hadoop using Hortonworks Sandbox

Getting started with a distributed system like Hadoop can be a daunting task for developers.From installing and configuring Hadoop to learning the basics of MapReduce and other add-on tools, the learning curve is pretty high.

Read More

Displaying prepared code with syntax highlighting on Android

I’m a fan of giving code snippets together with working demonstrations. I’m much more likely to trust code if I can see it and watch it work, as opposed to just reading it and hoping it still works. Has it been deprecated since it was written? Will it throw warnings? Did the author write this from memory, perhaps never even trying it? With a simple demonstration these questions disappear.

When I was asked to explain some Android features to my colleagues, I planned to compose demo apps with prepared, read-only code snippets. But as you can imagine, just dumping Java code into a TextView was a mess. The formatting was all wrong and (at least for me personally). Reading code without syntax highlighting is a pain. Fortunately, there is a way to fix this.

Read More

Using message queues in cloud applications

You can consider message queues as a way to achieve parallel computing in an application. In this post, we dive into the different message queues out there and how to implement a message queue in an application.

Read More

Speeding up SSH session creation

Establishing a new SSH connection usually takes only a few seconds, but if you’re connecting to a server multiple times in succession the overhead starts to add up. If you do a lot of Git pushing and pulling or frequently need to SSH to a dev server, you’ve probably felt the pain of waiting for SSH to connect so you can get back to doing work.

One of SSH’s lesser known features is the ability to reuse an already-established connection when creating a new SSH session. This means you only have to pay the connection overhead once, making future sessions incredibly quick to start.

Read More

Scaling horizontally: Handling sessions on the open cloud

Wayne Walls wrote a great article on the Rackspace Blog around horizontal scaling, a pillar of cloud application design. When designing applications in the cloud, typically you need more than one server performing specific tasks.

{% tweet https://twitter.com/DEVOPS_BORAT/status/274366602252804096 align=‘center’ %}

These groups of servers or roles or tiers are sometimes load balanced or exist as a pool of servers polling a message queue for work.

Read More

Using a custom kernel with the Ubuntu Installer

EDIT: This blog post has been edited! As it turns out, the preseed was stored in a location that didn’t always work. Instead, we now decompress the initrd.gz, and add a preseed there. This is a better location, because the Ubuntu operating system installer always looks for it there, even if not told to. We also moved installing the new kernel to the end of the preseed, to be sure it runs all the postinstall scripts. We changed how we remove the 2.6 kernel to specifically catch the version before removing it.

Here at Rackspace on the Cloud Monitoring team, we use Ubuntu 10.04 LTS. We recently purchased some new Dell Poweredge R720 (our older standard hardware wasn’t offered anymore) and we found out the new hardware is not supported by the 10.04 default kernel!

Our original workaround was to build the new drivers against the 10.04 2.6 kernel, and load them at install time. At the end of the install, we would then manually install the new kernel, remove the 2.6 kernel, and then reboot. This worked, but it took an awful lot of time.

Therefore we set out to build an Ubuntu 10.04 installer that runs on, and installs, a more recent kernel.

Read More

How I learned Ruby On Rails

Bret McGowen is a software developer at Rackspace, designing and building RackConnect, which lets customers have the best of both traditional and cloud hosting.

For most of my professional programming career I have worked with the .NET framework. However, a recent side project prompted me to learn the open source Ruby on Rails framework. As you might imagine, there are some major differences between Ruby and .NET, but there are some compelling reasons to learn Ruby on Rails. Through my journey, I found some great resources for learning Ruby on Rails, and whether you are a seasoned developer or simply taking the first step into learning the framework, here are some of the ones that I found extremely helpful.

Read More

Python magic and remote APIs

This is a guest post by Jesse Keating, a Racker working on DevOps for Rackspace’s Cloud Server products. You can read his blog at http://raxcloud.blogspot.com/ or follow @iamjkeating on Twitter.

I’m a pretty big fan of Python as a programming language. It allows me to program by discovery, that is poke and prod at things until the work. Not having to compile an entire program every time I change something is pretty fantastic, as is the ability to insert a debug statement and be able to break a program at that point, then run arbitrary python code within that context. Pretty indispensable to how I write software.

Another thing I like about Python, which some may not, is the ability to do magic things. Not quite so magic as xkcd would like us to believe, but fun stuff indeed.

Read More

Protect your infrastructure servers with bastion hosts and isolated Cloud Networks

This guest post was contributed by Mr. Brandon Philips. Brandon is part of a small team of Rackers getting the Rackspace Cloud Monitoring Agent ready for launch. The Agent helps customers monitor the internals of their servers and application. You can check out his site at http://ifup.org, find him at local San Francisco meetups and check out his code on Github.

The public internet can be a scary place for servers. Log files of servers attached to public addresses shows regular port scans and URL snooping. These log entries are the inescapable reminder that your hosts are always one misconfiguration away from disaster.

This guide teaches you how to create a bastion host and an isolated cloud network, so you can reduce the number of servers that have to encounter these threats.

Read More