Engineering the Future of Software
16–18 October 2017: Conference & Tutorials
18–19 October 2017: Training
London, UK

Implementing an event-driven microservices architecture in a functional language

Nikhil Barthwal (Jet.com)
13:1514:05 Tuesday, 17 October 2017
Distributed systems
Location: Blenheim Room - Palace Suite Level: Intermediate
Secondary topics:  Case Study
Average rating: ***..
(3.91, 11 ratings)

Prerequisite Knowledge

  • Basic knowledge of web services, distributed systems, and a functional programming language

What you'll learn

  • Explore how Jet.com implements event-driven microservices using F#

Description

Jet.com was launched in July 2015 with one mission: to become the smartest way to shop and save on pretty much anything. On average, the company receives over 25K orders per day and has over 15 million items in inventory. It has seen massive growth and was recently acquired by Walmart for $3.3 billion.

Jet’s platform is implemented via microservices (currently 1,000+ running in production) and runs on Microsoft Cloud, using a large number of technologies and middleware. Microservices enable Jet to scale easily for independent releasability. Nikhil Barthwal explains how Jet.com implemented event-driven microservices architecture using F#, a statically typed, managed functional language based on the .NET platform, demonstrating how the functional paradigm captures the behavior of this service architecture very naturally.

F# offers several benefits, such as scalability, productivity, and correctness. Immutability is important because it allows you to scale almost infinitely, because you never need to worry about a mutex, lock, or race. The productivity it provides is unmatched, as the code in F# is much more concise compared to any object-oriented language (typically 5x smaller). Its strict typing makes writing correct code easy, as the type checker infers the types for a new line of code and then double-checks that these types perfectly fit into the program. If there’s a mismatch of types, it is caught at compile type. The code also passes several rigorous mathematical tests of consistency, so it is much more likely to be correct.

Photo of Nikhil Barthwal

Nikhil Barthwal

Jet.com

Nikhil Barthwal is a senior software engineer on the internal tools and productivity team at ecommerce startup Jet.com (recently acquired by Walmart), where he leads several projects related to static analysis and build and deployment systems. Previously, Nikhil worked at Oracle and Microsoft. He is involved with local meetups in New York City, where he gives introductory talks on programming in F#. Nikhil holds a master’s degree in distributed systems and a bachelor’s in electrical engineering.

Leave a Comment or Question

Help us make this conference the best it can be for you. Have questions you'd like this speaker to address? Suggestions for issues that deserve extra attention? Feedback that you'd like to share with the speaker and other attendees?

Join the conversation here (requires login)