Distributed System Architectures

Fundamentals for Distributed Computing Architectures

24 February 2020

Obed N Munoz

Cloud Software Engineer

Agenda

2

What is a Software or System Architecture?

3

Example: Virtlet Architecture

4

Example: OpenFaaS Architecture

5

Layered Architectures

6

Layered Architectures: Communication Protocols

7

Layered Architectures: 2 communicating parties (Server)

func main() {
    listener, err := net.Listen("tcp", "localhost:9090")
     if err != nil {
        log.Fatal(err)
    }
    for {
        conn, err := listener.Accept()
        if err != nil {
            log.Print(err) // e.g., connection aborted
            continue
        }
        handleConn(conn) // handle one connection at a time
    }
}
8

Layered Architectures: 2 communicating parties (Client)

func main() {
    conn, err := net.Dial("tcp", "localhost:9090")
    if err != nil {
        log.Fatal(err)
    }
    defer conn.Close()
    mustCopy(os.Stdout, conn)
}
9

Layered Architecures: Application layering

We can define the following 3 main architectural layers or levels for a distributed system.

Let's think about:

10

Layered Architectures: Internet Search Engine

11

Object and Service Oriented Architectures (1/2)

12

Object and Service Oriented Architectures (2/2)

13

Resource-Oriented Architectures

14

Resource-Oriented Architectures: RESTful principles

Example: Amazon’s Simple Storage Service (Amazon S3)

http://BucketName.s3.amazonaws.com/ObjectName
15

Let's code: Amazon S3 Explorer

Follow the link that matches with your current class:

classify.obedmr.com/get-lab/dc-labs/aws-s3-explorer

16

Publish-Subscribe Architectures (1/2)

17

Publish-Subscribe Architectures (2/2)

18

Let's read: Predicting failures in multi-tier distributed systems

Read the following article and generate an analysis document where you explain the following points:

www.sciencedirect.com/science/article/pii/S0164121219302389

19

Resources

This material is genereated thanks to some extracts from the following resources:

20

Thank you

Obed N Munoz

Cloud Software Engineer

Use the left and right arrow keys or click the left and right edges of the page to navigate between slides.
(Press 'H' or navigate to hide this message.)