Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Michał Mac Architekt, Comarch MCPD Win Developer, MCITP DBA, Developer.

Podobne prezentacje


Prezentacja na temat: "Michał Mac Architekt, Comarch MCPD Win Developer, MCITP DBA, Developer."— Zapis prezentacji:

1 Michał Mac Architekt, Comarch MCPD Win Developer, MCITP DBA, Developer

2

3 Długi ogon/SaaS Reguły biznesowe Rozszerzalność danych Pojemnik na dane Sql Server

4

5

6

7

8

9 Najwi ę ksi klienci $ / Klient Typowi klienci Rynek (aktualnie) poza zasi ę giem Nowy rynek >> aktualny rynek Co je ś li obni ż ymy koszt wyprodukowania i dostarczenia oprogramowania?

10

11

12

13 Dostawca może zainwestować w olbrzymie Data-Center

14 Microsoft Data Center (Chicago, IL) Koszt inwestycji $500m, wielkość 10 boisk football

15 Nie kupuje sprzętu Nie instaluje oprogramowania Nie ponosi dużego kosztu na starcie Model abonamentowy Reklamy

16 Ciągłe i stałe przychody Lepsza ochrona własności intelektualnej Aktualizacje aplikacji odbywają się centralnie

17

18

19

20

21

22

23

24 Konfigurowalno ść Multitenancy Skalowalno ść

25

26

27 Wymienialne regu ł y biznesowe Rozszerzalny model danych Konfigurowalny interfejs Multitenancy

28

29

30 Wymienialne regu ł y biznesowe Rozszerzalny model danych Konfigurowalny interfejs Multitenancy

31

32

33

34

35 Reu ż ywalne Automatyczna detekcja zale ż no ś ci Expression Trees Regu ł y walidacyjne Mo ż liwo ść dodawania z zewn ą trz Prosty tekstowy j ę zyk – Formula Antlr + Expression Trees

36

37

38 Realizacja S ł ownik ExpandoObject -.Net 4.0 Dynamiczny interfejs u ż ytkownika Metadane per tenant Same dane nie wystarcz ą. Wymagana mo ż liwo ść u ż ywania w regu ł ach biznesowych Baza danych – w nast ę pnej cz ęś ci

39

40

41 Prosta rozszerzalno ść Prosta strategia backup ó w Bezpiecze ń stwo, izolacja Bankowo ść, bran ż a medyczna Wi ę ksze koszty – zu ż yte zasoby Auto close mo ż e zwi ę kszy ć ten limit, ale pogarsza czas dost ę pu Premiun approach

42

43 Ł atwa implementacja i rozszerzalno ść Ś redni poziom izolacji Utrudniony backup/restore Ni ż sze koszty, bo wi ę cej tenant ó w na jednej bazie Operacje DDL, kt ó re blokuj ą katalog systemowy

44

45 Najni ż sze koszty sprz ę tu per tenant Mo ż liwo ść dostarczenia drogich mechanizm ó w wysokiej dost ę pno ś ci po korzystnych cenach. Problemy z backupe/restorem Wi ę ksze koszty produkcji aplikacji Nale ż y zapewni ć bezpiecze ń stwo, nawet w przypadku nieprzewidzianego b łę du Tenant Data Encryption Tenant View Filter Mo ż liwo ść partycjonowania per tenant

46

47 Realizacja

48 Framework agnostic Transparentno ść Bezpiecze ń stwo Ewentualny b łą d programisty nie mo ż e ujawni ć danych innego U ż ywanie pooli po łą cze ń Wydajno ść

49

50 CREATE USER TenantA WITHOUT LOGIN WITH DEFAULT_SCHEMA = Secured; GRANT SELECT, EXECUTE, INSERT, UPDATE, DELETE ON SCHEMA::[Secured] TO TenantA;

51 CREATE TABLE Products ( ProductId INT NOT NULL IDENTITY(1,1) PRIMARY KEY, Name NVARCHAR(64) NOT NULL, Price DECIMAL(19,4) NOT NULL, WarehouseId INT NOT NULL REFERENCES Warehouses, );

52 CREATE TABLE Products ( TenantId INT NOT NULL DEFAULT (DATABASE_PRINCIPAL_ID()), ProductId INT NOT NULL IDENTITY(1,1) PRIMARY KEY, Name NVARCHAR(64) NOT NULL, Price DECIMAL(19,4) NOT NULL, WarehouseId INT NOT NULL REFERENCES Warehouses, );

53 CREATE TABLE Products ( TenantId INT NOT NULL DEFAULT (DATABASE_PRINCIPAL_ID()), ProductId INT NOT NULL IDENTITY(1,1) PRIMARY KEY, Name NVARCHAR(64) NOT NULL, Price DECIMAL(19,4) NOT NULL, WarehouseId INT NOT NULL REFERENCES Warehouses, );

54 CREATE TABLE Products ( TenantId INT NOT NULL DEFAULT (DATABASE_PRINCIPAL_ID()), ProductId INT NOT NULL IDENTITY(1,1), PRIMARY KEY(TenantId, ProductId), Name NVARCHAR(64) NOT NULL, Price DECIMAL(19,4) NOT NULL, WarehouseId INT NOT NULL REFERENCES Warehouses, );

55 CREATE TABLE Products ( TenantId INT NOT NULL DEFAULT (DATABASE_PRINCIPAL_ID()), ProductId INT NOT NULL IDENTITY(1,1), PRIMARY KEY(TenantId, ProductId), Name NVARCHAR(64) NOT NULL, Price DECIMAL(19,4) NOT NULL, WarehouseId INT NOT NULL REFERENCES Warehouses, );

56 CREATE TABLE Products ( TenantId INT NOT NULL DEFAULT (DATABASE_PRINCIPAL_ID()), ProductId INT NOT NULL IDENTITY(1,1), PRIMARY KEY(TenantId, ProductId), Name NVARCHAR(64) NOT NULL, Price DECIMAL(19,4) NOT NULL, WarehouseId INT NOT NULL, FOREIGN KEY ( TenantId, WarehouseId ) REFERENCES Warehouses );

57 CREATE TABLE Products ( TenantId INT NOT NULL DEFAULT (DATABASE_PRINCIPAL_ID()), ProductId INT NOT NULL IDENTITY(1,1), PRIMARY KEY(TenantId, ProductId), Name NVARCHAR(64) NOT NULL, Price DECIMAL(19,4) NOT NULL, WarehouseId INT NOT NULL, FOREIGN KEY ( TenantId, WarehouseId ) REFERENCES Warehouses );

58 CREATE TABLE Products ( TenantId INT NOT NULL DEFAULT (DATABASE_PRINCIPAL_ID()), ProductId INT NOT NULL IDENTITY(1,1), PRIMARY KEY(TenantId, ProductId), Name NVARCHAR(64) NOT NULL, Price DECIMAL(19,4) NOT NULL, WarehouseId INT NOT NULL, FOREIGN KEY ( TenantId, WarehouseId ) REFERENCES Warehouses ); CREATE VIEW Secured.vProducts AS SELECT ProductId, Name, Price, WarehouseId FROM Products WHERE TenantId = DATABASE_PRINCIPAL_ID();

59 CREATE TABLE Products ( TenantId INT NOT NULL DEFAULT (DATABASE_PRINCIPAL_ID()), ProductId INT NOT NULL IDENTITY(1,1), PRIMARY KEY(TenantId, ProductId), Name NVARCHAR(64) NOT NULL, Price DECIMAL(19,4) NOT NULL, WarehouseId INT NOT NULL, FOREIGN KEY ( TenantId, WarehouseId ) REFERENCES Warehouses ); CREATE VIEW Secured.vProducts AS SELECT ProductId, Name, Price, WarehouseId FROM Products WHERE TenantId = DATABASE_PRINCIPAL_ID();

60 EXECUTE AS USER = 'TenantA'; SELECT * FROM vProducts; INSERT vProducts VALUES('Basketball', 55, 2);

61 CREATE PROC INT AS BEGIN... END

62

63

64

65

66

67 Tylko osobne bazy/osobny schemat Prostota Operacje DDL Nie potrzeba metadanych, ale mo ż e by ć trudniejsze do realizacji po stronie aplikacji Osobne codebase y

68

69 Predefiniowane pola np. 3 stringi 2 liczby Niepotrzebne zu ż ycie miejsca, gdy kt ó ry ś z tenant ó w nie u ż ywa pola SPARE Columns A co gdy tenant potrzebuje 4 stringi? Wariacje: Trzymanie danych jako string + metadane typu Skomplikowane, ale podobnego mechanizmu u ż ywa SalesForce

70

71 Dane trzymane s ą nie w jednym wierszu, ale w kilku brak ograniczenia na liczb ę dodatkowych p ó l Gorsza wydajno ść, ni ż w Zaalokowanych polach wyst ę puje du ż o randomowych operacji w bazie danych

72

73 S ł abe wsparcie narz ę dzi, np. raport ó w Dobre, gdy konfiguracja jest wymagana na poziomie instancji encji Dobre dla danych rzadkich Prosta implementacja

74

75 PaaS - Platform As A Service HaaS - Hardware As A Service IaaS - Infrastructure As A Service Blue Cloud by IBM Simple Storage Service (Amazon S3), Elastic Computing Cloud (Amazon EC2) Google computing services Microsoft Azure

76 SaaS Wymaga obni ż enia kosztu produkcji 4 modele dojrza ł o ś ci Wyzwania dla architektury: Konfiguracja – regu ł y, elastyczny model danych Multitenancy – jedna instancja, wielu klient ó w Skalowalno ść

77

78 e.com_Multitenancy_WP_ pdf us/library/aa aspx

79


Pobierz ppt "Michał Mac Architekt, Comarch MCPD Win Developer, MCITP DBA, Developer."

Podobne prezentacje


Reklamy Google