The Need For Speed
The Engineering team at Shipwire is committed to making things easier and faster for our users and developers. Along with the new features that we’ve rolled out in our last few releases, we’ve been working hard to help improve the overall experience of shipping and storing your goods with Shipwire. We thought you might like to hear a bit more about what we’ve done to improve the experience for users today, and to prepare for even more amazing features tomorrow.
In the past few months, we’ve spent a good amount of time tuning our systems to make sure the data processing we do is handled as efficiently as possible. Our philosophy at Shipwire is one of “first, make it work, then make it work fast.” A lot of the questions we ask about data here involve pulling information from a variety of sources, and then figuring out what to do with it. To that end, we took a look at some of our heaviest data processing systems and optimized them.
Your use of Shipwire generates a lot of data: inventory changes, orders, shipping quotes, just to name a few. That sums up to terabytes of new data on a regular basis, growing at a rate of about 10% monthly. We’re continuously building features to help you access that data in more sophisticated ways. To accommodate for the continual increase in data, we’ve upgraded our data centers, outfitting our database servers with additional RAM and solid state disks, so that queries that previously took seconds to finish, now complete instantly.
To go along with our disk and memory upgrades, we’ve also beefed up our application servers to the latest multi-core offerings. But having a lot of CPU cores at our disposal only gets us so far if the workload we’re tasking them with is serial. To that end, you might have noticed that we now load some of the more data intensive parts of our site in parallel to take advantage of our reinforced disk and CPU. If you didn’t notice, that is probably better.
In addition to hardware improvements, the Engineering team also looked at ways to make the user experience smoother and more pleasant. We’ve made enhancements to the way in which our Shipwire application Dashboard’s Account Summary, Alerts, and Shipping Orders load to decrease the wait times for all merchants. We’ve also begun to implement methods for real-time updates and statuses to be published and displayed without the need to refresh the web page.
Furthermore, we’ve implemented a better caching infrastructure so that your most commonly accessed information can be “remembered” for longer. Shipwire routinely sees thousands of requests per second for shipping information. Caching the answers to these “questions” implies that our servers don’t have to hunt as deeply to find information for you. With the ultimate goal being, your questions answered much faster than before.
Delivering stable releases to our customers, returning accurate and useful data, improving site performance, and providing crisp and clear user interactions — these priorities are of utmost importance to our team. Many Engineering teams typically face these problems and challenges, and they are problems that we proactively try to conquer at Shipwire. But our job doesn’t end in just performance gains and scalability improvements. We’re interested to know what we can do to empower our customers — the large and established retailers, the small businesses, the one-stop online shop, the stay at home family business, or even the newly minted entrepreneur — to become increasingly successful by using Shipwire’s services.
We’ve learned that being fast is good. We’ve focused our efforts on making things work, and then making them work fast. But being efficient may be better. What are ways that we can make your business run more efficiently?