Unlike most startups that get rolling slowly and ramp up from there, Jet.com burst onto the e-commerce scene in a big way in 2014, growing incredibly quickly with its clever plan to give shoppers choices on how to save the most money. Now owned by Walmart, Jet.com runs on Microsoft’s Azure cloud, and uses the New Relic Digital Intelligence Platform to make sure everything is working properly and to provide information to many roles outside of the engineering team.
That’s why we’re so excited to have Leo Gorodinski, vice president of engineering for Jet.com’s Core Platform, as a speaker at FutureStack: New York, on September 13-14, 2017. Leo will be part of the Day 2 morning customer keynote session, sharing his unique insights into quickly building a large, scalable platform without compromising quality.
We caught up with Leo to find out more about how Jet.com uses New Relic, and what he plans to talk about at FutureStack: New York. Don’t miss our flagship event—register today!
New Relic: What’s your background? How did you become an engineering leader at Jet.com?
Leo Gorodinski: I joined Jet.com very early on and had the opportunity to lay the technical foundation for the platform. Before joining Jet, I spent several years building an e-commerce platform in Boulder, Colorado. In school, I majored in mathematics with a focus on abstract algebra. I saw Jet as an opportunity to combine ideas from the fields of distributed systems and functional programming to build a scalable platform that could delight our customers.
New Relic: Can you tell us a little about the company’s technology stack, and how you use New Relic?
Leo Gorodinski: Jet was born in the cloud—all of our systems run on Azure. The cloud virtualizes hardware, giving you access to an unlimited set of resources. This cloud of resources, however, is formed out of individual machines that can fail independently. As such, a paradigm shift is required to operate a system at this scale.
We must be able to view data in aggregate, detect trends, and configure alerts, all of which we do with New Relic. As of now, we use New Relic for a majority of our metrics dashboards and alerts covering systems across Jet.com, including the frontend, search, pricing, inventory, and fulfillment.
New Relic: Where is Jet.com going from a technology standpoint?
Leo Gorodinski: One idea that stems from the intersection of distributed systems and functional programming is that of event-sourcing. Event-sourcing is a type of event-driven architecture—an architecture where systems subscribe to and publish events rather than interacting directly–that goes one step further and uses events as the source-of-truth for application state.
This approach to architecture reduces referential coupling as components don’t need to reference each other directly. It also reduces temporal coupling because components don’t need to interact at the same time. In addition, event-sourcing lets us view application state as an interpretation of a stored history of events, not just the latest state of the entity. These features were critical to us building an e-commerce platform that had to scale on day one, and could be built in parallel across the organization.
The reduction in coupling, however, comes at a price. As interactions between components become increasingly asynchronous, it becomes more and more difficult to synchronize a coherent system state. Under these circumstances, visibility is paramount, and this is where New Relic comes in. We use New Relic to help ensure that the components forming our systems adhere to their SLAs, and to help us find the culprits when they don’t.
New Relic: Can you tell us more about what you plan to cover in your talk at FutureStack: New York?
Leo Gorodinski: A unique aspect of what we had to do in launching Jet was to build a large platform that scales, and do it fast while not compromising quality. These, of course, are competing aims. I can’t say that we’ve solved this problem, but we were able to get by with some help. On the one hand, to be able to scale and build quickly, we designed a highly decoupled system. On the other hand, to operate this system and ensure it does things correctly, does them on time, and does them reliably, we took SLAs as a first-class concept, with its provisions built into the application’s rules.
New Relic: FutureStack will have hundreds of technical practitioners and business leaders in the audience. What are the big takeaways you want them to walk away with after your session?
Leo Gorodinski: The big takeaway is that in order to scale a system and an engineering organization, you should strive to reduce coupling and increase modularity. And to operate such a system reliably, you must have visibility. Visibility should not be an afterthought, something bolted on at the last minute. Rather, it must be a notion enforced by construction, and the SLA should be a first-class concept, ensuring, for example, that metrics are emitted during execution of code.
New Relic: What are you personally most looking forward to at FutureStack: New York?
Leo Gorodinski: I’m looking forward to learning from the experiences of others in the industry, sharing ideas, and finding a common language to discuss problems and solutions.
New Relic: Finally, what technologies and approaches are you looking forward to addressing next?
Leo Gorodinski: I’m interested in formal methods for system construction and verification. We have many tools at our disposal: functional programming gives us a principled model of sequential computation; type systems help us ensure the absence of bad program behaviors; the various process calculi help us reason about concurrent computation; session types attempt to assign types to concurrent protocols; and specification languages such as TLA allow us to verify that behaviors satisfy a system model. We can use a type system to ensure that a given operation only returns values of a given type. Can we use types to ensure that a given operation adheres to an SLA expressed in terms of both safety and liveness properties?
Join us in New York!
Watch a video preview of our FutureStack: New York event below:
Note: Event dates, speakers, and schedules are subject to change without notice.