Extensible autonomous transactions in the world of microservices





Who is this presentation for?
- Software engineers and software architects
Level
Description
Over the last decade or so, there’s been a strong movement toward a flexible style of building large systems that have lately been called microservices. When you move to microservices, data distribution becomes the biggest problem: how to move data transactionally in a distributed architecture of hundreds of microservices while keeping the system in a consistent state and how to provide services with the data required correctly in minimal time.
Divya Nagar and Nicola Giacchetta faced a similar problem while scaling the services at Nexmo, the Vonage API Platform and they explore how the company is solving it. Other ways to solve these problems are to keep a huge shared global database, which is the violation of microservice fundamentals, or create an internal Death Star, in which failure in a single machine you didn’t even know existed can crash your entire system. These solutions are already in place and eventually become more and more difficult to modify and scale.
Divya and Nicola outline the solution in use at Nexmo, the Vonage API Platform, which is made by deconstructing the database and creating an application-independent scale and data-aware layer. By using this, the application can run independently without worrying about the data. They explore the data handling patterns of replica management for consistent and partition tolerance in data stores; command and query responsibility separation to handle high-throughput writes and virtual-buckets-based replication to manage read hot-spotting on a subset of the data corpus; data precompute and time-travel to create a time line-consistent view of data across multiple distributed systems; data sourcing from database-replication mechanisms; local transactions and async relaying to an analytics platform; and bypassing network bottlenecks like centralized load-balancers by using data-placement-aware smart local proxies and sidecars.
Prerequisite knowledge
- A working knowledge of basic distributed systems and microservices
What you'll learn
- Learn to decouple the applications from the data layer and other data dependencies to reduce cascading system failures
- Understand the data patterns and how to use them according to your system requirements

DIVYA NAGAR
Nexmo, the Vonage API Platform
Divya Nagar is a software engineer at Nexmo, the Vonage API Platform, where she works with awesome people who are building a scale-aware layer at Nexmo to create a highly available infrastructure which can scale. Her primary interests are data-centric distributed systems and databases.

Nicola Giacchetta
Vonage
Nicola Giacchetta is a software engineer at Vonage. His key area of interest is data-centric distributed systems, services high-availability, data replication and data migration.
Gold Sponsor
Silver Sponsors
Exhibitor
Innovator
Supporter
Diversity & Inclusion Sponsor
Contact us
confreg@oreilly.com
For conference registration information and customer service
partners@oreilly.com
For more information on community discounts and trade opportunities with O’Reilly conferences
Become a sponsor
For information on exhibiting or sponsoring a conference
pr@oreilly.com
For media/analyst press inquires