Cloud, jak ho chápeme v Googlu

Filip Hráček, Google ČR, duben 2011

O čem budu povídat...

  • Dnešní "cloud"
  • Cloud světlých zítřků

"Cloud"

Does CLOUD COMPUTING just means your servers are SOMEWHERE ELSE? Or is it SOMETHING MORE? WHY put your servers in the cloud? - Don’t want to MANAGE servers? - Or is it the ELASTICITY and SCALABILITY of the cloud? - If so, you NEED: DISTRIBUTED cloud computing

Proč je cloud taková bolest?

Dnes většina z nás klasický serverový stack. I Twitter jel dlouhou dobu na obyčejném SQL.

Cloud computing vyžaduje mind shift.

Wikipedia: Distributed computing

Consider the computational problem of finding a coloring of a given graph G. Different fields might take the following approaches:

  • Centralized algorithms
    • The graph G is encoded as a string, and the string is given as input to a computer. The computer program finds a coloring of the graph, encodes the coloring as a string, and outputs the result.
  • Parallel algorithms
    • [...]
    • Again, the graph G is encoded as a string. However, multiple computers can access the same string in parallel. Each computer might focus on one part of the graph and produce a colouring for that part.
    • The main focus is on high-performance computation that exploits the processing power of multiple computers in parallel.
  • Distributed algorithms
    • The graph G is the structure of the computer network. There is one computer for each node of G and one communication link for each edge of G. Initially, each computer only knows about its immediate neighbours in the graph G; the computers must exchange messages with each other to discover more about the structure of G. Each computer must produce its own colour as output.
    • The main focus is on coordinating the operation of an arbitrary distributed system.

Cloud Computing

Odspodu nahoru => Infrastructure as a Service, Platform as a Service, Software as a Service. * evoluce * 1 mašina on site - vyhoří * více mašin on site - většinu času se nudí * mašiny v cloudu - lepší, ale neřeší škálovatelnost, stále staré řešení, akorát jste outsourcovali zametání kolem mašin - ale co když jedna vyhoří? * pokud si neumíte představit velký nápor na vaše servery, pak vám to asi stačí * PaaS * např. MySQL nabízí tzv MySQL cluster - můžete provádět méně věcí a velikost databáze by měla být pod 2TB, ale funguje to i u velkých náporů, s 99.999% přístupností * AppEngine - na tom funguje Google (petabyty dat)

Budoucnost

Budoucnost už je tady. Jenom není rovnoměrně distribuovaná.

— William Gibson

Když z této premisy vyjdeme, můžeme se dohadovat, jak bude budoucnost vypadat za pět let..

Cestujeme do budoucnosti, dívaje se přitom do zpětného zrcátka.

— Marshall McLuhan (1972)

"Pokud to funguje, je to zastaralé." — Marshall McLuhan

Google Apps

Google Apps Script

  • "macro on steroids"
  • API na všechno

API na všechno

Všudypřítomný internet

"Zajdu si na internet..."

Chrome OS: web = operační systém

Hardwarová divergence

Vysokorychlostní internet

NoMachine NX

OnLive

... co jsem řekl

Cloud není žádná procházka růžovou zahradou. Je třeba se rozhodnout, jestli vám stačí IaaS, nebo chcete PaaS. Je třeba si zvyknout na nové paradigma.

Dívejte se do budoucnosti. Zkoušejte si už teď představit, jak bude vypadat internet za 5 let. Nedívejte se do zpětného zrcátka.

Díky za pozornost!

Filip Hráček, Google ČR