This is a guest post written and contributed by Chris Henry, head of technology at Behance, a Rackspace Hybrid Cloud customer and the leading online platform for showcasing and discovering creative work.
At Behance, we’ve grown rapidly. Since 2007, we’ve seen our number of users climb to more than a million and we now handle roughly 100 million page views per month.
We’re a fast growth company. Our site allows creative professionals to upload their work to online portfolios, which others can find and browse through an array of discovery features. And late last year, we were acquired by Adobe, which meant more swift growth and expansion.
We need an infrastructure that can grow with us as we iterate and evolve. The hybrid cloud does that.
We started with dedicated servers, but we wanted a way to speed up image processing; a vital function of our business. Our one physical server dedicated to image processing was overrun. We knew we had to do something or we’d be dead in the water.
So we looked to the cloud. We already sort of had a hybrid cloud environment – we had a cloud account, we had an F5 load balancer – but we needed servers on-demand. Once we started spinning Cloud Servers up and adding them to the application, things got better. Our users could process images faster and we saw a boost in reliability – if one server had an issue, the others picked up the slack.
We now had four physical servers and two or three Cloud Servers. And It worked. The more it worked, the more Cloud Servers we added. Over the past few years our infrastructure grew to include 80 physical devices (servers, firewalls, load balancers, storage) and more than 170 Cloud Servers – it’s a true hybrid cloud.
We’re also getting started with the OpenStack-powered Rackspace Private Cloud. This will give us the ability to have the flexibility of a public cloud with our own physical managed hardware to get all of the benefits of having great hardware with the convenience of a cloud environment.
Our dive into the cloud helped us adopt a DevOps mentality – our operations team of four is responsible for more than 200 servers. We use Rackspace managed services, RightScale monitoring and automated provisioning and configuration to stay on top of the infrastructure as it grows. The team can automate the provisioning of servers via scripts or tools like Chef or RightScale. That means once we build a server we can figure out all of the steps needed and continually reuse the scripts. This lets us keep our team small and agile.
We run a standard LAMP stack for our application, and MySQL is supplemented by MongoDB for database services. Our hybrid cloud architecture lets these databases work in tandem despite running in distinct environments.
We also leverage a hybrid cloud architecture for storage and image services. We use 25 terabytes of Network Attached Storage (NAS) for customer image uploads, which provide fast, stable storage, and plug easily into our application. It’s easy to serve from our web servers, and is also cached on our CDN. We use Cloud Files, with more than 50,000 objects stored that are also CDN accessible. And Cloud Block Storage provides the backend for our MongoDB clusters, with nearly 80 filesystems using over 11 terabytes of SSD storage.
While our move to the hybrid cloud started with our need to process images, it has enabled us to create a complex infrastructure to handle a variety of tasks. The hybrid cloud gives us choices – our databases need custom hardware, SSDs and CPUs, and we need to make sure disks are configured in the proper RAID arrays. The ability to tweak things at this level isn’t always possible in the public cloud, but it is in a hybrid cloud environment.
Meanwhile, the cloud lets us quickly spin up 50 servers to process images – it gives us as much CPU as we need when we need it.
And our hybrid cloud is backed by Rackspace’s Fanatical Support which guides us and compliments our business. There will always be people who do certain things better than we do, and Rackspace does infrastructure very well. Now that we need terabytes of storage, Rackspace helps us figure out what we need. Rackspace makes suggestions about ways we can build a cluster of servers to process images. Our team can stay small and use Rackspace acts as an extension. This helps us be successful, because we can focus on building a great product and not on building infrastructure.
This Rackspace Hybrid Cloud environment is the best of both worlds, and with RackConnect marrying them together we have very little latency between both environments. It is a great fit for a company like us that does a lot of image processing in the cloud, yet has very intense data processing that requires dedicated hardware.
Having an all-cloud or all-dedicated environment wouldn’t make sense for us. If we just had physical infrastructure, it would be too expensive; but if we were all-cloud, we may not get the performance we need. The hybrid cloud is the best fit.