Distributed Systems - What Every Software Architect Should Know.

ICSA-C(2023)

引用 0|浏览13
暂无评分
摘要
Modern software systems in every application domain are increasingly built as distributed systems. Business applications are structured as cooperating microservices, IoT devices communicate with cloud-based services over a network, and Web sites store data in globally dispersed data centers to support fast access in to localitiesin which their users reside. Behind all these systems lurk distributed computing infrastructures that architects and engineers must exploit to satisfy application service level agreements. To be successful, it is essential that architects understand the inherent complexity of distributed systems. In this half day tutorial, I'll guide the attendees through the fundamental characteristics that distributed systems exhibit. Each characteristic will be related to the software architecture quality attributes that they directly impact. The topics covered include communications reliability and latencies, message delivery semantics, state management, idempotence, data safety, consistency, time, distributed consensus, cascading failures and failover and recovery. I'll introduce each concept using an example distributed system and multiple 'props' to illustrate concepts. Once I've explained a concept using the example, Ill move on to show how the concept manifests itself in a software system and its effects on quality attributes requirements and inherent trade-offs. The tutorial will be suitable for graduate students, engineers and architects who have no or minimal exposure to distributed systems concepts. The presentation format will be suitable for a mix of both in person and remote participants. It will combine interactive sessions with short technical explanations and examples to illustrate each distributed systems concept.
更多
查看译文
关键词
distributed systems,software architecture
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要