x 36 www - cvut.cz€¦ · introduction to clouds martin klíma. wa 2 2 cloud computing what it is...
TRANSCRIPT
![Page 1: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/1.jpg)
WA 21
Introduction to clouds
Martin Klíma
![Page 2: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/2.jpg)
WA 22
Cloud computing what it is
New form of IT outsourcing
– Replacement for server rental, webhosting, managed applications
– Pay per use, well defined accounting
– Self service
– Horizontal and vertical scalability(vertical through virtualization)
![Page 3: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/3.jpg)
WA 23
When do we want it?
Public vs private cloud
On premise – I have it all under my own roof
Why not to have it on premise?
– Licenses
– Capacity designed for the worst scale
– IT staff designed for 24 / 7 / 365
Why not cloud
– Data out of the company
– Simple app may be costly
![Page 4: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/4.jpg)
WA 24
Where is the advantage?
Try and leave
Do not worry to scale
Scale on demand
Available anywhere
– My business is getting worldwide
![Page 5: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/5.jpg)
WA 25
Scenarios
![Page 6: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/6.jpg)
WA 26
Scenarios cont
![Page 7: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/7.jpg)
WA 27
Scenarios cont
![Page 8: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/8.jpg)
WA 28
Types of cloud
IaaS = Infrastructure as a Service
– Rack Space
– Amazon AWS
PaaS = Platform as a Service
– Google app engine
– Microsoft Azure
Software as a Service = SaaS
![Page 9: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/9.jpg)
WA 29
Cloud vs on premise
On presmise
Cloud
Hybrid
![Page 10: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/10.jpg)
WA 210
Uptime and SLA
SLA = Service Level Agreement
– 99.9%, 99.99%, 99.999%
IT Disaster recovery – 2-4% of budget
Secondary recovery center
RPO = Recovery Point Objective – maximum period of time for which data can be lost >>> zero
RTO = Recovery Time Objective – maximum amount of time that my business can sustain without the data
![Page 11: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/11.jpg)
WA 211
Virtualization
Virtualization is a very effective method for resource utilization.
![Page 12: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/12.jpg)
WA 212
Google App Engine - GAE
![Page 13: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/13.jpg)
WA 213
Google App Engine
Google – well known
Large datacenters
Sells computing power that it does not need for itself
The initial design of the datacenteris web analysis, harvesting, indexing, searching
![Page 14: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/14.jpg)
WA 214
Core google functions
Googlebot, crowlers
– Visit a web page, download it
– Google download a vast majority of visible web
– Search for new resources automatically
– A new resource can be added manually
– Sophisticated logic to discover cheating• Hidden text
• Meta data
• Different content for bots and other users
– Various policies for vising• How often to come back and download?
– How to match the same pages on different servers?
![Page 15: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/15.jpg)
WA 215
Core Google functions
Google Indexer
– Builds an index of existing words and urls of pages
– Some words are not indexed (conjunctions, prepositions, …)
Google Query Processor
– Uses PageRank of pages• The more URLs pointing to the page, the higher PageRank
• The more trusted page points, the higher PageRank
• PageRank considers about 100 other aspects of a page
• Google keeps them secret
– Use of spelling corrector
– Prefers terms that are physically near to each other
![Page 16: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/16.jpg)
WA 216
Core Google functions
Google Doc Servers
– Stores the data itself
– HUGE amount of data
– Caching of history of internet
![Page 17: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/17.jpg)
WA 217
Google App Engine
Offers the basic infrastructure
– Scalability• To scale up/down resources when needed
– Reliablity• Capability to survive failure, recovery
![Page 18: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/18.jpg)
WA 218
Infrastructure
Front End
Front End
Front End
…
App Master
App Server
App Server
…
Data Store
Memchache
Static Files
Images Users
Task QueueURL Fetch
App Server
![Page 19: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/19.jpg)
WA 219
Best practice
Non-Relational DB BigTable
App design
– Fast request handling
– Low resource utilization
– Fyzical HW independence
![Page 20: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/20.jpg)
WA 220
Google Front End
ISP
Data Center #1
Edge Cache
Google Front End
GFE is physically closeto the user
Data Center #2
App Master
Static Servers
App EngineFront End
App Servers
ApplicationInstances
„Optics“
Load
Balancing
![Page 21: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/21.jpg)
WA 221
Using Edge Cache
1. HTTP headers
…it is in fact a HTTP cache
2. Define content as static
class MyHandler (webapp.RequestHandler):def get(self):
self.response.headers.add_header(‘cache-control’,‘public, max-age=‘7200’) #2 hodiny
…<static><include path=“/**.png” /><exclude path=“/data/**.png” /></static>
appegnine-web.xml
![Page 22: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/22.jpg)
WA 222
App Server
ISP
Data Center #1
Edge Cache
Google Front End
GFE is physically closeto the user
Data Center #2
App Master
Static Servers
App EngineFront End
App Servers
ApplicationInstances
Optics
Load
Balancing
![Page 23: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/23.jpg)
WA 223
App Server
Application running environment
– Sandbox
– Dedicated memory
– Container controls the app live cycle
– App does not see out of container
App master
– Monitors how apps run
– Scales them up/down
– Makes instance visible to each other
![Page 24: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/24.jpg)
WA 224
App Server – types of instances
Front End instance
– Good for fast request serving
– Max lifetime 60 sec
– Typical for web application
– Stateless, easy to scale
Back End instance
– Good for larger computing tasks
– Stateful
– Batch data processing, not time limitted
– Costly, difficult to scale
Communication
– Queues
Careful with big
libraries
![Page 25: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/25.jpg)
WA 225
App Server – Scaling
Scaling front end instancesRequestqueues
Pending Latency
Idle Instances
![Page 26: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/26.jpg)
WA 226
App Engine parameters
Pending Latancy
– Time a request spends in a queue
– Over a given threshold a new front end instance is created
– The longer PL, the worse the response time
– The shorter PL, the more expensive
Iddle Instances
– How many instance do we keep when there is no utilization
– Stand-by readiness
![Page 27: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/27.jpg)
WA 227
WA 2
Google High Replication Data Store
Martin Klíma
Zdroj: http://www.youtube.com/watch?v=xO015C3R6dw
![Page 28: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/28.jpg)
WA 228
The main data storages in GAE
Master/Slave
– One master node
– Number of slaves replicating the content o master
High replication
– No central/control node
– All instances are equal
![Page 29: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/29.jpg)
WA 229
Datastore Software Stack
App Engine Datastore
– Schema-less storate
– Advanced query engine
Megastore
– Multi-row transactions• Across multiple machines
• Entity Groups
– Simple indexes/queries
– Strict schema
Bigtable
– Distributed key/value store
Next generation distributed file system
GFS v2
Bigtable
Megastore
Datastore
![Page 30: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/30.jpg)
WA 230
Entitity Group
Logical grouping of entities
– Parent/child key relationship
Unit of Transactionality
– Transactions can only read/write entities in a single grup
Unit of consistency
– Strong serial consistency
What you write you will always get.
No partial success of transaction
![Page 31: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/31.jpg)
WA 231
Entity groups
Transaction on one entity group are guaranteed
Transaction across entity groups are not quaranteed
Entity Group A Entity Group B
Transaction OKTransaction OK
Transaction NOT OK
![Page 32: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/32.jpg)
WA 232
Entity group example
UsersUsersUser
UsersUsersPhoto
UsersUsersComment
UsersUsersDocument
UsersUsersRevision HistoryUsersUsersComment
UsersUsersBlog Post
UsersUsersComment
![Page 33: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/33.jpg)
WA 233
Entity group example
UsersUsersUser
UsersUsersPhoto
UsersUsersComment
UsersUsersDocument
UsersUsersRevision HistoryUsersUsersComment
UsersUsersBlog Post
UsersUsersComment
SELECT * FROM Comment WHERE UserId = user.id()
NON-Ancestor Query
![Page 34: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/34.jpg)
WA 234
Entity group example
UsersUsersUser
UsersUsersPhoto
UsersUsersComment
UsersUsersDocumentUsersUsersRevision History
UsersUsersComment
UsersUsersBlog Post
UsersUsersComment
SELECT * FROM Comment WHERE ancestor IS user.key()
Ancestor Query
![Page 35: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/35.jpg)
WA 235
Master/Slave write/read model
Master DB Slave DB
My Application
Write Read
1 2
Asynchronous replicationat some later time
Datacenter A Datacenter B
My Application can see all its writesbecause they were
made to its Master DB
![Page 36: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/36.jpg)
WA 236
High Replication engine
Write
– Write to at least majority of nodes
– Minority may not get writes synchronously
– Asynchronous replication
– On demand replication
Read
– Read from fastest (mostly local)
– Catch up on demand
![Page 37: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/37.jpg)
WA 237
High replication read model
Master DB Slave DB
My Application
Write Read
1
Datacenter A Datacenter B
Slave DB
Datacenter C
1 1
![Page 38: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/38.jpg)
WA 238
High replication read model
Master DB Slave DB
My Application
Write Read
2
Datacenter A Datacenter B
Slave DB
Datacenter C
2 2Usually the
fastest
![Page 39: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/39.jpg)
WA 239
High replication write model
Master DB Slave DB
My Application
Write Read
1
Datacenter A Datacenter B
Slave DB
Datacenter C
1 1
![Page 40: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/40.jpg)
WA 240
High replication write model
Master DB Slave DB
My Application
Write Read
2
Datacenter A Datacenter B
Slave DB
Datacenter C
2 2
![Page 41: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/41.jpg)
WA 241
High replication
There is no guarantee that a given database has all the written data at a given time.
![Page 42: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/42.jpg)
WA 242
Datastore performance
Master/Slave High Replication
Average Latency Read 15 ms 15 ms
Write 20 ms 45 ms
Average Error Rate Read 0.1% 0.001%
Write 0.1% 0.001%
8.7 hours/year 5 minutes/year
SLA !!!
![Page 43: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/43.jpg)
WA 243
Maintenance
Master/Slave
– Switch master• One hour of read-only datastore
![Page 44: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/44.jpg)
WA 244
Master/Slave maintenance
Master DB Slave DB
My Application
Write Read
1
Step 2Flush all
Datacenter A Datacenter BStep 1: Read Only
![Page 45: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/45.jpg)
WA 245
Master/Slave maintenance
Maintenance Master DB
3
Datacenter A Datacenter B
My Application
Write Read
4
Asynchronous replicationat some later time
![Page 46: X 36 WWW - cvut.cz€¦ · Introduction to clouds Martin Klíma. WA 2 2 Cloud computing what it is New form of IT outsourcing –Replacement for server rental, webhosting, managed](https://reader033.vdocuments.us/reader033/viewer/2022060600/6053c96a1ce76e394b03e965/html5/thumbnails/46.jpg)
WA 246
High replication
Almost not affected by maintenance time
Memcache flush (1 minute)