UAI/612 - Cloudová Řešení. Návrh aplikací pro cloud



Podobné dokumenty
Cloudová Řešení UAI/612

Cloudová ešení UŘI/612

UAI/612 - Cloudová Řešení. Technologie

SOAP & REST služby. Rozdíly, architektury, použití

Cloud Slovník pojmů. J. Vrzal, verze 0.9

Vhodnost nasazení jednotlivých webových architektur, sdílení dat, perzistence, webové služby a REST, asynchronnost, messaging

Veřejné cloudové služby

Registr živnostenského podnikání předchůdce cloudových řešení

Moderní privátní cloud pro město na platformě OpenStack a Kubernetes

Název prezentace 1. Poskytovatel garantovaných služeb NDC včetně kybernetické bezpečnosti ve státní správě

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services

WCF. IW5 - Programování v.net a C# WCF

VÝBĚR CLOUDU, ANEB JAK ZVOLIT TEN NEJLEPŠÍ

Prototyping konfigurace linuxových serverů. horizontální škálování Deltacloud API

TwinCAT IoT Řešení pro průmysl 4.0

Cloud. historie, definice, modely a praktické využití Ing. Karel Stýblo K2 atmitec s.r.o.

Cloud. Nebo zatím jen mlha? Workshop Day 2011 WG06 Jaromír Šlesinger, CA Technologies Bratislava, 13. október 2011

Publikujeme web. "Kam s ním?!"

Cloud Computing pro státní správu v praxi. Martin Vondrouš - Software602, a.s. Pavel Kovář - T-Systems Czech Republic a.s.

Identifikátor materiálu: ICT-3-16

Alternativy k SAP HANA appliance? Představení možnosti TDI a cloudové infrastruktury

Možnosti využití cloudových služeb pro provoz IT

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části:

O autorech 13 O odborném korektorovi 13. Poděkování 15 Úvod 17. Cílová skupina této knihy 17 Témata této knihy 17

Případové studie a kulatý stůl. Dalibor Kačmář, Microsoft

Požadavky pro výběrová řízení TerraBus ESB/G2x

Úvod do Web Services

Základy datových vazeb Silverlightu. Funkce Silverlightu 2. Podpora jazyků a technologie.net Framework

IBM Cloud computing. Petr Leština Client IT Architect. Jak postavit enterprise cloud na klíč IBM Corporation

Služby datového centra

FORPSI Cloud Computing Virtuální datacentrum v cloudu

Novinky v Microsoft SQL Serveru RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT

František Kysela SE Datacenter

CLOUD COMPUTING PRO MALÉ A STŘEDNÍ FIRMY

Semináˇr Java X J2EE Semináˇr Java X p.1/23

Z internetu do nemocnice bezpečně a snadno

Virtualizace jako nástroj snížení nákladů. Periodické opakování nákladů nové verze Licence na pevný počet klientů

Služby datového centra

Microsoft SharePoint Portal Server Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR

INFORMAČNÍ SYSTÉMY NA WEBU

Centralizace aplikací ve VZP

Cesta k jednotnému komunikačnímu prostředí českého egovermentu

Oracle Exalogic: Ideální platforma pro Cloud Computing

Najde si Software Defined Storage své místo na trhu?

EMBARCADERO TECHNOLOGIES. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů.

Microsoft Azure Workshop

Datová úložiště v roce 2017 aneb jak si vybrat to správné?

Cloud. historie, definice, modely a praktické využití Ing. Karel Stýblo K2 atmitec s.r.o.

NSS - Cache 5. LECTURE MARTIN TOMASEK

Softwarově definovaná úložiště a jejich využití

Použití databází na Webu

PRODEJ Prodej je pochopitelně základní funkcí pokladního systému. Systému MERCATOR umožňuje prodej realizovat ve 3 režimech:

Návrh architektury škálovatelné cloudové služby aneb nespalte se v cloudu. Mgr. David Gešvindr MCSE: Data Platform MCT MSP

CHARAKTERISTIKA VEŘEJNÉ ZAKÁZKY

Relační nebo NoSQL databáze? Nebo obojí? Jan Musil CEE IBM Analytics Platform Technical Sales IBM Corporation

Ako hybridný cloud pomáha v praxi poskytovať spoľahlivé a bezpečné služby

CA AppLogic platforma typu cloud pro podnikové aplikace

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Možnosti Cloudu pro státní správu CloudComputing 2017 Zdeněk Roubíček

Common Object Request Broker Architecture

Protokol HTTP 4IZ228 tvorba webových stránek a aplikací

ArcGIS Server 10. Řešení pro sdílení geodat

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1

Disková pole (RAID) 1

Portfolio úložišť WD pro datová centra Kapacitní úložiště prošlo vývojem

O Apache Derby detailněji. Hynek Mlnařík

Systémová administrace portálu Liferay

1. Aplikační architektura

SOA a Cloud Computing

FUJITSU PRIMEFLEX. Human Centric Innovation in Action. Integrované systémy pro Vaše řešení. 30. května 2017 Pavel Čáslavský. 0 Copyright 2017 FUJITSU

Tvorba informačních systémů

Architektura orientovaná na služby Návrh orientovaný na služby. Ing. Petr Weiss. VUT v Brně,, FIT, UIFS

Odbor informatiky a provozu informačních technologií

Jaké zvolit Softwarově definované datové úložiště?

Jalapeño: pekelně ostrá Java persistence v Caché. Daniel Kutáč Senior Sales Engineer

Softwarové komponenty a Internet


Tomáš HEBELKA, MSc. Skepse vůči cloudu. 21. června 2011 VI. Konference ČIMIB, Hotel Continental, Brno

CESNET, GRIDy a přenosy dat

MBI - technologická realizace modelu

MASSIV. Middleware pro tvorbu online her

BEZPEČNOST (BEZ)DRÁTU. Martin Macek,

Komponentový návrh SW

VZOROVÝ STIPENDIJNÍ TEST Z INFORMAČNÍCH TECHNOLOGIÍ

Softwarově definované úložiště pod taktovkou EMC Lukáš Bělovský, konzultant Gapp System

Architektura GIS KMA/AGI. Karel Jedlička

Souborové systémy a práce s daty David Antoš

Web Services na SOAP

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU

Petr Vlk KPCS CZ. WUG Days října 2016

RESTful API TAMZ 1. Cvičení 11

Brno. 30. května 2014

ArcGIS for Server. V oblasti správy, vizualizace a zpracování prostorových dat nabízí ArcGIS for Server tyto možnosti:

2012 (červen) Microsoft Sharepoint Portal Server. Microsoft Live Communications Server 2003 Řešení pro online komunikaci. Microsoft Exchange

Versiondog Co je nového

Analýza a Návrh. Analýza

Fenomén Cloudu v kontextu střední a východní Evropy. Petr Zajonc, IDC pzajonc@idc.com

Technická specifikace HW pro rok 2012

Transkript:

UAI/612 - Cloudová Řešení Návrh aplikací pro cloud

Rekapitulace Cloud computing Virtualizace IaaS, PaaS, SaaS Veřejný, Privátní, Komunitní, Hybridní Motivace

Návrh aplikací pro cloud Software as a Service Multitenantní aplikace Návrh architektury Návrh datového uložiště Návrh škálovatelnosti Model nasazení

Multitenance Architektura aplikace umožňující sdílení jedné aplikační instance více zákazníky (klienty, tenanty) Každý tenant má přístup jen ke svým datům Data tenantů jsou oddělena na základě designu aplikace a datového úložiště

Identifikace tenanta Na základě autentizace uživatele Na základě cesty v URL Na základě subdomény Na základě domény

Oddělení dat Oddělené databáze Sdílená databáze, oddělená schémata Sdílená databáze, oddělené tabulky Sdílená databáze, sdílené schéma

Přizpůsobitelnost Vzhled Chování Konfigurace Vlastní kód Oddělená databáze Sdílená databáze, rozdílné schema nebo tabulky Fixní schema, fixní sloupce Fixní schema, tabulka hodnot

Způsoby nasazení Multi instance, single tenant Single instance, single tenant Multi instance, multi tenant Rozdělení podle úrovně služby Geografické umístění

Rozhodovací kriteria Izolace dat Škálovatelnost Výkon Přizpůsobitelnost Počet tenantů Počet uživatelů Velikost DB Geografické rozložení tenantů

Možné komplikace Číslování Řazení Výkon Bezpečnost dat Spouštění naplánovaných úkolů Volání webových služeb Identifikace tenanta mezi komponentami

Škálovatelnost a elasticita Schopnost systému efektivně se přizpůsobit aktuálním výkonovým potřebám Možnost přidání instancí a vypnutí instancí Odebráním instance, nebo přesměrováním uživatele na jinou instanci nedojde ke ztrátě uživatelských dat.

Volná vazba komponent (loose coupling) Míra znalosti jakou o sobě mají komponenty Komunikace pomocí definovaných rozhraní rozhraní Snižuje závislost na konkrétních technologiích Změn a v jedné komponentě je oddělená od zbytku aplikace Izolace problémů

Služby Autonomní jednotka realizující určitou vhodně zapouzdřenou činnost Poskytuje nějakou funkcionalitu pomocí pomocí definovaného rozhraní

Service Oriented Architecture (SOA) Principy a metody vývoje software ve formě interoperabilních distribuovaných služeb Aplikace se vytváří z na sobě nezávislých komponent poskytujících služby Komponenty lze znovupoužít k jiným účelům Jednotlivé služby mohou být implementovány na různých platformách Komunikace probíhá na základě dohodnutých rozhraní

Bezestavovost Stav není uložen v paměti aplikace Správa stavu zhoršuje škálovatelnost Při poruše je možné aplikaci vypnout a uživatele přesměrovat na jiný server Správa stavu na klientovi (cookies, URL) Uchováváni session na serveru zhoršuje load ballancing

Správa session Na klientovi (JavaScript) Klasická session (session storage) Serializace a deserializace stavu Jednoduchost implementace Cena Výkon Robustnost User experience Bezpečnost

Striktní oddělení dat a aplikační logiky Lepší flexibilita nasazení a škálování Nic není uloženo lokálně (včetně např. logů) Soubory, například mediální obrázky To umožňuje přidávat, odebírat nebo přemisťovat výpočetní jednotky podle Umožňuje transparentně měnit technologii ukládání dat

Třívrstvý design (3-tier design)

Komunikace komponent Pomocí middleware technologií Webové služby REST Messaging

REST Založeno na protokolu HTTP Orientováno kolem "resources" HTTP Metody (GET, PUT, POST, DELETE) Přenosový formát XML, JSON

Messaging Asynchronní komunikace pomocí zasílání zpráv Založeno na frontách zpráv Komunikace je nepřímá, zprostředkovaná další komponentou JMS

Publish - Subscribe Messaging Obdoba messaging Odběratelé se zaregistrují k určitému tématu Kdykoliv někdo publikuje zprávu k tématu je přeposlána všem odběratelům

Cache Častá komunikace mezi službami může být pomalá Snižuje nároky na komunikace Zrychluje odezvy read operací Umožňuje částečnou funkci pokud není některá ze služeb dostupná Snížení latence

Distribuovaná cache Cache sdílená mezi více servery Cachovaná data jsou přenášena po síti Cache je rozprostřená mezi více strojů Navenek se tváří jako jediná cahce Izolovaná cache, replikovaná cache, rozložená cache

Distribuovaná cache

Nelze spoléhat na HW Všechny výpočetní jednotky jsou stejně (ne) spolehlivé Kterákoliv může kdykoliv selhat Nelze spoléhat že některá bude spolehlivější než jiná (např. load ballancer) Vyvarujte se "single point of failure". Mean Time Of Error vs Mean Time Of Recovery

Self recovery design Vytvořte mechanismy pro automatické zotavení a rekonfiguraci cloudu Aplikace musí umožňovat bezobslužný start Health check

Fault tolerance Plánujte že některé zdroje nemusí být dostupné Komponenty by měly umět (dočasně) fungovat izolovaně Nemělo by dojít ke zhrouceni celého systému Při opětovné dostupnosti zdroje se systém zotaví původního stavu Database throttling

Nelze spoléhat na síť Cloudové aplikace běží často v obrovských data centrech I pouhé dva počítače může dělit velké množství kabelů a switchů a nemusí být ani ve stejné budově Může docházet k výpadkům konektivity mezi dvěma uzly

Proprietární technologie Vendor lockin Nemožnost migrace na jiný typ cloudu

Neblokovat se Vyhnout se zamykání Uzamknutý resource znamená úzké hrdlo Pokud možno oddělit ukládání dat od jejich zpracování

Bezpečnost Důkladné zabezpečení na všech vrstvách V cloudovém prostředí je často obtížné zaručit kdo má přístup ke službám Zabezpečení musí být na každém rozhraní Kódování dat pro jednotlivé tenanty Oddělená správa identit Oddělení citlivých dat

Load ballancing Elastic load ballancing GEO load ballanacing Sticky session

Replikace dat Master-Slave Master-Master Redundance Automatické zotavení Záloha

Distribuovaná úložiště Například Amazon S3 Distribované datové úložiště Content Delivery Network Přístup pomocí webových služeb Automatické škálování