Building microservices with Finagle and Scala & Migrating Medium's Architecture

Date: 
Wednesday, July 17, 2019 - 18:00
Source: 
SF Scala
Attendees: 
87
City: 
San Francisco

We have two great talks planned for this meetup:

Talk1:

Building microservices with Finagle and Scala

Six years ago, Strava engineering (https://www.strava.com) introduced Finagle (https://twitter.github.io/finagle/) and with it, Scala into its tech stack as the primary way to build backend services. This has proved to be a pivotal decision, enabling a proliferation of backend services and the transition to a microservices-based architecture. More recently, they have formalized this growth into a set of long-term platform architecture principals, with a focus on Finagle and Scala as the backbone of this design.

This talk will cover Strava's usage of Finagle and Scala, how it enables building backend services that are fast, efficient, and scalable, and how Scala and Finagle fit in with their long-term platform architecture, vision and growth.

About Our Speaker

Jeff Pollard is a Platform Engineer at Strava. His career has primarily focused on improving the scaling, reliability, and correctness of large, high volume, distributed systems. Other than computers, Jeff enjoys all things related to bikes, backpacking, skiing, and food.

Talk2:

2 Fast 2 Furious: Migrating Medium's Architecture Without Slowing Down

We’re shifting gears to leverage new technologies created since we built Medium 5 years ago, but we need to incrementally gain benefits from the new system along the way and we can’t afford to let it hinder feature development. By taking advantage of GraphQL’s flexibility and our existing infrastructure, we’re able to make widespread yet gradual architectural changes! Come see how Medium is changing lanes without slowing down. Anyone thinking about moving to GraphQL (or thinking about migrating an exisiting architecture in general) can benefit from this talk, but especially anyone who is building their own GraphQL server or needs practical advice on how to successfully migrate a legacy system to GraphQL without “stopping the world,” getting defunded partway through, or building a system no one uses. Abstract Migrating an entire system to new tools and frameworks isn’t an easy task. And doing that while not impacting feature development? That’s even harder. We’ll walk through how Medium is migrating off of our existing system, without hindering product development, and while also incrementally gaining the benefits of a new system along the way. We’ll go over the design of our new architecture, our phased migration approach, and how the layered structure of our GraphQL server (written in Scala with Sangria) was integral to the success of both.

- Goals of the migration
- Design of the new system
- Phased approach
- Phase 1: developer experience
- IDLs (protobuf) + GraphQL
- Phase 2: services + gRPC
- GraphQL server layers
- Fetchers
- Repos
- Schema (derivation)
- Putting it all together

About Our Speaker

Sasha Solomon is a Senior Software Engineer helping build the next generation API on Twitter's GraphQL team. She was previously the Tech Lead of the Platforms team at Medium working on GraphQL as well. She has spoken at GraphQL Conf, GraphQL Asia, Scale by the Bay, and other meetups on various topics related to GraphQL and infrastructure. In her spare time, she enjoys tabletop RPGs, karaoke, and most recently, building mechanical keyboards.

A Few important notes about this meetup:

- Please arrive before 7pm to gain entry into event. Doors will be closed and no more people admitted from 7pm.
- There are Bike Parking inside the office for this event.

Strava

208 Utah St