AWS Startups Blog
How Casper Delivers from New York to the North Pole
For shoppers who buy a mattress from Casper, all they have to do is hit the “place order” button and a few days later, a mattress shows up on their doorstep. Easy.
But for Site Reliability Engineer John Spencer and the rest of his extended team, getting a mattress from order to delivery is a far more complicated process. Given that mattresses are far larger than the average order, Spencer says the meat of their business is actually their fulfillment systems, which ship out thousands of mattresses a day all over the world—including to locations as remote as the North Pole, which actually happened once. “And if that means hiring a single-prop plane and then getting a dogsled team to carry that mattress to that person’s front door,” says Spencer, “We will do that. If they had returned it, that would’ve been pretty unfortunate, but thankfully they liked it and kept it.”
Unsurprisingly, Casper’s busiest day is Cyber Monday, which means the engineering teams are on high alert on the following Tuesday, Wednesday, and Thursday. “As our operations team are trying to fulfill all these orders, we are also releasing new features on our website, releasing new features in our fulfillment-management system,” says Spencer. “And so we need to make sure that along that process, none of our shipment batches that we’re dropping to warehouses get stopped in any way.”
Spencer says the team uses AWS to fine-tune their fulfillment process to their business needs and what they do with Auto Scaling Lifecycle Hooks is say, “If there is a batch running, we’re going to save that process and let it keep running while at the same time pushing out the rest of the engineers’ code.” And the greatest thing about that, says Spencer, is that it was trivial to implement. “It took us maybe a couple days and we added this new feature for our engineering team that made their lives a lot easier,” he says.