Overview
BigCommerce is a hosted eCommerce platform that provides everything a B2B or B2C business needs to create, manage and grow their online store. BigCommerce can be used as a hub to connect to other software and help businesses build and customize their website without writing code.
Challenge
Thousands of unique online stores serving everything from headphones to industrial equipment are served from BigCommerce’s infrastructure every day. With so much traffic, so many customers, and such an unpredictable rate of usage, BigCommerce has strict reliability and scalability requirements due to its customer SLAs. Even an operating system could introduce too much latency to any piece of the stack, and thus, BigCommerce needs bare metal server capabilities to ensure the most possible performance.
In addition to strict SLA requirements, BigCommerce is an enterprise-facing vendor. That means its customers require intense customizations, programmatic access to traffic, and top notch security. As a worldwide provider of ecommerce solutions, BigCommerce runs multiple datacenters, and requires secure transmission of information between those locations. Smart routing is needed to ensure Web applications are only having to process the traffic that applies directly to their usage, and thus, HTTP and HTTPS traffic must be highly optimized and organized.
Solution
Steve Corona, Lead Principal Architect at BigCommerce, said that, “NGINX is a rock solid base to build everything else off of. I see one of the major benefits for us is that it is extremely simple to get started with and to use. We can hire and throw any engineers at it, even if they’ve never used NGINX before. They come up to speed so quickly. It’s a very elegant and simple solution for them to use.”
BigCommerce runs NGINX on bare metal to serve its Web traffic, and to function as a load balancer for its application servers and services. NGINX is used in front of BigCommerce’s two main datacenters, and is able to balance and secure traffic shipped between these two locations. Inside all of these instances of NGINX, the BigCommerce team is also performing deep packet inspection of the HTTP traffic involved.
BigCommerce uses Lua scripting modules coupled with NGINX to analyze its traffic down to the content layer. This enables them to perform load balancing actions based on cookies. Using upstream modules allow NGINX instances to communicate with upstream application servers in their own languages, from PHP, to Ruby, to Go.
NGINX exists at every layer inside BigCommerce, and allows the company to reliably manage and route incoming traffic so that its customers are offered the fastest possible online shopping experience.
About BigCommerce
BigCommerce is the world’s largest cloud ecommerce platform. The company’s enterprise-focused online sales platform serves both B2B and B2C customers across 60,000+ brands. With thousands of stores hosted inside its cloud-based ecommerce platform, BigCommerce is highly focused on keeping its services fast, reliable, and inexpensive. Clients include Skullcandy, Ben & Jerry’s, Paul Mitchell, Sony, and Toyota.