Solving technical challenges at scale to power the world’s largest Internet marketplace.

Distributed Systems
0

NuRaft: a Lightweight C++ Raft Core

We are excited to announce the public release of NuRaft, a lightweight C++ Raft core, under the Apache 2.0 open source license. NuRaft is based on the cornerstone C++ Raft implementation, but with various additions and changes, and is the result of over two years of development and testing for production use within eBay for storage server data replication. This post discusses what NuRaft is, and how it can be used.

By: Gene Zhang and Jung-Sang Ahn
Performance Engineering
0

Improving the Speed and Accuracy of the Item Page with Light Service

The item page is one of the most critical pages in the eBay buyer experience. It's where a buyer make their purchase decisions. It's also one of the pages in eBay that gets the most user traffic. The speed of this page and showing accurate information to the user is of great importance. Item fast light service was developed to get critical item information as quickly as possible from the primary source tables. This service is currently used in a number of applications to achieve functionalities that needs 100% accuracy with lightning speed and performance of less than 10ms for an item.

By: Ramesh Periyathambi
Developer Tools
0

API Mindset at eBay

APIs allow organizations to give their partners access to data and capabilities, at scale. Extensible and adaptable API ecosystems make it easier for developers to innovate. Building such an ecosystem is a progressive journey with many technical challenges.

By: Tanya Vlahovic
Big Data
0

Monitoring at eBay with Druid

At eBay, we switched one of our monitoring tech stacks from legacy homegrown architecture to a Druid-based real-time monitoring system. In this article, we discuss how we transitioned our journey to a new stack and also the benefits it has to offer.

By: Mohan Garadi
WebAssembly
0

WebAssembly at eBay: A Real-World Use Case

From the time it was announced, WebAssembly caused a huge buzz in the front-end world. The web community readily embraced the idea of taking code written in programming languages other than JavaScript and running that code in the browser. Above all WebAssembly consistently guarantees native speeds much faster than JavaScript. At eBay, we were no different.

By: Pranav Jha and Senthil Padmanabhan
OSS
0

Akutan: A Distributed Knowledge Graph Store

We're excited to announce the public release of Akutan, a distributed knowledge graph store, under the Apache 2.0 open source license. Akutan is the result of four person-years of exploration and engineering effort, so there's a lot to unpack here! This post will discuss what Akutan is, how it's implemented, and why we've chosen to release it as open source.

By: Diego Ongaro and Simon Fell
Software Design
0

Deriving Data Structures

Data Structures are the basic building blocks of software. In this article, one eBay engineer gives his perspective on how they might have evolved over time, enabling us to build complex things out of simpler parts.

By: Sachin Tilloo

Engineering Opportunities at eBay

Software Development
Software Architecture
Software QA
Technical Product Management

It’s all about the code. High quality, efficient, elegant code that fuels the commerce revolution. Help create the infrastructure and applications that unlock more economic opportunity for millions of people every day. This is your chance to take on some of the most complex technical problems in service of making a tangible impact around the globe. Learn more about Engineering Careers.

Architects build the future. You're a technologist with a passion to design systems and long-term software roadmaps for new and valuable technology programs. These drive value for our customers, our company and communities around the world. Here, you can architect the foundation that is transforming commerce. Learn more about Engineering Careers.

It’s not right until you say so. Our Quality Engineers ensure that new releases work as expected for our customers, every time. Create end-to-end test plans and then execute them to validate that our solutions have met or exceeded all requirements and business objectives. You are the ultimate gatekeeper of the customer experience. Learn more about Engineering Careers.

We can’t get there without a map. You will help define the strategy and vision for our technical solutions—building multi-generational product plans and roadmaps for an evolving and complex global product portfolio. Work with product and development teams to identify new ways to deliver exceptional experiences for consumers and merchants. Learn more about Engineering Careers.

Agile
0

Swapping Fridays—Improving Customer Experience with Role Swapping

Shutl has been running an initiative called Swapping Fridays. This involves software engineers and customer service agents swapping roles for a day. This article discusses how the initiative was run, the objectives and outcomes, and some challenges that were encountered along the way.

By: Matthew Wood
Big Data
0

How eBay Governs its Big Data Fabric

At eBay, nearly everything we do is based on data. We deal with structured, unstructured, and semi-structured data, where Hadoop, as a big data platform, has provided key technology features. Keeping pace with the speed of innovation while continuing to help data consumers easily find and consume the data they need guides our architecture and investment in building out eBay’s Big Data Fabric.

By: Alex Liang
Developer Tools
0

Failbot—Improving Visibility on End-to-end Tests

In eBay’s Global Shipping team, we use end-to-end tests to detect problems on eBay’s platform introduced by new developments. When those tests are failing, it is hard to see what is going on. From an intra-team effort to improve our visibility, Failbot was born.

By: Tony Da Silva Bernardino
Developer Tools
0

ShipShip—The Automated Kanban Board

At eBay, each development team works with multiple distributed teams. To keep everyone on the same page with the different projects that they are working on, we built a tool called ShipShip to help keep information flowing.

By: Mayur Dave
Java
0

SRE Case Study: URL Distribution Issue Caused by an Application

One of the frequently asked questions from new site reliability engineers is: Where to begin when troubleshooting a problem in a cloud environment? I always tell them: You should begin with understanding the problem. Let me demonstrate the reasons and methods with a real troubleshooting case.

By: Charles Li
Deep Learning
0

Complementary Item Recommendations at eBay Scale

Generating relevant complementary item recommendations that drive conversion at eBay is a challenging problem. In this blog post, we describe some of these challenges, and how we incorporated several different signals, including behavior-based (co-purchase, co-view, co-search, popularity) and content-based (title text), to significantly enrich the number and quality of candidate recommendations. This can produce an improved user shopping experience, which can lead to increased transactions between eBay buyers and sellers, and an increase in the number of items bought, which is good for the eBay marketplace as a whole.

By: Yuri M. Brovman
Java
0

SRE Case Study: Triaging a Non-Heap JVM Out of Memory Issue

Most Java virtual machine out of memory issues happen on the heap, but this time proved to be a little different.

By: Eric Tian
Developer Tools
0

eBay OAuth Client Library

To make integrations with eBay RESTful APIs easier, eBay provides client libraries in C# and Java to make it simpler to set up authorization and reduce the amount of code application developers have to write to get OAuth Access Tokens.

By: Sandeep Dhiman
Service Architecture
0

Sharing Modules Across Experience Services and Multi-Screen Applications

By now most eBay core business flows have gone through the journey of implementing Experience Service-based multi-screen application solutions, where web and mobile native app user interfaces are composed of one or more modules, and Experience Services directly returns these modules to clients with content synthesized from backend data sources, localized and formatted, ready for render and user interaction. This article outlines a plan to move more modules to a shared environment.

By: Chuck Zheng
Distributed Systems
0

Providing Metadata Discovery on Large-Volume Data Sets

Many big data systems collect petabytes of data on a daily basis. Such systems are often designed primarily to query raw data records for a given time range with multiple data filters. However, discovering or identifying unique attributes present in such large datasets can be difficult.

By: Satbeer Lamba and Sudeep Kumar
Performance Engineering
0

Troubleshooting a Connection Timeout Issue with tcp_tw_recycle Enabled

Availability and stability are very important for eBay's site, especially for those applications that take high traffic and are dependent on many other applications, such as CAL (our Centralized Application Logging framework). This blog shares an issue that happened recently that impacted the availability and stability of CAL, and how we found out the root cause using tcpdump and systemtap.

By: Edward Lin and Huai Jiang
Data Center Operations
0

Working on the Engines While the Plane is Flying

Operators of large scale networks will, from time to time, be required to perform major upgrades to the network while keeping the network available with no downtime. This type of work has been compared to working on the engines of an airliner while it is flying. At eBay, our Site Network Engineering team recently completed a migration of our data center aggregation layer from one platform to another under these conditions. By sharing our experience, we hope to help our peers in the industry plan for and successfully execute their own network transformations.

By: Brian Davies and Thilak Thankappan