Back

 Industry News Details

 
Interview with Dmitry Chornyi (Software Engineer, OpenTable) - Speaker at Global Software Architecture Conference - Jun 9-11, 20 Posted on : May 29 - 2017

We feature speakers at Global Software Architecture Conference - SantaClara - June 2017 to catch up and find out what he or she is working on now and what's coming next. This week we're talking to Dmitry Chornyi , Software Engineer, OpenTable (Topic: Reliability and Resilience Patterns)

 

Interview with Dmitry Chornyi

1. Tell us about yourself and your background.

I am a principal software engineer at OpenTable. I lead a team that developed more than 20 microservices and operates them in production. We are building a product which enables restaurants to provide great hospitality to diners, make restaurant operations more efficient, increase revenue, and expand adoption of OpenTable software in the new markets. I graduated from Munich University of Technology and I was a researcher at the Stanford Human-Computer Interaction Group.

2. What have you been working on recently?

Recently we’ve been focusing on creating richer guest profiles using entity resolution, building a partner API program to make it easier for restaurants to access their data, and—of course—building reliable and resilient microservices.

3. Tell me about the right tool you used recently to solve customer problem?

We have been active users of Apache Kafka which allows us to build data pipelines that ensure that each microservice has access to the data it needs and to real-time events. Kafka helps us to keep distributed systems in sync, build read views, and use whatever database is appropriate for a particular use-case. Furthermore, asynchronous communication is key to building reliable, resilient, and performant microservices.

4. Where are we now today in terms of the state of Microservices, and where do you think we’ll go over the next five years?

Microservices have definitely entered mainstream and we now have enough experience to begin understanding the tradeoffs, limitations, and pain points of this architecture. For microservice architectures to scale, we need to develop patterns that help keep microservices decoupled while combining them in a decentralized way. Similarly to what we do with object-oriented design patterns, we need a way to make it easier for microservices to collaborate so that implementing a new user feature does not require changing five microservices across multiple teams.

5. You’ve already hired Y number of people approximately. What would be your pitch to folks out there to join your Organization? Why does your organization matter in the world?

 OpenTable is a two-sided marketplace that connects diners to restaurants. We have a huge restaurant network, we help millions of people every month to book a table, and we have access to a large amount of data that helps us create great experience for our users. More importantly,

 we have a great engineering culture which emphasizes freedom and responsibility, fast iteration, and data-driven decision-making.

6. What are some of the best takeaways that the attendees can have from your "Reliability and Resilience Patterns" talk?

In order to build reliable and resilient systems, we need to embrace failure, make it a first-class concern, and learn to build reliable systems out of unreliable components. We need to build monitoring and observability tools and ensure that we have fast feedback loops that allow us to anticipate problems, react quickly, and to learn. It’s important to create operational discretion at the lowest levels of the organization. In summary, we want to design for failure and operate to learn.

7. What are the top 5 Microservices Use cases in enterprises?

1.     Building distributed systems around bounded contexts that are operated by autonomous teams.

2.     Gradual migration of legacy systems to new technology and processes.

3.     Ability to use the right technology for the problem.

4.     Reducing risk with disposability, independent deployment, and independent failure

        (the subject of my talk).

5.     Trading off technical complexity for organizational complexity.

8. Which company do you think is winning the Microservices race?

 Netflix, Amazon, and OpenTable.

9. Any closing remarks

I am happy to share the lessons that we learned on the path to scaling our microservice architecture.