Welcome to the InfoQ Software Architects’ Newsletter! Each month, we bring you essential news and experience from industry peers on emerging patterns and technologies.
This month, we focus on the topic of "Microservices: Past, Present, and Future". The topic of "microservices" is currently listed in the "late majority" category of adoption in our most recent Architecture and Design InfoQ Trends Report, but the topic of "correctly built distributed systems" is listed as only "early majority". Key challenges remain for architects designing such systems, including both human and technical issues.
News
Reviewing the Eight Fallacies of Distributed Computing
In a recent article on the Ably Blog, Alex Diaconu reviewed the thirty-year-old "eight fallacies of distributed computing" and provided a number of hints at how to handle them. InfoQ has taken the chance to talk with Diaconu to learn more about how Ably engineers deal with these fallacies.
The eight fallacies are a set of conjectures about distributed computing that can lead to failures in software development. The assumptions are: the network is reliable; latency is zero; bandwidth is infinite; the network is secure; topology doesn’t change; there is one administrator; transport cost is zero; the network is homogeneous.
Building Tech at Presidential Scale
In this recent InfoQ article, Dan Woods, CISO and VP of cybersecurity at Shipt, discussed how technology played a central role in the 2020 US Presidential election cycle. Woods was the CTO for the Biden for President 2020 campaign and in order to meet the business goals his team built a robust microservices architecture.
Speed of delivery, reliability, and security were critical requirements. The Pantheon SaaS platform was adopted for websites, and AWS technologies and Kubernetes were utilized for other workloads. The team adopted continuous delivery best practices and implemented these using tooling such as Spinnaker, HashiCorp Consul, and the ELK stack.
The Human Side of Airbnb’s Microservice Architecture
Jessica Tai, engineering manager at Airbnb, discusses lessons learned by Airbnb from its migration to microservices in this QCon Plus talk recording, "The Human Side of Airbnb's Microservice Architecture". Topics covered include: cross-team collaboration strategies, designing observability access control, and planning for unified APIs.
How Unnecessary Complexity Gave the Service Mesh a Bad Name
In this InfoQ article, Chris Campbell argued that there is immense value to adopting a service mesh, but it must be done in a lightweight manner to avoid unnecessary complexity. He recommends taking a pragmatic approach when implementing a service mesh by aligning with the core features of the technology, and watching out for distractions.
Some of the core features of service mesh include standardized monitoring, automatic encryption and identity, smart routing, reliable retries, and network extensibility. Service meshes can offer additional powerful features, but these can be distractions from the core benefits. Some notable distractions that may not be necessary for an initial implementation include complex control planes, multi-cluster support, Wasm extensibility, and A/B testing support.
Case Study
Domain-Driven Design with Value-Added Services and Domain Gateways at SoundCloud
Two articles were recently published to describe SoundCloud's service architecture evolution toward implementing Domain Gateways, with a stop at value-added services (VAS) on the way. The authors describe how these Domain-Driven Design-based patterns helped reduce duplications and homogenize business and authorization logic.
A value-added service is responsible for providing aggregate entities to its callers. Domain gateways allow managing the same entity across different domains.
According to the authors, SoundCloud's first service architecture had two service layers: the edge services retrieved all data from the foundation services. Each edge service orchestrated all its calls and was also responsible for authorization. Eventually, this pattern led to duplications in code and logic when different services evolved to use the same data in slightly different ways.
The authors write that the company's service architecture's second evolutionary step consisted in adding a third intermediate layer implementing the Value-Added Services (VAS) pattern. Such a switch to value-added services allowed for a better split in responsibilities. The edge layer provides API gateway capabilities and fulfills specific client needs, whereas the VAS layer consumes data from the foundation services, processing it into aggregate entities. Edge layer services then consume these aggregates.
A pattern such as VAS brings some downsides, which the authors identified as a more extensive service landscape and increased network latencies due to the extra hops introduced by the new intermediate services. They considered using shared libraries instead and concluded that a VAS layer is preferable in their case.
This content is an excerpt from a recent InfoQ news item written by Vasco Veloso: "Domain-Driven Design with Value-Added Services and Domain Gateways at SoundCloud".
Missed a newsletter? You can find all of the previous issues on InfoQ.
Sponsored
|
In this hands-on guide, you’ll learn how to build production-ready serverless apps and services on Google Cloud Run. The 10-chapter book includes tutorials for building and deploying a variety of serverless applications across Google Cloud. Learn how serverless development can dramatically simplify the building and scaling of applications.
Learn more about this topic in the eBook "Building Serverless Applications with Google Cloud Run (By O'Reilly)".
|
|
Upcoming events
For practitioners by practitioners
QCon London 2022 (April 4-6,2022): Don’t miss your chance to connect in person with a global community of like-minded engineers.
QCon London (April 4-6) brings together the world’s most innovative senior software engineers across multiple domains to share their real-world implementation of emerging trends and practices. Attend in-person and experience 15 technical tracks and 75 talks including: Next Generation Microservices, Cloud Operating Models, MLOps, Event-Based Architectures and more. Save £275 if you register before December 6th.
QCon Plus 2022: Registrations are now open.
QCon Plus, the online international software development conference, is returning on May 10-20, 2022. Uncover emerging trends, learn best practices, and find out what should be on your radar from the world’s most innovative software professionals. Take advantage of the lowest early bird price. Save $300 if you register before January 10th.
Senior software developers rely on the InfoQ community to keep ahead of the adoption curve. One of the main reasons software architects and engineers tell us they keep coming back to InfoQ is because they trust the information provided and selected by their peers.
We’ve been helping software development teams adopt new technologies and practices for over 15 years through InfoQ articles, news items, podcasts, tech talks, trends reports, and QCon software development conferences.
We hope you find this newsletter useful. If not, you can unsubscribe using the link below.
Forwarded email? Subscribe and get your own copy.
|