The San Francisco-based company had been running on Amazon Web Services Simple Storage System since it was founded in 2007. It had 500 million customers and 500 petabytes of data by the time it started the migration. Dropbox needed to pay particular attention to the way it was going to provide the storage networking that would serve all those customers.
"The [AWS] cloud is highly performant and reliable. Moving out of it isn't a decision that a company should make lightly," or without a commitment to planning where it's moving to, said Akhil Gupta, vice president of infrastructure at Dropbox, in a recent interview with InformationWeek.
A Changing Cloud Storage Landscape
Four years ago, Dropbox was watching the growth of other cloud services "and saw the writing on the wall," Gupta said. It needed to become a cloud service itself, with its own infrastructure. It couldn't piggyback forever on Amazon, he said.
Akhil Gupta (right) and James Cowling, together, at their Dropbox offices. (Image: Dropbox)
"We could see how it would be valuable to create our own storage system," Gupta said.
Gupta also pointed out, however, that Dropbox as a company didn't move everything off Amazon. It may have set up a massive storage system of its own, but "a lot of our infrastructure is still on Amazon and will continue to be for the foreseeable future," he said. Business systems and a limited amount of customer storage still run there.
To begin the storage move, Dropbox in 2013 set up a small team to start architecting the move, build a prototype storage system, and find a way to scale it up to massive proportions, Gupta said.
One of the people called in to lead the task was James Cowling, who had gotten to know Dropbox cofounder Drew Houston when the two were in computer science at MIT. Cowling had been with the company for a year when he got the assignment to replace AWS's S3 with something that could operate at scale, but was geared to Dropbox's specific needs.
That meant a new storage software system, along with storage hardware based on shingled magnetic recording technology. SMR is a dense data recording technique in which one track on a hard drive is partially overwritten by the next, as shingles on a roof overlap. The approach can increase disk density by 25%, although it also necessarily slows writes. The storage software would use RAM and additional forms of storage to offset SMR's drawbacks.
"We're one of the first companies to be deploying SMR" as a core production storage system, said Cowling in an interview. Given the nature of the technology, he had to research how best to design a system based on SMR for Dropbox, because its performance lags behind magnetic disks using regular or non-overlapping writes. Shingled magnetic recording "is not designed for high-performance random writes," he said. Rather, it thrives on many sequential writes.
The software controlling the storage system was first written in the Go language, which originated at Google, but the team found it too hungry for memory. They switched to another modern language, Rust, which required less memory. Rust was created at Mozilla.
The team also designed a compact unit of storage that could hold a petabyte of data, which was dubbed Diskotech. The goal was to concentrate as much storage as possible in a unit that consumed as little space and power as possible, Cowling said. The Diskotech is a little longer than a standard rackmount server tray from front to back, but it takes up only 4U (7-inch) or pizza-box-server spaces in a rack.
After its design, Cowling said the team members aimed at getting what they would call their Deep Pocket system built and into production in six months. Since Gupta and Cowling are both skydivers, they dubbed the project BaseJump. In a sport that both men consider riskier than skydiving, BASE jumpers leap off a cliff or high point and free-fall or glide before opening their parachutes.
Getting everything done meant that the physical storage data center needed to be constructed on a tight schedule, with logistics carefully managed, including the supply of backup parts. Backups were needed on two occasions, when trucks bringing the SMR drives to the facility were involved in accidents. The planning went down to the detail of "How many racks can you put on a loading dock?" Cowling said.
The Final Move
The data was not shipped to the facilities on hard drive, such as Snowball, a 50TB sealed, encrypted box offered by AWS that can only be opened when it gets to its proper destination. Rather, Dropbox used both private lines and the internet to move the data. That process isn't 100% complete, but he said it's over 90% done.
Cowling says, "We are a cloud service provider." He also refers to Dropbox as "a post-cloud company." That is, it's a company that began as heavily dependent on the public cloud, then migrated the production core of its business from that to set up its own service.
"We created a new company, a post-cloud company. Now we can leverage the cloud as much as we want to," he said.
Charles Babcock is an editor-at-large for InformationWeek and author of Management Strategies for the Cloud Revolution, a McGraw-Hill book. He is the former editor-in-chief of Digital News, former software editor of Computerworld and former technology editor of Interactive ... View Full Bio
How Enterprises Are Attacking the IT Security EnterpriseTo learn more about what organizations are doing to tackle attacks and threats we surveyed a group of 300 IT and infosec professionals to find out what their biggest IT security challenges are and what they're doing to defend against today's threats. Download the report to see what they're saying.
IT Strategies to Conquer the CloudChances are your organization is adopting cloud computing in one way or another -- or in multiple ways. Understanding the skills you need and how cloud affects IT operations and networking will help you adapt.