NSWI150 - Virtualizace a Cloud Computing Cloudové technologie Filip Zavoral.

Slides:



Advertisements
Podobné prezentace
© 2000 VEMA počítače a projektování spol. s r. o..
Advertisements

Advanced Technologies 05 Využití MOM 2005 pro správu Exchange 2003 Petr Šetka, MCSE, MCT, MVP konzultant & lektor.
Stránka 1, © Vema, a. s.. Stránka 2, © Vema, a. s. Podnikové aplikace  Integrovaný podnikový systém (Integrated Business System):  komplex aplikací.
Senior IT operations manager
Virtuální akademie Řešení privátního cloudu.
NSWI150 - Virtualizace a Cloud Computing David Bednárek, Jakub Yaghob, Filip Zavoral + Special Guest Star.
Aplikační a programové vybavení
 Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele, která odhaluje uspořádání, vztahy, tendence a trendy  Existuje celá.
Přednáška č. 5 Proces návrhu databáze
Modelování procesů pomocí workflow
Operační systémy a aplikační servery Tomáš ZACHAT SPŠ Praha 10, STIC.
ulita.mff.cuni.cz  Výuka
Tomáš Baďura ARI.  Mnoho velkých společností dávno začalo prosazovat přesun výpočetního výkonu IT do velkých datových center.  Decentralizované systémy.
Přínosy virtualizace a privátního cloudu
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
Tvorba webů pomocí Web CMS Michal Neuwirth Product Manager Kentico Software s.r.o. Ondřej Výšek Samostatný konzultant Optimalizovane-it.
Správa firemních mobilních zařízení. Proč si pořídit Cortado Corporate Server? Komplexní správa a monitoring firemních mobilních zařízení, včetně zabezpečení.
Petr Šetka, MVP Exchange, MCSE:Messaging, MCT Windows Small Business Server 2003 R2.
Platforma Windows Azure (v obrazech)
Bezpečnost na platformě Microsoft & Petr Hartmann Solution Specialist Microsoft.
1 | Kaspersky Endpoint Security Přehled. 2 | Kaspersky Endpoint Security Kaspersky Endpoint Security for Windows Kaspersky Endpoint Security for Mac Kaspersky.
1 Přehled novinek v serveru Exchange 2007 Marian Henč Technology Specialist – AD & Messaging
Vývoj aplikací pro SharePoint
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Operating Systems Networking for Home and Small Businesses – Chapter.
Relační databáze.
Tomáš Urych, ESO9 Intranet a.s.
© 2009 IBM Corporation Lotus SW Přehled produktů Petr Kunc,
Databázové systémy Architektury DBS.
Metainformační systém založený na XML Autor: Josef Mikloš Vedoucí práce: Ing. Jan Růžička, Ph.D. V/2004.
Bezpečnost IS David Krch Solutions Specialist IS Technolog. Fyzická Osobní Organizační Komplexní pohled na bezpečnost Technolog. IS.
NeoSync on-line zálohování pro každého / pro každou firmu
Architektury a techniky DS Cvičení č. 9 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
 DAQUAS  Microsoft Gold Certified Partner › Networking Solutions › Information Worker Solutions › Licensing Delivery Solutions  Microsoft Developer.
Advanced Technologies 05 Rozšířené monitorování infrastruktury pomocí MOM 2005 Ondřej Výšek Systémový Specialista Infinity a.s., member of Synergon Group.
Systémová integrace Big Data
Telefónica O 2 Business Solutions Platform as a Service – Overview Praha, Ing. Jan Kepič, CISA –
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Application Layer Functionality and Protocols Network Fundamentals – Chapter 3.
Novinky pro webovou platformu Jiří Burian, Tomáš Kutěj,
Kam kráčí telekomunikační sítě Morava a Slovensko Jiří Lešek (ředitel velkoobchodu datových národních služeb) Milan Petrásek (produktový.
ISSS IS HN/SS Softwarová architektura informačního systému hmotné nouze a sociálních služeb Jindřich Štěpánek
Petr Šetka solutions architect Mainstream Technologies, s.r.o.
OpenStack Reference. Případové studie eBay/PayPal 113 mil. Registrovaných uživatelů PayPal operuje 300t USD každou minutu Přítomnost společnosti na 193.
Milan Cvrkal Dynamics ERP Insider Product Specialist Czech Republic Microsoft.
Administrace Oracle Paralelní zpracování.
Aktuální bezpečnostní výzvy … a jak na ně ….. v praxi Dalibor Lukeš Platform and Security Manager Microsoft Czech and Slovak Michal Pechan Production Stream.
SQL Server 2008 SKUs -All prices are ‘Open’ rounded up -Workgroup ~$140/CAL *Require a CAL to connect to paid SKUs **Free download with MSDN subscription.
Zabezpečení a správa pracovních stanic, virtualizace Jan Písařík – chief of technical support.
Nové trendy v eGovernment
Infrastructure-as-a-Service na platformě OpenStack
VMware Software Defined Datacenter Petr Dostálek, Avnet
VSphere with Operations Management (vSOM) – efektivní využívání infrastruktury Zuzana Jáklová VMware Licensing Expert
Databázová bezpečnost Ing. Roman Danel, Ph.D. Institut ekonomiky a systémů řízení Hornicko–geologická fakulta.
Accelerating Your Success TM IBM Tivoli NEWS Petr Klabeneš
Azure Essential Jan Pospíšil Senior Technology Microsoft
NSWI152 - Vývoj cloudových aplikací Filip Zavoral Tomáš Herceg ~ Mario Kamburov ~ Jiří Vinárek
Transportní vrstva v TCP/IP Dvořáčková, Kudelásková, Kozlová.
NSWI150 - Virtualizace a Cloud Computing Cloud Design Patterns Filip Zavoral.
Big Data Ing. Roman Danel, Ph.D.
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o, Orlová Lutyně
O budoucnosti a současnosti knihovních systémů
Monitoring sítě.
Správa disků
Roman Péchal, Jan Čongva, Martin Durák
Application Layer Functionality and Protocols
Přednášky z distribuovaných systémů
Analýza velkých dat strukturovaně či nestrukturovaně?
Simple IoT platform.
Distribuovaný systém souborů
Přednášky z Distribuovaných systémů
& Managed File Transfer.
Transkript prezentace:

NSWI150 - Virtualizace a Cloud Computing Cloudové technologie Filip Zavoral

Cloud Computing

Cloud Computing Components - exekuční modely Execution Models Virtual MachinesWeb SitesCloud Services Mobile servicesContainersHi-Perf Computing Storage & Data SQL DatabaseKey-Value TablesColumn Store BlobsDocumentDBCaching Data Processing Map/ReduceHadoop ZooReporting Networking Virtual NetworkConnectTraffic Manager Messaging Service BusQueuesTopics / Relays (Multi-)Media Media ServicesStreamingContentDelivery Other Services GIS / MapsSearching / IndexingMarketplace GamingMachine LearningLanguage / Translate Languages / SDK C++.Net Java PHP Python Node.js...

Cloud Computing Components - správa a zpracování dat Execution Models Virtual MachinesWeb SitesCloud Services Mobile servicesContainersHi-Perf Computing Storage & Data SQL DatabaseKey-Value TablesColumn Store BlobsDocumentDBCaching Data Processing Map/ReduceHadoop ZooReporting Networking Virtual NetworkConnectTraffic Manager Messaging Service BusQueuesTopics / Relays (Multi-)Media Media ServicesStreamingContentDelivery Other Services GIS / MapsSearching / IndexingMarketplace GamingMachine LearningLanguage / Translate Languages / SDK C++.Net Java PHP Python Node.js...

Cloud Computing Components - komunikace Execution Models Virtual MachinesWeb SitesCloud Services Mobile servicesContainersHi-Perf Computing Storage & Data SQL DatabaseKey-Value TablesColumn Store BlobsDocumentDBCaching Data Processing Map/ReduceHadoop ZooReporting Networking Virtual NetworkConnectTraffic Manager Messaging Service BusQueuesTopics / Relays (Multi-)Media Media ServicesStreamingContentDelivery Other Services GIS / MapsSearching / IndexingMarketplace GamingMachine LearningLanguage / Translate Languages / SDK C++.Net Java PHP Python Node.js...

Cloud Computing Components Execution Models Virtual MachinesWeb SitesCloud Services Mobile servicesContainersHi-Perf Computing Storage & Data SQL DatabaseKey-Value TablesColumn Store BlobsDocumentDBCaching Data Processing Map/ReduceHadoop ZooReporting Networking Virtual NetworkConnectTraffic Manager Messaging Service BusQueuesTopics / Relays (Multi-)Media Media ServicesStreamingContentDelivery Other Services GIS / MapsSearching / IndexingMarketplace GamingMachine LearningLanguage / Translate Languages / SDK C++.Net Java PHP Python Node.js...  Konkrétní technologie  Microsoft Azure, Google Cloud Platform, Amazon Web Services, IBM BlueMix, OpenCloud,...,...

1. Exekuční modely správa virtuálních strojů a procesů, deployment

Execution Models  Execution models  způsoby nasazení a běhu 'kódu' v cloudu  úroveň poskytovaných služeb  pro provozování vlastních aplikací  IaaS, PaaS  nemusím se o nic starat vs. můžu cokoliv  architektura služeb

Service-oriented Computing Private Storage Server HW Networking Servers Databases Virtualization Runtimes Applications Security & Integration Infrastructure as a Service Infrastructure as a Service Storage Server HW Networking Servers Databases Virtualization Runtimes Applications Security & Integration Managed by vendor You manage Platform as a Service Platform as a Service Storage Server HW Networking Servers Databases Virtualization Runtimes Applications Security & Integration Software as a Service Software as a Service Storage Server HW Networking Servers Databases Virtualization Runtimes Applications Security & Integration HW virtual DC cloud

Virtual Machine  Virtual machines  vlastní image / gallery  další cloudové služby  db, networking  pay-per-use, pay-per-config  memory, processors, disk space  administrace  web portal  scripting console  API (REST)  běžící VM  virtuální disky - OS, data  typicky BLOBy  využití  development / test environment  běh aplikací, provoz služeb  rozšíření datacentra  disaster recovery ... whatever

Virtual Machine  IaaS  Infrastructure as a Service  fault tolerance, monitoring  replikace - BLOB  aktualizace  ne pro vlastní image  Grouping  load balancing  rozložení požadavků  availability set  rozložení na různé uzly  no single point of failure  komunikace

Web Sites  Web Sites / Web Apps  webová aplikace na různých platformách  jedno z nejčastějších využití cloudových infrastruktur  ideální podmínky pro nasazení v cloudu  nepredikovatelné škálovatelnost  lze i pomocí virtual machines  zbytečně složité  nutná vlastní instalace, konfigurace a údržba

Web Sites  Web Sites / Web Apps  Platform-as-a-Service, PaaS  předkonfigurované instalace  kompletní framework - OS, db, web server, knihovny,...  administrace, aktualizace a údržba komponent  vývojář jen nakopíruje html/php/js/...  dynamické přidávání instancí, load balancing  automatické škálování - dle rozvrhu, používání, nebo dosažením kvót  různé úrovně izolace  shared / private VM  různé frameworky, jazyky a db  JAVA,.Net, PHP, Node.js, bflm-SQL  Joomla, Drupal, WordPress,...  WebJobs  běh scriptů / jobů  fronty, scheduler  připravené prostředí

Cloud Services  Cloud Services  poskytování škálovatelných SaaS služeb  WS - omezený přístup, nelze instalovat cokoliv, nejsou dostupné všechny služby  VM - plný přístup, ale nutnost administrace a údržby, samo neškáluje  Platform as a Service  škálovatelnost, dostupnost, spolehlivost, údržba, různé jazyky a platformy  aplikační model s větším počtem rolí  web roles / worker roles  front-end, GUI, http  výpočty, aplikační logika  vhodné pro vícevrstvé škálovatelné aplikace

Cloud Services  Cloud Services  jedna adresa, více web/worker rolí  automatický load balancing a availability set  vývojové a produkční prostředí (staging area)  jednoduchý vyvoj/testování a přechod na novou verzi  monitorování nejen (virtuálního) hardware  agent uvnitř web/worker role  Cloud Services vs. Web Sites  administrativní přístup do VM  instalace libovolného potřebného software  web role / worker role  vícevrstvé aplikace - vlastní VM pro aplikační logiku  možnost propojení cloudové aplikace s privátními uzly  Remote Desktop pro přímý přístup k aplikační VM

Cloud Services - scénáře

Mobile Services  Mobile Services  cloud back-end "za minutu"  Backend-as-a-Service  mobilní klient  Android, iOS, Windows  Datové a app služby  back-end logika  job scheduler  přístup k DB  REST API / lib  offline support / synchronization  Autentizační služby  přihlášení účtem jiné služby  integrace se sociálními sítěmi  Facebook, Google, MS, Twitter,...  Notifikace  nahrazení aplikací na pozadí  push-notifications  IM, mail, aktualizace, kalendář,...  periodické / hromadné zprávy

Containers  Kontejnery  sdílení systémových souborů, paměti,...  izolace namespace, kontrola prostředků  copy-on-write, resource governance,...  “komodizace” cloud platforem  Dev  kód, knihovny, konfigurace, služby, data  Ops  monitorování, síť, přesouvání kontejnerů, logování, startování/vypínání kontejnerů  Docker, Rocket,...  Image  r/o obraz souborového systému  zapouzdřuje metadata  síťové porty, připojené “disky”  příkaz/script při startu kontejneru  = distribuční balíček  Kontejner  běhová r/w instance image  obsahuje běžící procesy  izolace  často jeden proces  commit - lze vytvořit nový image Containers are the hottest thing in cloud right now

Containers - Isolation levels  Isolace kontejnerů  není dokonalá  interference prostředků, nad které nespravuje kernel  L3 cache, propustnost fyzické paměti,... kombinace VM a kontejnerů fakticky zjednodušené vytvoření VM a kontejneru v něm kombinace VM a kontejnerů fakticky zjednodušené vytvoření VM a kontejneru v něm

Containers & Microservices  Kontejner vs. Virtual Machine  menší režie, rychlejší start  snadný deployment, škálovatelnost  menší stupeň izolace  bezpečnost  Microservices  návrhový vzor  dekompozice na malé samostatné služby  snadná flexibilita a cílená škálovatelnost  efektivní implementace pomocí kontejnerů  stateless / stateful  př.: protocol gateways, user profiles, shopping carts, inventory processing, queues, caches,...

Microservices-based Apps Stateless service Stateful service State & replication management

Microservice Platforms  Platform  AppEngine, Service Fabric, Container Engine,...  runtime, middleware - základní mikroslužby  deployment, upgrades, scaling  health monitoring, failure detectors, restarting  service discovery, state management, resource management

Container Management Systems & Orchestrace  Orchestrace  plánování - job scheduling, resource scheduling  automatizovaný výběr hostitele - host allocation  vyvažování výkonu - load balancing  zajištění dostupnosti - high availability  health checking & logging, service restarting, automatická replikace služeb  procedurální vs. deklarativní popis  Azure  Service Fabric  Azure SQL Database cluster  100s machines s containers databases  každá databáze je Service Fabric stateful microservice  Cloud Services vs. Service Fabric  CS: kód vázaný na instance VM (Web/Worker Role)  SF: kód vázaný na SF - abstraktní vrstva  rychlejší (re)start, menší režie, hustší hosting, multiplatformnost (Win/Lx), management

Container Management Systems & Orchestrace  Google  Borg  Cluster Management System, vývoj od 2005  100k jobů, 10k uzlů  Production / Non-Production jobs - priority  alloc - task grouping, jednotka pro alokaci prostředků  Borgmaster - 5x replikovaný - Paxos  failure detection, relibility, availability  Borg-based tools & zoo  naming and service discovery  application-aware load balancing  horizontal and vertical autoscaling  rollout tools - deployment of new binaries and configuration data  workflow tools - multijob pipelines with interdependencies between the stages  monitoring tools - gathering, aggregating and presentation of information about containers, alert triggers  Omega  redesign a reimplementace, vychází z Borgu a Apache Mesos  Paxos-based transaction-oriented store  Kubernetes  open source (2014)  pod - množina kontejnerů alokovaných vždy na stejný uzel  rolling updates - postupná aktualizace replik bez přerušení dostupnosti  základ pro Google Container Engine

Container Management Systems & Orchestrace  Amazon Web Services  EC2 Container Service  proprietární řešení, těsná integrace s AWS, nebezpečí lock-in  Open Stack  OpenStack Heat  nativní součást OpenStack  šablony - textový soubor  Terraform  open source, vyvíjen nezávisle na OpenStack  provider - jednotný systém pro OpenStack, vSphere, Amazon AWS, Azure  HPE Cloud Service Automation  komerční enterprise řešení, orchestrace je jen z jednou z component  grafický designer  umožňuje z jednotlivých šablon vytvářet nabídky viditelné v uživatelském portálu

High-Performance Computing  Hi-Perf Cloud Computing  data-intensive computing  neočekávaná / periodická potřeba výkonu  investice → provoz  cluster – privátní / cloud / kombinovaný  celá infrastruktura / rozšíření vlastní  job scheduler, cluster manager/engine  proprietární vs. externí - prevence lock-in  chráněný přenos dat, VPN, IPsec  Problémy / omezení  privátní a citlivá data  závislost na externím sw  velká data - přenos

HPC  Azure  Big Compute  Google  Cloud Dataflow  Amazon  AWS HPC

Správa a ovládání  Web portal  Scripting  API / SDK / Libraries  REST API - CRUD Add OS Image /services/images image-label uri-of-the-containing-blob image-name Linux|Windows image-description image-family published-date true/false Small/Large/Medium/ExtraLarge language-of-image Add OS Image /services/images image-label uri-of-the-containing-blob image-name Linux|Windows image-description image-family published-date true/false Small/Large/Medium/ExtraLarge language-of-image (PartitionKey='PK',RowKey='RK')?$select=

Správa a ovládání  Web portal

Správa a ovládání  Scripting Add OS Image /services/images image-label uri-of-the-containing-blob image-name Linux|Windows image-description image-family published-date true/false Small/Large/Medium/ExtraLarge language-of-image Add OS Image /services/images image-label uri-of-the-containing-blob image-name Linux|Windows image-description image-family published-date true/false Small/Large/Medium/ExtraLarge language-of-image

Správa a ovládání  API / SDK / Libraries Add OS Image /services/images image-label uri-of-the-containing-blob image-name Linux|Windows image-description image-family published-date true/false Small/Large/Medium/ExtraLarge language-of-image Add OS Image /services/images image-label uri-of-the-containing-blob image-name Linux|Windows image-description image-family published-date true/false Small/Large/Medium/ExtraLarge language-of-image

Správa a ovládání  REST API - CRUD  Create, Read, Update, Delete  Přístup k službám i datům (PartitionKey='PK',RowKey='RK')?$select=

Monitoring  Health dashboard  komplexní pohled na funkční provoz infrastruktury v cloudu  Topologické pohledy  monitorování hlavních komponent v cloudu  Reporty  pohled na aktuální stav, trendy, zátěž (workload)  reportovacím nástroj Cognos  What-If  kapacitní plánování  Policy-Based optimalizace  na základě monitoringu – kde nejlépe provozovat daný workload  Performance Analytics  pro správné škálování virtuálních serverů

Typické využití  Vývoj aplikací  mnohoplatformní vývojové a testovací prostředí, VM  Aplikace s velmi proměnlivou zátěží  online prodej lístků  Paralelní výpočty  komplexní modelování  Masivní škálovatelnost  sociální sítě, multiplayer  Vysoká spolehlivost a dostupnost  SaaS  Krátká nebo nepředvídatelná životnost  marketingová kampaň, startup  Přetékající aplikace  nedostatečná infrastruktura, nevyhovující politiky

Premium P1 Standard S2 [ ] Premium P2 [ ] Standard S1 [ ] Scalability Dimensions Basic [ ] Basic [ ] Basic [ ] Basic [ ] Basic [ ] Scale out/in Scale up/down Basic [ ] Basic [0-100]  Vertikální škálovatelnost  scale-up / scale-down  navýšení odpovídajících vlastností zdroje  zátěž je alokována na jednu jednotku  Horizontální škálovatelnost  scale-out / scale-in  více zdrojů stejného typu, rozdělení zátěže  potřeba minimalizace závislostí a redukce sdílených zdrojů  homogenní bezstavové uzly  synchronizace, konzistence Cloud Design Patterns Best Practices scale-out scale up

2. Data management ukládání a zpracování dat

Data Management  SQL  různé implementace, knihovny - JDBC, ADO.NET,...  optimalizace pro cloud  PaaS - maintenance, administrace, federation, replikace  přístupné pro cloud i externí aplikace  typicky distribuované řešení - availability, scalability  primární / sekundární replika  load balancing  cluster index  NoSQL databáze  Key/Value Tables, Column Stores, Blobs  Document stores, Graph databases,...

Data Management NDBI040 - Big Data Management (Irena Holubová)

Tables  Key-Value Tables  NoSQL - nejde o relační databázi  velmi rychlý škálovatelný přístup k velkým (TB) typovaným datům  replikace, sharding, často kombinace  identifikace  Key  PartitionKey / RowKey  nepodporuje složité dotazy (join) ani třídění podle více klíčů scale-out

Tables - datový model  Struktura přístupu  Account / Table / Partition / Entity / Property  Table  množina řádek  jednoznačná identifikace: PartitionKey/RowKey  PartitionKey - rozložení entit mezi různá replikovaná úložiště  RowKey - jednoznačná identifikace v rámci Partition  Třídění pouze podle PK/RK  Entity  množina Properties (atributy)  vždy PartitionKey/RowKey a Timestamp  PK/RK - uživatelsky definovaný obsah  další atributy aplikačně definované  bez pevného schématu  různé entity mohou mít různé atributy

Tables - škálovatelnost  Partitioning  operace na jedné partition atomické  rozložení dat mezi uzly řízeno aplikací  volba PartitionKey/RowKey  související entity na jednom uzlu - shodný PK  rozvnoměrné rozložení entit mezi partitions - různé PK  efektivní dotazy - filtr přes PK  Příklady  blogovací server  témata, příspěvky v tématech  PartitionKey: téma  RowKey: datum a čas příspěvku  další atributy: text, hodnocení  verzované úložiště dokumentů  PK: jméno souboru  RK: verze  další atributy: datum, id, poznámka k verzi,...  vlastní data typicky na BLOB úložišti Efektivní dotaz: nejaktuálnější příspěvky v tématu Efektivní dotaz: nejaktuálnější příspěvky v tématu

Column stores  Sloupcově orientovaná architektura  složitější organizace dat než Key/Value  řádky – velmi mnoho hodnot (tisíce, i miliony)  adresace: column family / row / column → value  no schema – různé počty a typy hodnot  columns - static, dynamic  řádka ≈ data vyhovující předpokládanému dotazu - materializaed view  efektivní čtení dat  verzování hodnot, timestamps, přístup k starším verzím C-store Cassandra MonetDB HBase... C-store Cassandra MonetDB HBase...

Column stores  Sloupcově orientovaná architektura  třídění dle row i column - rychlý přístup  joiny nepodporovány  ruční indexy, runtime, nákladné  replikace  vlotelná úroveň konzistence per-request  strict c.  eventual c.  kolekce  set  list  map dynamic columns secondary index

Document stores  Dokument  jednotka ukládání - store / retrieve  XML, JSON, BSON, RDF, CSV,...,...  event logging, content management, RT analytics,...  sharding  range-based / hash-based partitioning  journaling  append-only, write-ahead redo logs  Struktura  references  normalizovaný datový model  komplexnější m:n relace  náročnější na výpočet  embedded document  denormalizovaný datový model  jednodušší, rychlejší MongoDB RavenDB TerraStore... MongoDB RavenDB TerraStore...

BLOB  Binary Large Objects  nestrukturovaná velká (TB) binární data  sdružené v replikovaných kontejnerech  jméno kontejneru jako PartitionKey  integrace s filesystemem, persistence  virtuání disky VM  video, backup - levné  Typy blobů  Block Blob  sekvence bloků (řádově až miliony)  optimalizováno pro sekvenční přístup - streamy  rychlý zápis (append) a sekvenční čtení  Page Blob  stránkově orientované  náhodný read/write přístup  vyšší režie

BLOB BlobContainerAccount / Pages/ Blocks myaccount pic01.jpg Block/Page pic02.jpg images vid1.avivideos  RESTful API  PutBlob, GetBlob, DeleteBlob, CopyBlob, SnapshotBlob, LeaseBlob

Business Analytics  SQL Reporting  reporting, business analytics  RDL  data mining nad SQL / NoSQL  rozhodovací stromy, lesy  regresní analýza  clustering,...  různé typy výstupů  grafy, sestavy, agragace  různé formáty (XML, PDF,...)

RDL example Year\Category Solid 1pt 1pt 1pt 1pt bold 0.25in =Fields!Category.Value ="" + Fields!Category.Value + " = "+Sum(Fields!Sales.Value) Solid 1pt 1pt 1pt 1pt bold Grand Total... formátování "výpočty" data

Hadoop & Map/Reduce  Hadoop, Distributed Data Processing  BigData, nezpracovatelná rozumně jedním DBMS  Map / Reduce paradigma  pro paralelizaci a distribuovanost výpočtů  implementace: Hadoop, Spark, MR-MPI, Marissa,...  Další součásti a související moduly  HDFS - distribuovaný FS  Pig, PigLatin - parallelization platform, high-level language  Hive, HiveQL - data warehouse & querying, data analysis 

Map/Reduce magie

map(String key, String value): // key: document name // value: document contents for each word w in value: EmitIntermediate( w, count(w)); map(String key, String value): // key: document name // value: document contents for each word w in value: EmitIntermediate( w, count(w)); Map/Reduce  Map/Reduce  paradigma pro paralelizaci a distribuovanost  map  každý uzel nezávisle  input → (key, value)  reduce  (key, list of values[]) → output  sjednocení hodnot pro každý klíč  zpracování, výsledek  mezivýsledky mohou být duplicitní  zpracování velmi velkých objemů dat  fault tolerance  Frekvence slov  spočítat četnost slov v mnoha dokumentech  map( file, text) → ( word, count)  reduce( word, list of counts) → count reduce(String key, List values): // key: a word // values: a list of counts int result = 0; for each v in values: result += v; Emit( result); reduce(String key, List values): // key: a word // values: a list of counts int result = 0; for each v in values: result += v; Emit( result);

Map/Reduce - Frekvence slov  Frekvence slov  spočítat četnost slov v mnoha dokumentech  map( file, text) → ( word, count)  reduce( word, list of counts) → count

Map/Reduce - architektura  master/slave architektura  jobtracker - single master server  rozhraní pro klienty  fronta jobů, zpracování FIFO, přiřazení jobů tasktrackerům  tasktrackers - slave servers, jeden per node v clusteru  vykonávají tasky dle jobtrackeru  přesuny dat mezi fázemi map a reduce   vhodné pro:  ne-relační (nestrukturovaná) data  velké objemy dat  dávkový/offline režim   nevhodné pro:  malá data - režie  nevhodný výpočetní model  komunikace a synchronizace mezi uzly  nízká latence, interaktivita, transakčnost distributed filesystem

Hadoop Zoo  HDFS  Hadoop Distributed File System, optimalizován pro Hadoop  HBase  NoSQL databáze  Bigtable-like structured storage system for Hadoop HDFS  Pig, PigLatin  Hi-level language for data analysis, překlad na map/reduce joby  HIVE, HiveQL  Data warehousing infrastructure  SQL-like jazyk pro dotazy nad HDFS  Mahout  framework pro strojové učení a data mining  Hama  distributed (grid) computing framework  BSP (Bulk Synchronous Parallel) computing techniques for massive scientific computations  Zookeeper  high-performance coordination service for distributed applications  consensus, naming, synchronization, group membership, leader election, queues, event notifications, configuration, workflow & cluster management, sharding,...

HDFS  HDFS  Hadoop Distributed File System  řádově 10 4 uzlů, 10 6 souborů, PB dat  Vlastnosti  odolnost proti chybám HW  replikace, detekce chyb a zotavení  optimalizace pro velké množství levného HW  failure is not an exception  streamování souborů  optimalizace propustnosti, ne přístupové doby  orientace na velké soubory  velká data jsou uložená v menším množství velkých souborů  write-once-read-many  jednou zapsaný soubor už není možné měnit ani přidávat data na konec  podpora pro append už sice existuje (HDFS-265), ale jen pro speciální případy  „Moving computation is cheaper than moving data“  výpočet je efektivnější spustit přímo u dat

HDFS  Architektura HDFS  NameNode  master - správa metadat  seznam souborů a adresářů, jejich mapování na bloky, umístění bloků  DataNode  slave - úložiště bloků, operace zápisu a čtení, neví nic o souborech  NameNode může nařídit blok zreplikovat či smazat  operace se souborovým systémem  zápis: NameNode založí soubor a rozhodne, jaký DataNode použít  čtení: NameNode zjistí umístění bloků souboru, klient komunikuje přímo s DataNode  replikace  atribut souboru - počet požadovaných replik  na jednom uzlu vždy jedna replika bloku  odolnost proti výpadku disku / uzlu  zápis: odložená replikace  HCFS - HDFS rozhraní  možné jiné implementace FS  Azure Blob Storage, CassandraFS, CephFS, CleverSafe Object Store, GlusterFS, GridGain, Lustre, MapR FS, Quantcast FS, Symtantec Veritas Cluster FS,...

Pig  Pig  nevýhody Map/Reduce  příliš low-level  nepodporuje složitější data-flow  Pig - runtime environment for web-scale data processing  transformace na soustavu MapReduce jobů  BigData - batch processing  PigLatin  hi-level language for data analysis  data-parallel language  operace pro manipulaci s relačními daty  imperativní styl programování  snadná uživatelská rozšíření

Pig Data Flow & Pig Latin visits = load ‘/data/visits’ as (user, url, time); gVisits = group visits by url; visitCounts = foreach gVisits generate url, count(visits); urlInfo = load ‘/data/urlInfo’ as (url, category, pRank); visitCounts = join visitCounts by url, urlInfo by url; gCategories = group visitCounts by category; topUrls = foreach gCategories generate top(visitCounts,10); store topUrls into ‘/data/topUrls’;

Compilation into Map-Reduce Load Visits Group by url Foreach url generate count Foreach url generate count Load Url Info Join on url Group by category Foreach category generate top10(urls) Foreach category generate top10(urls) Map 1 Reduce 1 Map 2 Reduce 2 Map 3 Reduce 3 Every group or join operation forms a map-reduce boundary

Pig Latin operations loadRead data from file system storeWrite data to file system foreachApply expression to each record and output one or more records filterApply predicate and remove records that do not return true group/cogroupCollect records with the same key from one or more inputs joinJoin two or more inputs based on a key; various join algorithms available orderSort records based on a key distinctRemove duplicate records unionMerge two data sets splitSplit data into 2 or more sets, based on filter conditions streamSend all records through a user provided executable sampleRead a random sample of the data limitLimit the number of records

Pig Latin vs. Map Reduce Users = load ‘users’ as (name, age); Fltrd = filter Users by age >= 18 and age <= 25; Pages = load ‘pages’ as (user, url); Jnd = join Fltrd by name, Pages by user; Grpd = group Jnd by url; Smmd = foreach Grpd generate group, COUNT(Jnd) as clicks; Srtd = order Smmd by clicks desc; Top5 = limit Srtd 5; store Top5 into ‘top5sites’;

 Hive, HiveQL  Data warehousing infrastructure  ETL tools - data extract/transform/load  vysokoúrovňové operace nad nízkoúrovňovými daty  přístup do souborů HDFS nebo HBase  query execution via MapReduce  Hive QL  SQL-like jazyk pro dotazy nad HDFS  rozšiřitelný o vlastní MapReduce mappers a reducers  pohodlný, nepříliš výkonný SELECT customer.name, sum(orders.cost) FROM customers INNER JOIN ON (customer.id = orders.customer_id) WHERE customer.zipcode = '63105' GROUP BY customer.id; SELECT customer.name, sum(orders.cost) FROM customers INNER JOIN ON (customer.id = orders.customer_id) WHERE customer.zipcode = '63105' GROUP BY customer.id; Hive

Hadoop Zoo

HBase / Hadoop Architecture

SQL-on-Hadoop Frameworks  Apache Hive  tradičně součást instalace Hadoop, Hive-QL, nízká výkonnost  Cloudera Impala  SQL dotazy nad Hadoop daty, vlastní engine, pro rychlé dotazy vlastní formát  Presto (Facebook)  interaktivní SQL dotazy, specializované operátory, vlastní formát dat  Apache Shark  port of Hive to run on Spark  Spark - multistage, in-mem/distributed mem, cca 10x rychlejší než MR  Apache Drill  EMC/Pivotal HAWQ  BigSQL by IBM  Apache Pheonix (for HBase) 

3. Komunikace networking, messaging

Cloud Networking  Virtual Network  propojení vlastní a cloudové sítě  Connect, přímé propojení  propojení cloudové sítě s lokálními počítačí  Traffic manager  load balancing, směrování

Virtual Network  Virtual Network  propojení s vlastní sítí  rozšíření vlastní sítě  přístup k službám lokální sítě z cloudových modulů  přístup k cloudovým službám z lokální sítě  propojení několika datacenter  geografická škálovatelnost možné dedikované linky nepropojené s veřejným internetem možné dedikované linky nepropojené s veřejným internetem

Přímé propojení  Cloud Connect - přímé propojení  VPN - nutnost VPN gateway, network admin  klientský sw  přístup k cloudovým službám z lokálních počítačů  bez nutnosti síťování  cloudové služby se jeví jako v lokální síti  možnost individuálního nastavení

Traffic Manager  Traffic Manager  load balancing požadavků mezi datacentra  pravidla směrování (routing rules)  definována vývojáři aplikací  Performance (nejbližší), Failover (prioritní), Round Robin (kruhová sýkorka)  vhodné zejména pro velké aplikace, geografická škálovatelnost

Cloud Messaging - Service Bus  Service Bus  publish-subscribe, loosely coupled communication  skupinová komunikace 1:N, více příjemců  API mimo cloud  letecká společnost, zpřístupnění rezervace letenek a oznamování změn  Queues, Topics, Relays, Event Hubs

Service Bus - Queues  Message Queueing  spolehlivý asynchronní jednosměrný kanál mezi rolemi  web role přijme soubor s videem  uloží ho do blobu, pošle zprávu do MQ  nějaký worker role někdy zprávu vyzvedne a provede konverzi formátu  části zprávy  strukturovaná / nestrukturovaná  škálovatelnost - nezávislý počet read/write rolí  odesílatelů i příjemců může být více  automatický load balancing  Vyzvednutí zprávy  Receive/Delete  jednodušší, možná ztráta při výpadku  idempotentní služby  Peek/Lock/Complete/Abandon  fault tolerance

Service Bus - Topics  Topics  publish / subscribe  sekvence zpráv týkajících se nějakého 'tématu'  předplatné (subscription) je definováno jménem a filtrem  filtr na základě vlastností zprávy (WHERE klauzule)  každé předplatné má svoji virtuální kopii zprávy  jedna zpráva může být zpracovávána více příjemci  Receive/Delete, Peek/Complete  Partitioning  Queues / Topics  rozložení zátěže na více brokerů - scale-out  výběr repliky (fragmentu fronty) náhodně nebo podle klíče

Service Bus - Relays  Relays  obousměrné propojení  (na rozdíl od Queues/Topics)  Motivace  obě aplikace za firewallem  blokované příchozí porty  NAT - proměnlivá IP adresa  Řešení  Service Bus Relay Service  obě aplikace se přihlásí  registr relay ids

Service Bus - Event Hub  Event Hub  real-time streaming services  vysoká propustnost / s  telemetrie, logy,...  competing consumers  pevný počet partitions (2-32)  publisher  individuálně / Shared Access Signature  partition key / round robin  consumer group  způsob zpracování  event ➟ více consumer groups  stream / partition offset  checkpointing  zpracovaný partition offset  pokračování po odhlášení a přihlášení jiného consumera event ingestor partition offset

Caching  Caching  access to SQL, Tables & Blobs is fast... ... but access to memory is much faster  intra-app, inter-app, inter-cloud  in-memory key/value store  value: any chunk of data  possibly structured  Memcached  ‘free & open source, high-performance, distributed memory object caching system’  Memcached protokol  Content Delivery Network  mnoho uzlů rozmístěných po celé zemi, galaxii,...  první přístup - kopie dat (blob) do uzlu CDN  další přístupy - jen k uzlu CDN

4. Další cloudové služby

Multi- & Media  Video & Media Services  uploadig - blob  encoding, konverze formátů  indexing, vyhledávací služby  protection, encrypted streaming  embeded content - subtitles, advertising  packaging, streaming - live / on demand  scheduling  monitoring & analytics

GIS / Maps  Geographic Information Systems  mapy  free / private / special  mapové vrstvy  vazby na sémantická/relační data  hospody, počasí, doprava, firmy,...  vyhledávání, spatial indexes, trasy  offline / online / cache  API, web, mobile

 Server-side  tenký klient, mobil  problém: latence, propustnost  multiplayer / community  Client-side  deployment  prostředí, mapy, levely  save to cloud + change device  multiplayer / social gaming  DRM – boj proti  Mobile clients  save & play everywhere  autentizace  push-notifications Gaming

>100,000 Azure Virtual Machines Titanfall

Marketplace  Marketplace  G-Play, MS/Azure Store, AWS Marketplace,...  applications/services  data - video, mp3, e-books,...  publishers  pricing  updates  ranking  segmentation, evaluation  customers  identity  subscriptions  push  updates  reviews / ranking  publishing / subscription API

Machine Learning  Machine Learning  aplikace historických dat na konkrétní problém  vytvoření modelu  použití pro predikci budoucího vývoje nebo trendů  BigData, supervised / unsupervised methods  search engines, online product recommendations, GPS traffic directions, credit card fraud prevention systems, personal assistants / Cortana

& more...  Další cloudové služby  searching / indexing  text, image, video, similarity search  jazykové a překladatelské služby  translation API... implemented by औ  online collaboration  Google Docs, Office 365 Online  GDrive, OneDrive, DropBox,...,...  GPGPU computing  Azure NVidia Tesla K80, M60  Internet of Things  technologie pro propojování zařízení, monitorování, sběr dat a analýzu  IoT Hub - chráněná obousměrná komunikace s miliony zařízení  data streams, real-time data processing  statistiky, logy, monitoring  micropayments, billing, support for e-commerce ...,...,...  Identita a ochrana přístupu ➟

Vlastnosti cloudů  Sdílení systému (multitenancy)  jeden prostředek (server, data, síť) využívá více uživatelů současně  virtualizované zdroje jsou logicky odděleny  nelze přistupovat k cizím zdrojům  Thin provisioning  virtuální alokace prostoru na úložišti dat  klientu je zdánlivě vyhrazena požadovaná kapacita  ve skutečnosti ji mohou až do doby využití používat jiné systémy  různé úrovně záruky dostupnosti  Škálovatelnost a elasticita (scalability, elasticity)  změna výkonu podle potřeb klienta  služby jsou účtovány podle skutečného využití  Spolehlivost a dostupnost (reliability)  záložní systémy na různých úrovních (servery, infrastruktura, datová centra)  software, který za provozu zajistí rychlé nahrazení nefunkční části systému  Aktualizovanost (up-to-date)  software je automaticky aktualizovaný, uživatel nemusí zasahovat

Druhy cloudů  Veřejný cloud (Public cloud)  poskytování služeb (IaaS, PaaS, SaaS) třetí stranou - nejčastější typ  zajištěna vysoká škálovatelnost a účtování podle využívaných zdrojů  Soukromý cloud (Private cloud)  infrastruktura poskytující služby pouze jedné organizaci  schopnost účtování jednotlivým složkám organizace  Komunitní cloud (Community cloud)  cloud využívaný komunitou - spolupracující firmy, projekt apod.  Hybridní cloud (Hybrid cloud)  cloud složený z více různých cloudů, např. několika veřejných a soukromého  cloud interoperability - Sky Computing

5. Cloudové platformy

Microsoft Azure

Google Cloud Platform - Compute Engine / App Engine  App Engine - PaaS  Translate API  Prediction API  Big Query  Compute Engine - IaaS  Cloud Datastore  Cloud SQL  Cloud Endpoints  Cloud Storage

Amazon Web Services / Elastic Cloud

 Compute  Elastic Compute Cloud (EC2) provides scalable virtual private servers using Xen.  Elastic MapReduce (EMR) uses a hosted Hadoop framework running on the web-scale infrastructure.  Lambda (LAMBDA) provides a compute service that runs code in response to events and automatically manages the compute resources needed to run the code.  Networking  Route 53 provides a highly available and scalable Domain Name System (DNS) web service.  Virtual Private Cloud (VPC) creates a logically isolated set of Amazon EC2 instances which can be connected to an existing network using a VPN connection.  AWS Direct Connect provides dedicated network connections into AWS data centers.  Elastic Load Balancing (ELB) automatically distributes incoming traffic across multiple Amazon EC2 instances.  Storage and content delivery  CloudFront, a content delivery network (CDN) for distributing objects to so-called "edge locations" near the requester  Simple Storage Service (S3) provides Web Service based storage.  Glacier provides a low-cost, long-term storage option (compared to S3). High redundancy and availability, but low-frequent access times. Intended for archiving data.  AWS Storage Gateway, an iSCSI block storage virtual appliance with cloud-based backup.  Elastic Block Store (EBS) provides persistent block-level storage volumes for EC2.  AWS Import/Export, accelerates moving large amounts of data into and out of AWS using portable storage devices for transport.  Elastic File System (EFS) a file storage service for EC2 instances.  Database  DynamoDB provides a scalable, low-latency NoSQL online Database Service backed by SSDs.  ElastiCache provides in-memory caching for web applications. This is Amazon's implementation of Memcached and Redis.  Relational Database Service (RDS) provides a scalable database server with MySQL, Oracle, SQL Server, and PostgreSQL support.  Redshift provides petabyte-scale data warehousing with column-based storage.  SimpleDB allows developers to run queries on structured data. It operates in concert with EC2 and S3 to provide "the core functionality of a database".  AWS Data Pipeline provides reliable service for data transfer between different AWS compute and storage services.  Kinesis streams data in real time with the ability to process thousands of data streams.  Deployment  CloudFormation provides a file-based interface for provisioning other AWS resources.  AWS Elastic Beanstalk provides quick deployment and management of applications in the cloud.  AWS OpsWorks provides configuration of EC2 services using Chef.  AWS CodeDeploy provides automated code deployment to EC2 instances.  Management  Identity and Access Management (IAM) is an implicit service, the authentication infrastructure used to authenticate access to the various services.  AWS Directory Service a managed service that allows you to connect your AWS resources with an existing on-premises Microsoft Active Directory or to set up a new, stand-alone directory in the AWS Cloud.  CloudWatch, provides monitoring for AWS cloud resources and applications, starting with EC2.  AWS Management Console, A web-based interface to manage and monitor the Amazon infrastructure suite.  CloudHSM - The AWS CloudHSM service helps you meet requirements for data security by using dedicated Hardware Security Module (HSM) appliances within the AWS cloud.  AWS Key Management Service (KMS) makes it easy to create and control the keys used to encrypt your data.  Application services  API Gateway is a service for publishing, maintaining and securing web service APIs.  CloudSearch provides basic full-text search and indexing of textual content.  DevPay is a billing and account management system.  Elastic Transcoder (ETS) provides video transcoding of S3 hosted videos, marketed primarily as a way to convert source files into mobile-ready versions.  Flexible Payments Service (FPS) provides an interface for micropayments.  Simple Service (SES) provides bulk and transactional sending.  Simple Queue Service (SQS) provides a hosted message queue for web applications.  Simple Notification Service (SNS) provides a multi-protocol "push" messaging for applications.  Simple Workflow (SWF) is a workflow service for building scalable, resilient applications.  Cognito a simple user identity and data synchronization service that helps you securely manage and synchronize app data for your users across their mobile devices.  AppStream a flexible, low-latency service that lets you stream resource intensive applications and games from the cloud.  Analytics  Machine Learning a service that makes it easy for developers of all skill levels to use machine learning technology.  Kinesis is a fully managed, cloud-based service for real-time data processing over large, distributed data streams.  Miscellaneous  Historical Pricing provides access to Amazon's historical sales data from its affiliates.  Mechanical Turk (Mturk) manages small units of work distributed among many persons.  Product Advertising API provides access to Amazon's product data and electronic commerce functionality.  Gift Code On Demand (AGCOD) for Corporate Customers enables companies to distribute Amazon gift cards instantly.  AWS Partner Network (APN) provides partners with the technical information and sales and marketing support to increase business opportunities through AWS.

IBM CloudFoundry / BlueMix

Open Stack  Cloud Lock-in  functionality, license, development  OpenStack  2010 NASA + Rackspace  nyní řízeno OpenStack Foundation  > 500 firem, od 2014  open source - public / private cloud  API založeno na Amazon EC2 a S3 Compute - Nova Object Storage - Swift Block Storage - Cinder Image Service - Glance Networking - Neuron Identity - Keystone Dashboard - Horizon Orchestration - Heat Workflow - Mistral Telemetry - Ceilometer Database - Trove Map Reduce - Sahara Bare Metal - Ironic Messaging - Zaqar Shared FS - Manila DNS - Designate Search - Searchlight Key Manager - Barbican

Cloud Interoperability - Sky Computing

 InterCloud  cloud interoperability  protokoly, formáty a mechanismy  'cloud roaming'  IEEE, CISCO,...  As of June 2015, the Intercloud has yet to show real world demonstration of federation and interoperability, and challenges remain regarding security and trust, governance and legal issues, QoS, monitoring, arbitrage, and billing. InterCloud

Perspektivy Cloud Interoperability

6. Návrhové vzory pro cloud computing na samostatných slajdech

to be continued...  NSWI151 - Administrace virtualizační infrastruktury  Jakub Yaghob  praktická administraci moderních virtualizačních řešení  plánování, nasazení, zabezpečení a údržba virtualizační infrastruktury  VMware vSphere, Microsoft Hyper-V  NSWI152 - Vývoj cloudových aplikací  Filip Zavoral + Tomáš Herceg, Jiří Vinárek  praktický vývoj a nasazení aplikací  Windows Azure, Google Cloud Platform,...  NDBI040 - Big Data Management  Irena Holubová  Key/Value tables, Column Store, Graph DB, Distributed DB, Hadoop,...  NDBI041 - Pokročilé Big Data Technologie  Leo Galamboš  efektivní zpracování datových proudů, data warehousing, clustering, analýza,...