Intro to Cloud Architecture
-
Upload
wlscaudill -
Category
Software
-
view
74 -
download
1
description
Transcript of Intro to Cloud Architecture
![Page 1: Intro to Cloud Architecture](https://reader036.fdocuments.us/reader036/viewer/2022082705/559a2bae1a28abf4758b469c/html5/thumbnails/1.jpg)
Introduction to Cloud
ArchitectureChange the way you think about resources.
![Page 2: Intro to Cloud Architecture](https://reader036.fdocuments.us/reader036/viewer/2022082705/559a2bae1a28abf4758b469c/html5/thumbnails/2.jpg)
History of Abstraction
Once there was no operating system
Programmers had to handle all details
Resource management
Low level device programming
Job scheduling
…
Data centers have the same concerns
Programmers still handle the details
Decisions on how to allocate resources
Servers or virtual machines must be configured
Failures occur at scale and need mitigation strategies
Updates must be coordinated
Capacity planning is extremely difficult
…
Business logic development is only a small portion of the work
![Page 3: Intro to Cloud Architecture](https://reader036.fdocuments.us/reader036/viewer/2022082705/559a2bae1a28abf4758b469c/html5/thumbnails/3.jpg)
Paradigm Shift – The Cloud is an OS for
the Data Center
Resource sharing has always been around.
The same patterns you used on a computer to share resources can apply at a
larger level…
Essentially treat the Data Center as a computer and the cloud as the
operating system!
Gives you everything the OS does:
Shared usage of hardware
Readily available and fault tolerant storage
Illusion of endless resources
Managing parallel effort on a single body of work
![Page 4: Intro to Cloud Architecture](https://reader036.fdocuments.us/reader036/viewer/2022082705/559a2bae1a28abf4758b469c/html5/thumbnails/4.jpg)
Why do we use the cloud at all? Via the abstractions we achieve three big wins:
Cheaper
Greater uptime
Easier scale
To achieve good scale and uptime with out the cloud you would have:
Have multiple data center presences and use replicate DNS hosting
Have specialized networking hardware to load balance
With the cloud
Can easily assign computers to multiple data centers
Easily set up global load balancing across the data centers
Notice in both paradigms you must still separate your services to support
multiple simultaneous online instances (and the data must support this also…)
![Page 5: Intro to Cloud Architecture](https://reader036.fdocuments.us/reader036/viewer/2022082705/559a2bae1a28abf4758b469c/html5/thumbnails/5.jpg)
Parallel architecture is necessary
This has always been the key, just difficult for small companies to leverage!
Classes:
Web hosting
Need multiple copies
Stateless is the KEY (REST)
Logic
Need multiple copies
Separating out the work is the KEY
Data
Need multiple copies
This is really hard
Understanding “freshness” and locking data sets during is helpful
Data Segmentation/separation is the KEY
![Page 6: Intro to Cloud Architecture](https://reader036.fdocuments.us/reader036/viewer/2022082705/559a2bae1a28abf4758b469c/html5/thumbnails/6.jpg)
Uptime – Parallel hosting
WEST EASTCoLo A CoLo B
* Supporting this is still hard no matter where you
are…
* *
Old WayCloud Way
Internet/User
![Page 7: Intro to Cloud Architecture](https://reader036.fdocuments.us/reader036/viewer/2022082705/559a2bae1a28abf4758b469c/html5/thumbnails/7.jpg)
Scale – Data AND Logic Separation
Old Way
Cloud WayInternet/User
When your data
and logic are
together, to scale
“JUST” make it
bigger, right?Work is
done in
service
directly
against
DB
Data must be
separated enough
to avoid
contention during
scale out
Logic must be
separated in
smallest chunks
and brokered
through a
“queue”
…
…
…
![Page 8: Intro to Cloud Architecture](https://reader036.fdocuments.us/reader036/viewer/2022082705/559a2bae1a28abf4758b469c/html5/thumbnails/8.jpg)
Parallel Work Flow Example
Let’s take an example of a process that:
Uploads a file
Calculates a checksum
Takes out duplicate entries
Updates client’s total uploaded lines number
Simple right, create
a web service, write
the logic, save the
data, and done …
Save file to S3
Calculate the
checksum
Take out duplicates
and re-save to S3
Count the lines
Update client data
The more finite steps the more scale points you have. You also have more choices of how
scale them; more/bigger/both… Could need more memory for one step but not another,
don’t pay the extra cost on the other work!
![Page 9: Intro to Cloud Architecture](https://reader036.fdocuments.us/reader036/viewer/2022082705/559a2bae1a28abf4758b469c/html5/thumbnails/9.jpg)
Watch out for complexity (no silver bullet)
The relationships of distributed
systems can create complexity to
manage.
The simpler you can make the
relationships and the more you
can flow things in one direction
without touching previous steps
the easier life will be!
In general though if your problem
already has inherent complexity
the building blocks in the cloud
make it easier to wrangle…
![Page 10: Intro to Cloud Architecture](https://reader036.fdocuments.us/reader036/viewer/2022082705/559a2bae1a28abf4758b469c/html5/thumbnails/10.jpg)
References
AWS - Grep the Internet: https://aws.amazon.com/articles/1632
Author: Lawson Caudill – http://www.getthinktank.com