Technical Blog


Technical and Product News and Insights from Rackspace

Using logstash to Push Metrics to Graphite

One of the cool things we do on the [Cloud Databases](http://www.rackspace.com/cloud/databases/) operations side of the house is come up with statistics that can help us gain insight to hardware performance to identify issues with systems. We use some really cool tools, but one of the most versatile tools we work with is [logstash](http://www.logstash.net/). The goal of this article is to get you started pushing metrics with logstash that you may already collect to [Graphite](http://graphite.wikidot.com/). Along the way, I'll be showing you how to get started with logstash, test your configuration locally and then start pushing your first metrics to Graphite with some different examples along the way.

Read More

PowerClient: Rackspace Cloud API Powershell Client

Update (July 16, 2015)

As of July 16th 2015, this client has been updated to use JSON requests ONLY. All XML references have been removed at this time. Several new updates have been introduced:

  • Dynamic endpoint URL retrieval from service catalog returned with auth token
  • Cloud Server password resets now have their own cmdlet: Update-CloudServerPassword

Note that on July 20, 2015, Rackspace (in following with OpenStack developments) will disable XML support within the Cloud Servers API. All PowerClient users should upgrade to the new release. See the following for more information:

https://github.com/drmmarsunited/rackspacecloud_powershell/wiki

Read More

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