Ten^H^H^H Many Cloud App Design Patterns
-
Upload
shlomo-swidler -
Category
Technology
-
view
16.208 -
download
0
description
Transcript of Ten^H^H^H Many Cloud App Design Patterns
![Page 1: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/1.jpg)
Ten CloudDesign Patterns
Shlomo SwidlerFounder
Orchestratus
![Page 2: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/2.jpg)
2 of 61
Shlomo Swidler
• Founder, Orchestratus– Strategic and technical
IT consulting– Customers include:
• Cloud Developer Tips bloghttp://shlomoswidler.com/
• Among top community-ranked contributors to Amazon Web Services discussion forums
![Page 3: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/3.jpg)
Ten CloudDesign Patterns
Shlomo SwidlerFounder
Orchestratus
![Page 4: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/4.jpg)
Ten Cloud ApplicationDesign Patterns
Shlomo SwidlerFounder
Orchestratus
![Page 5: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/5.jpg)
Ten Cloud ApplicationDesign Patterns
Shlomo SwidlerFounder
Orchestratus
Many
![Page 6: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/6.jpg)
6 of 61
What is a Design Pattern
• A reusable recipe for building (software) systems that solve a particular problem.
![Page 7: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/7.jpg)
7 of 61
What is a Design Pattern
• A reusable recipe for building (software) systems that solve a particular problem.
AKA Architectural Pattern
![Page 8: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/8.jpg)
8 of 61
What is a Design Pattern
• A reusable recipe for building (software) systems that solve a particular problem.
Constraints AvailableResources
Goal
![Page 9: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/9.jpg)
9 of 61
A Design Pattern
• A reusable recipe for building (software) systems that solve a particular problem.
Constraints AvailableResources
Goal
Meets affirmativerequirements
Can be implemented
Does not violatenegative requirements
![Page 10: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/10.jpg)
10 of 61
Challenges Faced by Apps in the Cloud
• Application Scalability– Cloud promises rapid (de)provisioning of resources.– How do you tap into that to create scalable
systems?• Application Availability– Underlying resource failures happen
… usually more frequently than intraditional data centers.
– How do you overcome that to create highly available systems?
![Page 11: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/11.jpg)
11 of 61
The Scalability Challenge
• Scalability: Handle more (or fewer) requests– It’s not Performance (handle requests faster)– It’s not Availability (tolerate failures)• But improving Scalability often improves Availability
![Page 12: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/12.jpg)
12 of 61
The Scalability Challenge
• Two different components to scale:– State (inputs, data store, output)– Behavior (business logic)
• Any non-trivial application has both.• Scaling one component means scaling the
other, too.
![Page 13: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/13.jpg)
13 of 61
App Scalability Patterns for State
• Data Grids• Distributed Caching• HTTP Caching
– Reverse Proxy– CDN
• Concurrency– Message-Passing– Dataflow– Software Transactional
Memory– Shared-State
• Partitioning
• CAP theorem: Data Consistency– Eventually Consistent– Atomic Data
• DB Strategies– RDBMS
• Denormalization• Sharding
– NOSQL• Key-Value store• Document store• Data Structure store• Graph database
![Page 14: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/14.jpg)
14 of 61
App Scalability Patterns for Behavior
• Compute Grids• Event-Driven Architecture
– Messaging– Actors– Enterprise Service Bus– Domain Events– Event Stream Processing– Event Sourcing– Command & Query
Responsibility Segregation (CQRS)
• Load Balancing– Round-robin– Random– Weighted– Dynamic
• Parallel Computing– Master/Worker– Fork/Join– MapReduce– SPMD– Loop Parallelism
![Page 15: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/15.jpg)
15 of 61
The Availability Challenge
• Availability: Tolerate failures• Traditional IT focuses on increasing MTTF– Mean Time to Failure
• Cloud IT focuses on reducing MTTR– Mean Time to Recovery
![Page 16: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/16.jpg)
16 of 61
The Availability Challenge
• Availability: Tolerate failures• Traditional IT focuses on increasing MTTF– Mean Time to Failure
• Cloud IT focuses on reducing MTTR– Mean Time to Recovery
• What follows is four availability scenarios:[low, high] X [MTTF, MTTR]
![Page 17: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/17.jpg)
17 of 61
Availability and MTTF, MTTR
< MTTF, > MTTR
< MTTF, < MTTR
> MTTF, < MTTR
> MTTF, > MTTR Up 1Down 1Up 2Down 2Up 3Down 3Up 4Down 4Up 5Down 5Up 6Down 6Up 7
![Page 18: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/18.jpg)
18 of 61
Availability and MTTF, MTTR
< MTTF, > MTTR
< MTTF, < MTTR
> MTTF, < MTTR
> MTTF, > MTTR Up 1Down 1Up 2Down 2Up 3Down 3Up 4Down 4Up 5Down 5Up 6Down 6Up 7
53%
Uptime
86%
69%
30%
![Page 19: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/19.jpg)
19 of 61
Availability and MTTF, MTTR
< MTTF, > MTTR
< MTTF, < MTTR
> MTTF, < MTTR
> MTTF, > MTTR Up 1Down 1Up 2Down 2Up 3Down 3Up 4Down 4Up 5Down 5Up 6Down 6Up 7
53%
Uptime
86%
69%
30%
Traditional IT
![Page 20: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/20.jpg)
20 of 61
Availability and MTTF, MTTR
< MTTF, > MTTR
< MTTF, < MTTR
> MTTF, < MTTR
> MTTF, > MTTR Up 1Down 1Up 2Down 2Up 3Down 3Up 4Down 4Up 5Down 5Up 6Down 6Up 7
53%
Uptime
86%
69%
30%
Traditional IT
Cloud
![Page 21: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/21.jpg)
21 of 61
Availability and MTTF, MTTR
< MTTF, > MTTR
< MTTF, < MTTR
> MTTF, < MTTR
> MTTF, > MTTR Up 1Down 1Up 2Down 2Up 3Down 3Up 4Down 4Up 5Down 5Up 6Down 6Up 7
53%
Uptime
86%
69%
30%
Traditional IT
Cloud
Cloud done wrong
![Page 22: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/22.jpg)
22 of 61
Design Patterns for Availability
• Pattern: Replication• Pattern: Fail-Over
• Often used together.
![Page 23: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/23.jpg)
23 of 61
Availability Pattern: Fail-Over
Source: Michael Nygaard
![Page 24: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/24.jpg)
24 of 61
Availability Pattern: Fail-Over
In practice, fail-over is not this simple
Source: Michael Nygaard
![Page 25: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/25.jpg)
25 of 61
Availability Pattern: Fail-Over
Source: Michael Nygaard
![Page 26: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/26.jpg)
26 of 61
Availability Pattern: Fail-Over with Fail-Back
Source: Michael Nygaard
![Page 27: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/27.jpg)
27 of 61
Availability’s Nemesis
• Single Points of Failure
![Page 28: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/28.jpg)
SPOT the SPOF*
*Single Point of Failure
![Page 29: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/29.jpg)
29 of 61
Spot the SPOF: 1Internet
Cloud
App InstanceApp
![Page 30: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/30.jpg)
30 of 61
Spot the SPOF: 1b
App
Internet
Cloud
App Instance
![Page 31: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/31.jpg)
31 of 61
Spot the SPOF: 1bInternet
Cloud
App InstanceApp
![Page 32: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/32.jpg)
32 of 61
Spot the SPOF: 2
App
Internet
Cloud
App Instance
Elastic IP Address
App
App Instance
Fail-over
![Page 33: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/33.jpg)
33 of 61
Spot the SPOF: 2
App
Internet
Cloud
App Instance
Elastic IP Address
App
App Instance
Might work…Until you need more App instancesOr until another SPOF fails…
Fail-over
![Page 34: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/34.jpg)
34 of 61
Spot the SPOF: 2aInternet
Cloud
LB Load Balancer Instance
App App
![Page 35: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/35.jpg)
35 of 61
Spot the SPOF: 2aInternet
Cloud
LB Load Balancer Instance
App App
![Page 36: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/36.jpg)
36 of 61
Spot the SPOF: 3
Availability Zone
Internet
Cloud
LB
Replicated configuration
LB
Elastic IP Address
App App
Fail-over
![Page 37: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/37.jpg)
37 of 61
Spot the SPOF: 3
Availability Zone
Internet
Cloud
LB
Replicated configuration
LB
App App
Fail-over
Elastic IP Address
![Page 38: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/38.jpg)
38 of 61
Spot the SPOF: 4
Availability Zone
Internet
Cloud
ELB Elastic Load Balancer (Magic)
AppApp
![Page 39: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/39.jpg)
39 of 61
Spot the SPOF: 4
Availability Zone
Internet
Cloud
ELB Elastic Load Balancer (Magic)
AppApp
![Page 40: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/40.jpg)
40 of 61
Spot the SPOF: 5Internet
Region
Availability Zone
LB
App App
Availability Zone
LB
App App
Replicated configuration
Elastic IP Address
Fail-over
![Page 41: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/41.jpg)
41 of 61
Spot the SPOF: 5Internet
Availability Zone
LB
App App
Availability Zone
LB
App App
RegionReplicated configuration
Elastic IP Address
Fail-over
![Page 42: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/42.jpg)
42 of 61
Spot the SPOF: 6
Availability Zone
Internet
Region
ELB Elastic Load Balancer (Magic)
Availability Zone
AppApp
AppApp
![Page 43: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/43.jpg)
43 of 61
Spot the SPOF: 6
Availability Zone
Internet
Region
ELB Elastic Load Balancer (Magic)
Availability Zone
AppApp
AppApp
![Page 44: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/44.jpg)
44 of 61
Spot the SPOF: 7Internet
RegionRegion
Availability Zone
LB
App App
Availability Zone
LB
App App
Availability Zone
LB
App App
Availability Zone
LB
App App
Or…
![Page 45: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/45.jpg)
45 of 61
Spot the SPOF: 7aInternet
RegionRegion
Availability Zone
LB
App App
Availability Zone
LB
App App
Availability Zone
LB
App App
Availability Zone
LB
App App
![Page 46: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/46.jpg)
46 of 61
Spot the SPOF: 7/7aInternet
RegionRegion
Availability Zone
LB
App App
Availability Zone
LB
App App
Availability Zone
LB
App App
Availability Zone
LB
App App
Elastic IPs aresingle-region only
![Page 47: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/47.jpg)
47 of 61
Spot the SPOF: 7bInternet
ELB
RegionRegion
Availability Zone
AppApp
Availability Zone
AppApp
Availability Zone
AppApp
Availability Zone
AppApp
![Page 48: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/48.jpg)
48 of 61
Spot the SPOF: 7bInternet
ELB
RegionRegion
Availability Zone
AppApp
Availability Zone
AppApp
Availability Zone
AppApp
Availability Zone
AppApp
ELB is single-region only
![Page 49: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/49.jpg)
49 of 61
Spot the SPOF: 7c
Availability Zone
Internet
ELB
Region
Availability ZoneAvailability Zone
Region
Availability Zone
ELB
DNS
AppApp
AppApp
AppApp
AppApp
![Page 50: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/50.jpg)
50 of 61
Spot the SPOF: 7c
Availability Zone
Internet
ELB
Region
Availability ZoneAvailability Zone
Region
Availability Zone
ELB
DNS
AppApp
AppApp
AppApp
AppApp
ELB Can’t Do ThatMultiple CNAMEs Violate RFC 2181
![Page 51: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/51.jpg)
51 of 61
Spot the SPOF: 7dInternet
RegionRegion
Availability Zone
LB
App App
Availability Zone
LB
App App
Availability Zone
LB
App App
Availability Zone
LB
App App
DNS
![Page 52: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/52.jpg)
52 of 61
Spot the SPOF: 7dInternet
RegionRegion
Availability Zone
LB
App App
Availability Zone
LB
App App
Availability Zone
LB
App App
Availability Zone
LB
App App
DNSCloud Provider
![Page 53: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/53.jpg)
AWS
Spot the SPOF: 8Internet
RegionRegion
Availability Zone
LB
App App
Availability Zone
LB
App App
Availability Zone
LB
App App
Availability Zone
LB
App App
DNS
Rackspace
53
LB
App App
![Page 54: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/54.jpg)
AWS
Spot the SPOF: 8Internet
RegionRegion
Availability Zone
LB
App App
Availability Zone
LB
App App
Availability Zone
LB
App App
Availability Zone
LB
App App
DNS
Rackspace
54
LB
App App
![Page 55: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/55.jpg)
AWS
Spot the SPOF: 8Internet
RegionRegion
Availability Zone
LB
App App
Availability Zone
LB
App App
Availability Zone
LB
App App
Availability Zone
LB
App App
DNS
Rackspace
55
LB
App App
and...
![Page 56: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/56.jpg)
AWS
Spot the SPOF: 8Internet
RegionRegion
Availability Zone
LB
App App
Availability Zone
LB
App App
Availability Zone
LB
App App
Availability Zone
LB
App App
DNS
Rackspace
56
LB
App App
and...Fail-overmechanism
![Page 57: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/57.jpg)
AWS
Spot the SPOF: 8Internet
RegionRegion
Availability Zone
LB
App App
Availability Zone
LB
App App
Availability Zone
LB
App App
Availability Zone
LB
App App
DNS
Rackspace
57
LB
App App
and...Ops staff andFail-overmechanism
![Page 58: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/58.jpg)
58 of 61
Availability: Ensure Redundancies
• Physical• Virtual resource (instance, disk, etc.)• Availability zone• Region• Provider• Human (ops staff)
![Page 59: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/59.jpg)
59 of 61
Availability Best Practice:Chaos Monkey
• AKA Error Injection Testing– Forcibly create fault conditions in your cloud
components.– Kill instances, detach disks, screw up DNS, etc.
• Automate recovery from the errors.• The team gets really good at reducing MTTR,
increasing availability!• Popularized by Netflix, who run it on their live
environment.
![Page 60: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/60.jpg)
60 of 61
For more on Designing forAvailability, Scalability
• Jonas BonérScalability, Availability, Stability Patterns http://slidesha.re/cK3NJv
• George ReeseThe AWS Outage: The Cloud’s Shining Momenthttp://oreil.ly/eKCGG9
• John Ciancutti of Netflix5 Lessons We’ve Learned Using AWShttp://bit.ly/h8rU8b
![Page 61: Ten^H^H^H Many Cloud App Design Patterns](https://reader036.fdocuments.net/reader036/viewer/2022062513/55583e26d8b42acb078b4db7/html5/thumbnails/61.jpg)
Ten Cloud ApplicationDesign Patterns
Shlomo SwidlerFounder
@ShlomoSwidler
ManyThank you!