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
• 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,…
...