Backend

12 Apr 2017 · by Greg Lyons
At Box, we're always looking to improve our engineers' ability to deliver high-quality software as easily as possible. As part of our ongoing migration to microservices running on Kubernetes, we've built an array of custom tools and services to improve our deployment process. We're happy to...
27 Sep 2016 · by Ayush Sobti
As we posted in July, we recently began migrating our bare-metal infrastructure to Docker containers running under Kubernetes. Some pieces like filesystem namespaces and cgroups have worked quite well without incident, but other pieces like networking have resulted in subtle differences that...
22 Jul 2016 · by Sam Ghods
A few years ago, we began splitting up the monolithic PHP application that powers Box into microservices. We knew we'd ultimately need dozens (even hundreds) of microservices to be successful, but there was a serious problem: our model for provisioning new services was slightly... antiquated. And...
13 Apr 2016 · by Nadeem Ahmad
Fast test feedback is a critical component of building a successful deployment pipeline. Simultaneously, having a full suite of automated tests run against every change is another critical component. The challenge engineering teams face is scaling their automated test suites without losing that...
01 Sep 2015 · by Lu Pan
Tests are usually tightly coupled with test environments in some way. For example, if you’re building an iOS app, you test the app on iOS. ClusterRunner parallelizes tests execution on a cluster of machines to bring you the fastest test feedback possible. Historically, ClusterRunner has only...
06 Aug 2015 · by Ray Yang
I've been a professional developer for over 15 years, and in my experience I've learned how powerful and rewarding it is to test working code as it is built. At Box, we test code early and often to avoid running into problems further down the line. In fact, for every change we make, we run over 100...
19 Jun 2015 · by Tom Krouper
This past Wednesday, Box hosted the DBA community for a series of lightning talks by DBAs at Yelp, Facebook, Pinterest, and Box. During this night of networking and learning, engineers, developers, and interested employees joined us at Box headquarters to hear about the speakers' respective teams,...
05 May 2015 · by Lance Co Ting Keh
As an Apache Spark application developer, memory management is one of the most essential tasks, but the difference between caching and checkpointing can cause confusion. Both operations are essential in preventing Spark from having to lazily recompute a resilient distributed dataset (RDD) every...
16 Apr 2015 · by Skippy Ta
A few months ago, we began the process of rolling out HipHop Virtual Machine (HHVM) to our servers. After hitting a few bumps in the road, we're excited to announce that 100% of our PHP servers are now operate on HHVM! This represents a huge milestone for us, as virtually all requests to Box...
05 Feb 2015 · by Heidi Williams
1. Design Broadly, Build Narrowly Building a platform for the enterprise means supporting both enterprise and developer use cases. Although what you build for the enterprise user is in your control (by building the web application yourself), what a developer builds for their end users is not in...
16 Jan 2015 · by Adrien Loison
As the world becomes more and more data-oriented, access to the right information is critical. Most of the tools we use to gather data are good at it, but they're not designed to process it. That's why specialized software—like Microsoft Excel or LibreOffice—is so popular. No matter where your data...
04 Dec 2014 · by Divya Jain
“Once again, we come to the Holiday Season, a deeply religious time that each of us observes, in his own way, by going to the mall of his choice.” – Dave Barry, humor columnist Yes, it's that wonderful time of year when we go crazy figuring out what gifts to buy, and each year the shopping seems to...
19 Nov 2014 · by Jessica Gibby
As announced in our previous post, Box is currently deploying HHVM to our webapp, working closely with the HHVM team at Facebook. Paul Tarjan, a member of the Facebook HHVM team, offers his own insights into HHVM, Hack and a peek into the future. What initially inspired you to develop HHVM? Tell us...
18 Nov 2014 · by Joseph Marrama
At Box, we've had our collective eye on the HipHop Virtual Machine (HHVM) for a while now. HHVM is Facebook's open-source PHP runtime, and it differentiates itself from from the standard PHP runtime on a key metric: speed. Whereas the standard PHP runtime is a run-of-the-mill interpreter, HHVM...
05 Nov 2014 · by Tim Bozarth
Delivering fast test feedback is a common challenge for rapidly-growing projects and engineering teams. And every engineer knows that when we're spending time waiting for test results, we're not spending time doing what matters: writing awesome code. At Box, the Tools & Frameworks team (owners...
02 Nov 2014 · by Divya Jain
Big data/machine learning products are everywhere. Even when we don't realize it, we are using them in all places from Google searches, to online shopping recommendations on Amazon, to personalized entertainment on Pandora or Netflix. Data analysis and machine learning algorithms drive the results...
12 Oct 2014 · by Jay Grizzard
memcache is a phenomenally successful piece of software used throughout the world as an ephemeral, memory-backed data cache. Its feature set, stability, and high performance make it an easy choice for anyone who needs a place to cache some data to reduce backend load. Well, memcache is generally...
01 Oct 2014 · by Peter Rexer
WebDAV enables users to mount remote content as a virtual drive, supporting both uploads and downloads. Back in 2008, Box developed its own WebDAV solution, but as we grew, maintaining our WebDAV code was troublesome—especially because many WebDAV clients have their own bugs, which had to be...
23 Sep 2014 · by Matt Basta
At Box, we've been using Smarty for a wide range of jobs. It has become a core part of our web application, as we render millions of pages with it every day. Box engineers have leveraged Smarty across a wide range of infrastructure services including: testing tools, linting support, code generation...
03 Sep 2014 · by Hieu Nyugen
Today at BoxWorks, we announced a new feature that allows users to apply structured metadata to files and enhances the search experience by filtering on this metadata. On the engineering side, we faced some interesting challenges in implementing this functionality. Since...