This is a guest post written and contributed by Steve Girolami, vice president of engineering at AfterCollege, a Rackspace Hybrid Cloud customer. AfterCollege is a career network that connects college students, alumni and employers through faculty and career networks at colleges and universities.
At AfterCollege we love the stability and security of dedicated hardware–when we started hosting with Rackspace in 2006, we had only three dedicated servers and did most of our development in-house on VMware Workstation.
Over the years, however, our data sets grew so big that it became difficult to replicate things within the office.
The first generation of RackConnect solved a big development problem for us. It promised the ability to maintain our dedicated hardware, yet burst to the cloud when we needed to. And it did just that; the hybrid cloud built on RackConnect allowed us to maintain our dedicated footprint while taking advantage of cloud’s scalability for development activities. When RackConnect 2.0 came out, we pushed more production services into the cloud, and we haven’t looked back.
All of our front-end services are in the RackConnect cloud—we have Solr indexes and MongoDB instances all replicated in various cloud servers. More importantly, when we want to try something new, it’s easy for the developers to do that in a cloud server.
For example, the other day one of our developers brought up the possibility of using Redis. In the past, we’d have servers set up to try out Redis, but with a hybrid cloud we can spin up a Redis server just to experiment. If the developers like what they see, they can scale with additional instances. If our developers don’t like the way it’s going, they can just delete the server. From start to finish, it only takes a few hours and there isn’t the hassle of procuring a server, monthly costs, etc.
Not everything belongs on cloud servers, and hybrid cloud is beautiful because we’re not under the gun to migrate everything. We can keep parts of our application stack on dedicated hardware, while other parts can go to the cloud. We can put the specific workloads where they make the most sense for us and our business.
For example, we have a legacy Coldfusion application that we still need. The thing is a pain to configure, and I don’t think anybody wants to spend his or her time moving it to a cloud server. It lives on one of our original dedicated servers. Nevertheless, it still needs to have access to a lot of the cloud services, like the Solr index and the MongoDB tables. RackConnect makes that happen.
Dedicated is also more appropriate for things like our MySQL database layer, which is master-slave on dedicated servers. The hardware requirements are such that it just wouldn’t work in a public cloud environment. It’s also really resource-intensive, so we want our MySQL databases to run on a predictable, powerful physical environment.
Another nice thing about the hybrid cloud is that all of our developers have accounts and are on a relatively long leash to do whatever they feel is necessary in production. They have more control over their development and production environments. It gives them the freedom and responsibility to fulfill the product backlog that we review every week, and it unblocks any of the resource problems we might have, because there’s no permission process.
And instead of spending more money to hire more talent, the hybrid cloud enables us to enforce DevOps principles in a real way to empower and enable our developers to build what is being asked of them. With a hybrid cloud, if there’s something you need to do, you go do it.