Cloud Computing: Wypożyczane (pay per use) aplikacje i

Transkrypt

Cloud Computing: Wypożyczane (pay per use) aplikacje i
Cloud Computing:
Wypożyczane (pay per
use) aplikacje i
infrastruktura dostępna za
pośrednictwem internetu
National Institute of Standards and
Technology
3
5
W CC te problemy nie występują!
47% of New Apps are on-prem
88% of Sockets in corp. datacenter
98% of large Orgs have some
degree of virtualization
20% of Orgs have Private Clouds
Majority of cloud growth is IaaS
Majority of new cloud apps are PaaS
Most efficient model for cloud
development
~16% of new Apps qualify as SaaS
Business model, not hosting model.
There are on-premise SaaS apps.
On Premise
Dane
Aplikacja
Maszyna
wirtualna
Serwer
Magazyn
danych
Sieć
IaaS
Dane
Aplikacja
Maszyna
wirtualna
Serwer
Magazyn
danych
Sieć
PaaS
Dane
Aplikacja
Maszyna
wirtualna
Serwer
Magazyn
danych
Sieć
Ty kontrolujesz
Współdzielona kontrola
Dostawca kontroluje
Hybryda
SMB: >25x public
cloud benefit
Enterprise: ~10x
public cloud benefit
Prywatna
Publiczna
Public cloud steady
state pricing
Source: Microsoft
SaaS
Dane
Aplikacja
Maszyna
wirtualna
Serwer
Magazyn
danych
Sieć
Duże DCs 5-7 razy bardziej
efektywne kosztowo
Koszty w średnim DC
Koszty w dużym DC
Sieć
$95 za Mbit/sek/miesiąc
$13 za Mbit/sek/miesiąc
7.1
Pamięć
$2.20 za GB/miesiąc
$0.40 za GB/miesiąc
5.7
Administracja
≈ 140 serwerów /Administratora
> 1000 serwerów /Administratora
7.1
Cena
3.6 cents
Gdzie?
Prawdopodobnie dlatego, że
Idaho
Hydroelektrownie, nieduże odległości
10.0 cents
California
Elektryczność transmitowana daleko, marne instalacje w zatoce, nie można
używać elektrowni węglowych w Kalifornii.
18.0 cents
Hawaii
Trzeba dostarczyć paliwo statkiem….
Skutek:
Quincy, WA
Google, Microsoft, Yahoo!, i inni…
San Antonio, TX
Microsoft, US NSA, i inni …
Compute
Rozmiar boiska do piłki
nożnej
X
James Hamilton, Internet Scale Service Efficiency,
Large-Scale Distributed Systems and Middleware (LADIS) Workshop Sept‘08
Technologia
Inactivity
Period
t
On and Off
Unpredictable
Bursting
Growing Fast
Predictable Bursting
24x7 Steady
Capacity Needed (Max + 20%)
Capacity Needed (Max + 20%)
Save
20-30%
Save
60-80%
S
M
T
W
On and Off
(30%)
T
F
S
J
Growing Fast
(15%)
F
M
A
Unpredictable Bursting
(25%)
M
J
J
A
S
Predictable Bursting
(20%)
O
N
D
24x7 Steady
(10%)
Source: Saugatuck Technology Inc., 2009 Cloud Infrastructure Survey (Julne09), WW N=670
AZURE INSIDE
The Microsoft Cloud
Data Center Infrastructure
Generacja 1
Generacja 2
Generacja 3
Generacja 4
Kolokacje
Quincy
San Antonio
Chicago
Dublin
FY11
Serwery
Racki
Kontenery
IT PAC
The Microsoft Cloud
Server Container Deployment
The Microsoft Cloud
The Microsoft Cloud
The Microsoft Cloud
The Microsoft Cloud
Server Container Deployment
Server Container Deployment
Server Container Deployment
Server Container Deployment
The Microsoft Cloud
The Microsoft Cloud
Server Container Deployment
Quincy, WA
Chicago, IL
San Antonio, TX
Server Container Deployment
Dublin, Ireland
Generation 4 DCs
Miejsca o których można mówić
publicznie. Microsoft ma na świecie
app services
app services
compute
Automated
Managed Resources
data services
networks
compute
data services
Elastic
Automated
Elastic
Usage Based
Managed Resources
Usage Based
N Central US, S Central US, N Europe, W Europe, E Asia,
SE Asia + 24 Edge CDN Locations
N Central US, S Central US, N Europe, W Europe, E Asia,
SE Asia + 24 Edge CDN Locations
WEB
IaaS and PaaS based hosting options
Features:
• 99.95% Monthly SLA
• Support for Windows and Linux VM’s
VIRTUAL
• Fault Isolation
• Elastic Capacity
• Open source support (Git, etc…)
• First class .Net Support
• Support for a variety of languages and
Frameworks
CLOUD
frameworks .net
node.js
java
php
python
networks
Lock-In
Infrastructure as a Service
Windows Azure
Other Service Providers
Windows
Virtual Machine
Customer Data Center
Virtual Machines
Server
>_
3
9
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
- <feed xml:base="http://localhost:33779/WcfDataService1.svc/" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom">
<title type="text">Drivers</title>
<id>http://localhost:33779/WcfDataService1.svc/Drivers</id>
<updated>2010-05-24T22:12:38Z</updated>
<link rel="self" title="Drivers" href="Drivers" />
- <entry>
<id>http://localhost:33779/WcfDataService1.svc/Drivers(1)</id>
<title type="text" />
<updated>2010-05-24T22:12:38Z</updated>
- <author>
<name />
</author>
<link rel="edit" title="Driver" href="Drivers(1)" />
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/DistributionCenter" type="application/atom+xml;type=entry" title="DistributionCenter" href="Drivers(1)/DistributionCenter" />
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Todays" type="application/atom+xml;type=feed" title="Todays" href="Drivers(1)/Todays" />
<category term="ContosoBottlingModel.Driver" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
- <content type="application/xml">
- <m:properties>
<d:DriverId m:type="Edm.Int32">1</d:DriverId>
<d:DistributionCenterId m:type="Edm.Int32">1</d:DistributionCenterId>
<d:FirstName>Rob</d:FirstName>
<d:LastName>Tiffany</d:LastName>
</m:properties>
</content>
</entry>
- <entry>
<id>http://localhost:33779/WcfDataService1.svc/Drivers(2)</id>
<title type="text" />
<updated>2010-05-24T22:12:38Z</updated>
- <author>
<name />
</author>
<link rel="edit" title="Driver" href="Drivers(2)" />
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/DistributionCenter" type="application/atom+xml;type=entry" title="DistributionCenter" href="Drivers(2)/DistributionCenter" />
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Todays" type="application/atom+xml;type=feed" title="Todays" href="Drivers(2)/Todays" />
<category term="ContosoBottlingModel.Driver" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
- <content type="application/xml">
- <m:properties>
<d:DriverId m:type="Edm.Int32">2</d:DriverId>
<d:DistributionCenterId m:type="Edm.Int32">1</d:DistributionCenterId>
<d:FirstName>Loke Uei</d:FirstName>
<d:LastName>Tan</d:LastName>
</m:properties>
</content>
</entry>
- <entry>
<id>http://localhost:33779/WcfDataService1.svc/Drivers(3)</id>
<title type="text" />
<updated>2010-05-24T22:12:38Z</updated>
- <author>
<name />
</author>
<link rel="edit" title="Driver" href="Drivers(3)" />
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/DistributionCenter" type="application/atom+xml;type=entry" title="DistributionCenter" href="Drivers(3)/DistributionCenter" />
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Todays" type="application/atom+xml;type=feed" title="Todays" href="Drivers(3)/Todays" />
<category term="ContosoBottlingModel.Driver" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
- <content type="application/xml">
- <m:properties>
<d:DriverId m:type="Edm.Int32">3</d:DriverId>
<d:DistributionCenterId m:type="Edm.Int32">1</d:DistributionCenterId>
<d:FirstName>Dan</d:FirstName>
<d:LastName>Bouie</d:LastName>
</m:properties>
</content>
</entry>
- <entry>
<id>http://localhost:33779/WcfDataService1.svc/Drivers(4)</id>
<title type="text" />
<updated>2010-05-24T22:12:38Z</updated>
- <author>
<name />
</author>
<link rel="edit" title="Driver" href="Drivers(4)" />
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/DistributionCenter" type="application/atom+xml;type=entry" title="DistributionCenter" href="Drivers(4)/DistributionCenter" />
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Todays" type="application/atom+xml;type=feed" title="Todays" href="Drivers(4)/Todays" />
<category term="ContosoBottlingModel.Driver" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
- <content type="application/xml">
- <m:properties>
<d:DriverId m:type="Edm.Int32">4</d:DriverId>
<d:DistributionCenterId m:type="Edm.Int32">1</d:DistributionCenterId>
<d:FirstName>John</d:FirstName>
<d:LastName>Dietz</d:LastName>
</m:properties>
</content>
</entry>
- <entry>
<id>http://localhost:33779/WcfDataService1.svc/Drivers(5)</id>
<title type="text" />
<updated>2010-05-24T22:12:38Z</updated>
- <author>
<name />
</author>
<link rel="edit" title="Driver" href="Drivers(5)" />
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/DistributionCenter" type="application/atom+xml;type=entry" title="DistributionCenter" href="Drivers(5)/DistributionCenter" />
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Todays" type="application/atom+xml;type=feed" title="Todays" href="Drivers(5)/Todays" />
<category term="ContosoBottlingModel.Driver" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
- <content type="application/xml">
- <m:properties>
<d:DriverId m:type="Edm.Int32">5</d:DriverId>
<d:DistributionCenterId m:type="Edm.Int32">2</d:DistributionCenterId>
<d:FirstName>Derek</d:FirstName>
<d:LastName>Snyder</d:LastName>
</m:properties>
</content>
</entry>
- <entry>
<id>http://localhost:33779/WcfDataService1.svc/Drivers(6)</id>
<title type="text" />
<updated>2010-05-24T22:12:38Z</updated>
- <author>
<name />
</author>
<link rel="edit" title="Driver" href="Drivers(6)" />
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/DistributionCenter" type="application/atom+xml;type=entry" title="DistributionCenter" href="Drivers(6)/DistributionCenter" />
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Todays" type="application/atom+xml;type=feed" title="Todays" href="Drivers(6)/Todays" />
<category term="ContosoBottlingModel.Driver" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
- <content type="application/xml">
- <m:properties>
<d:DriverId m:type="Edm.Int32">6</d:DriverId>
<d:DistributionCenterId m:type="Edm.Int32">2</d:DistributionCenterId>
<d:FirstName>Steve</d:FirstName>
<d:LastName>Hegenderfer</d:LastName>
</m:properties>
</content>
</entry>
- <entry>
<id>http://localhost:33779/WcfDataService1.svc/Drivers(7)</id>
<title type="text" />
<updated>2010-05-24T22:12:38Z</updated>
- <author>
<name />
</author>
<link rel="edit" title="Driver" href="Drivers(7)" />
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/DistributionCenter" type="application/atom+xml;type=entry" title="DistributionCenter" href="Drivers(7)/DistributionCenter" />
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Todays" type="application/atom+xml;type=feed" title="Todays" href="Drivers(7)/Todays" />
<category term="ContosoBottlingModel.Driver" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
- <content type="application/xml">
- <m:properties>
<d:DriverId m:type="Edm.Int32">7</d:DriverId>
<d:DistributionCenterId m:type="Edm.Int32">2</d:DistributionCenterId>
<d:FirstName>Chip</d:FirstName>
<d:LastName>Vollers</d:LastName>
</m:properties>
</content>
</entry>
- <entry>
<id>http://localhost:33779/WcfDataService1.svc/Drivers(8)</id>
<title type="text" />
<updated>2010-05-24T22:12:38Z</updated>
- <author>
<name />
</author>
<link rel="edit" title="Driver" href="Drivers(8)" />
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/DistributionCenter" type="application/atom+xml;type=entry" title="DistributionCenter" href="Drivers(8)/DistributionCenter" />
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Todays" type="application/atom+xml;type=feed" title="Todays" href="Drivers(8)/Todays" />
<category term="ContosoBottlingModel.Driver" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
- <content type="application/xml">
- <m:properties>
<d:DriverId m:type="Edm.Int32">8</d:DriverId>
<d:DistributionCenterId m:type="Edm.Int32">2</d:DistributionCenterId>
<d:FirstName>James</d:FirstName>
<d:LastName>Pratt</d:LastName>
</m:properties>
</content>
</entry>
</feed>
The same list of 8 Customers using SOAP and a DataSet dropped us down to 3 kb but still too big for my taste.
<?xml version="1.0" encoding="utf-8"?>
<DataSet xmlns="http://tempuri.org/">
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Driver">
<xs:complexType>
<xs:sequence>
<xs:element name="DriverId" type="xs:int" minOccurs="0" />
<xs:element name="DistributionCenterId" type="xs:int" minOccurs="0" />
<xs:element name="FirstName" type="xs:string" minOccurs="0" />
<xs:element name="LastName" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<NewDataSet xmlns="">
<Driver diffgr:id="Driver1" msdata:rowOrder="0">
<DriverId>1</DriverId>
<DistributionCenterId>1</DistributionCenterId>
<FirstName>Rob</FirstName>
<LastName>Tiffany</LastName>
</Driver>
<Driver diffgr:id="Driver2" msdata:rowOrder="1">
<DriverId>2</DriverId>
<DistributionCenterId>1</DistributionCenterId>
<FirstName>Loke Uei</FirstName>
<LastName>Tan</LastName>
</Driver>
<Driver diffgr:id="Driver3" msdata:rowOrder="2">
<DriverId>3</DriverId>
<DistributionCenterId>1</DistributionCenterId>
<FirstName>Dan</FirstName>
<LastName>Bouie</LastName>
</Driver>
<Driver diffgr:id="Driver4" msdata:rowOrder="3">
<DriverId>4</DriverId>
<DistributionCenterId>1</DistributionCenterId>
<FirstName>John</FirstName>
<LastName>Dietz</LastName>
</Driver>
<Driver diffgr:id="Driver5" msdata:rowOrder="4">
<DriverId>5</DriverId>
<DistributionCenterId>2</DistributionCenterId>
<FirstName>Derek</FirstName>
<LastName>Snyder</LastName>
</Driver>
<Driver diffgr:id="Driver6" msdata:rowOrder="5">
<DriverId>6</DriverId>
<DistributionCenterId>2</DistributionCenterId>
<FirstName>Steve</FirstName>
<LastName>Hegenderfer</LastName>
</Driver>
<Driver diffgr:id="Driver7" msdata:rowOrder="6">
<DriverId>7</DriverId>
<DistributionCenterId>2</DistributionCenterId>
<FirstName>Chip</FirstName>
<LastName>Vollers</LastName>
</Driver>
<Driver diffgr:id="Driver8" msdata:rowOrder="7">
<DriverId>8</DriverId>
<DistributionCenterId>2</DistributionCenterId>
<FirstName>James</FirstName>
<LastName>Pratt</LastName>
</Driver>
</NewDataSet>
</diffgr:diffgram>
</DataSet>
<ArrayOfDriver xmlns=http://schemas.datacontract.org/2004/07/ContosoWcfService.Models
xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Driver>
<DistributionCenterId>1</DistributionCenterId>
<DriverId>1</DriverId>
<FirstName>Rob</FirstName>
<LastName>Tiffany</LastName>
</Driver>
<Driver>
<DistributionCenterId>1</DistributionCenterId>
<DriverId>2</DriverId>
<FirstName>Loke Uei</FirstName>
<LastName>Tan</LastName>
</Driver>
<Driver>
<DistributionCenterId>1</DistributionCenterId>
<DriverId>3</DriverId>
<FirstName>Dan</FirstName>
<LastName>Bouie</LastName>
</Driver>
<Driver>
<DistributionCenterId>1</DistributionCenterId>
<DriverId>4</DriverId>
<FirstName>John</FirstName>
<LastName>Dietz</LastName>
</Driver>
<Driver>
<DistributionCenterId>2</DistributionCenterId>
<DriverId>5</DriverId>
<FirstName>Derek</FirstName>
<LastName>Snyder</LastName>
</Driver>
<Driver>
<DistributionCenterId>2</DistributionCenterId>
<DriverId>6</DriverId>
<FirstName>Steve</FirstName>
<LastName>Hegenderfer</LastName>
</Driver>
<Driver>
<DistributionCenterId>2</DistributionCenterId>
<DriverId>7</DriverId>
<FirstName>Chip</FirstName>
<LastName>Vollers</LastName>
</Driver>
<Driver>
<DistributionCenterId>2</DistributionCenterId>
<DriverId>8</DriverId>
<FirstName>James</FirstName>
<LastName>Pratt</LastName>
</Driver>
</ArrayOfDriver>
[{"DistributionCenterId":1,"DriverId":1,"FirstName":"Rob","LastName":"Tiffany"},
{"DistributionCenterId":1,"DriverId":2,"FirstName":"Loke Uei","LastName":"Tan"},
{"DistributionCenterId":1,"DriverId":3,"FirstName":"Dan","LastName":"Bouie"},
{"DistributionCenterId":1,"DriverId":4,"FirstName":"John","LastName":"Dietz"},
{"DistributionCenterId":2,"DriverId":5,"FirstName":"Derek","LastName":"Snyder"},
{"DistributionCenterId":2,"DriverId":6,"FirstName":"Steve","LastName":“Harris"},
{"DistributionCenterId":2,"DriverId":7,"FirstName":"Chip","LastName":"Vollers"},
{"DistributionCenterId":2,"DriverId":8,"FirstName":"James","LastName":"Pratt"}]
!Raaawww
Windows Azure - platformy
Windows Azure SDK
Biblioteki
Narzędzia
Biblioteki
Narzędzia
.NET
Java
Node.js
PHP
Python
Ruby
Visual Studio
WebMatrix
Eclipse
PowerShell
Xplat-CLI
3rd Party*
.NET
Java
Node.js
PHP
Python
Ruby
Visual Studio
WebMatrix
Eclipse
PowerShell
Xplat-CLI
3rd Party*
Java
Ruby
Other languages
Biblioteki - możliwości
.NET
Java
Node.js
PHP
Python
Ruby
Storage Blob
√
√
√
√
√
√
Storage Table
√
√
√
√
√
√
Storage Queue
√
√
√
√
√
√
Service Bus Queue
√
√
√
√
√
√
Service Bus Topic
√
√
√
√
√
√
Service Bus Relay
√
Service Bus Notification
Hub
√
√
√
√
√
√
√
√
√
SQL Database
√
Caching
√
FiddlerCore
√
√
Media Services
√
√
Service Runtime
√
√
Service Management
Narzędzia dodatkowe
√
Device Apps
https://github.com/
WindowsAzure
Identity Platforms
Notification Platforms
Add-ons
Web Apps
HTML5
jQuery
ASP.Net
SDKs
Table CRUD
Services
SQL Database
Custom API
BLOB Storage
Scheduled Jobs
Web Platform (PaaS)
Web
Mobile
SDKs
Skalowalna architektura
Device Apps
Identity Platforms
Notification Platforms
Add-ons
Web Apps
HTML5
jQuery
ASP.Net
SDKs
REST
Table CRUD
Services
SQL Database
REST
Custom API
Scheduled Jobs
Web Platform (PaaS)
BLOB Storage
Skalowalna architektura – Service Bus
Web
Mobile
SDKs
Lista usług (stan na 2013.09.04)
Ceny, MSDN, licencje
SQL Standard na maszynie small – 0.64$
BizTalk Enterprise – 2.99$
Kwoty za maszynę small = 0.06$ za godzinę
Site to Site
Point to Site
Relay
Queue
Topic
Notification Hubs
Wyjątek oczywiście BizSpark
Płacimy za pojemnik na którym jest dysk
Cennik dla „technicznych”
Free,Shared – mierzy zużycie CPU! CPU na 100% - szybciej się wyczerpią limity
Shared – (0.013$/h); transfer w modelu PayAsYouGo
Standard – (0.1$/h) cenowo zbliżone do PaaS ($0.08), brak limitów, SLA od 1 instancji
$0.08 za godzinę działania × liczba procesorów × liczba instancji, SLA od 2 instancji; Nieważne, czy obciążone na 100%, czy nic nie robią...
Windows: 0.09$ | Linux: 0.06$, SLA od 1 instancji
Baza + 1.5 mln API / dzień, 25$ / miesiąc | 15M API, 199$ / miesiąc
0.095$ / 0.07$ za przechowanie GB przez miesiąc; co 50TB trochę taniej; powyżej 9000 TB – negocjować!
Do 20MB darmo; Do 100 MB - $4.995; Premium i inne – należy się oddzielny slajd
Warto”
„
29$ za support
Developer
$0.12 / GB (każda usługa – mierzony jest ruch), pierwsze 5GB za darmo; co 40TB taniej ☺
$0.01 za 10 000 komunikatów
$0.10 za 100h otwartego relay (czyli – gdy Service Bus słucha czekając na komunikat który ma gdzieś dalej przekazać)

Podobne dokumenty

National Research and Education Network - e-IRG

National Research and Education Network - e-IRG • Nation scale deployment of MPLS/IP platform for all MANs and PIONIER • Last mile is provided for most of end users • Full portoflio of offered services: IPV4, IPv6, MPLS, VPLS, multicasts, QoS,… ...

Bardziej szczegółowo