Top Banner
ALT-CLOUD A Comparison of Windows Azure and Amazon Web Services
35

ALT-CLOUD

Feb 26, 2016

Download

Documents

ura

ALT-CLOUD. A Comparison of Windows Azure and Amazon Web Services. “Make everything as simple as possible, but not simpler .“ Albert Einstein. CloudTweaks.com. About Bill Zack. Independent Cloud Architect and Developer .NET (from the beginning  ) Microsoft Windows Azure Specialist - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

ALT-CLOUD

ALT-CLOUDA Comparison of Windows Azure and Amazon Web Services2Make everything as simple as possible, but not simpler.

Albert Einstein

CloudTweaks.comAbout Bill ZackIndependent Cloud Architect and Developer.NET (from the beginning )Microsoft Windows Azure SpecialistLeader of NYC .NET Developers GroupNY Chapter of the International Association of Software ArchitectsImplemented cloud applications on both platforms

3To Contact MeEmail: [email protected]: CloudyInNewYork.comLinkedIn: Search William Zacktwitter: https://twitter.com/WilliamHZackCall me at: 203 545-2339 (mobile)

Tonight's FocusThe NIST Definition of Cloud The top 4-5 Public Cloud providers Cloud Application PatternsFeature ComparisonThe NIST Cloud Computing ModelEnabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.

The Model is composed of:5 Essential characteristics3 Service models 4 Deployment models

5 Essential CharacteristicsOn-demand self-service Broad network access Resource pooling Rapid elasticityMeasured service3 Service Models Software as a Service (SaaS) Platform as a Service (PaaS) Infrastructure as a Service (IaaS)

Public cloud *Private cloudCommunity cloud Hybrid cloud

4 Deployment ModelsPublic CloudPool of computing resources Offered by a vendor Typically a pay as you go modelSelf provisioned

(To which I add massive global presence and near-infinite capacity )

Top Public Cloud ProvidersAmazonMicrosoftForceGoogle RackspaceCloud Computing Taxonomy Traditional ITStorageServersNetworkingO/SMiddlewareVirtualizationDataApplicationsRuntimeYou manageIaaSStorageServersNetworkingO/SMiddlewareVirtualizationDataApplicationsRuntimeManaged by vendorYou manageYou managePaaSManaged by vendorStorageServersNetworkingO/SMiddlewareVirtualizationApplicationsRuntimeDataSaaSManaged by vendorStorageServersNetworkingO/SMiddlewareVirtualizationApplicationsRuntimeDataSaaSIaaSPaaSOn Prem.IaaS and Azure Azures addition of the vmrole (not a raw VM like EC2). It will host applications running on two versions of Windows Server no Linux or other operating systems. Second much of the PaaS services on Azure span PaaS and IaaS deployments letting you easily mix VM role and Worker role components in the same service; sharing the same network configuration, shared components, caching, messaging, and network storage repositories. Third, Microsoft is also debuting, in preview, the ability to host virtualized application images in its Worker Role, another deployment option that can accommodate even more applications and components that previously were not a fit on the Azure platform. And SQL Azure Data Sync replicates and synchronizes on-premise SQL Server databases to Azure. All these moves give traditional Windows developers significantly higher degrees of freedom to try and then deploy to the Azure platform. If you have held back on trying Azure because you didnt feel like writing your entire application on the Azure platform now the bar is a bit lower assuming everything you write runs on Windows.PaaS - Services to develop, test, deploy, host and maintain applications in the same integrated development environment Different PaaS offerings provide different combinations of services to support the application development life-cycle. Azure as PaaS provides all service options into an integrated development environment within the actual target delivery platform, with source code control, version control, dynamic (interactive) multiple usertesting, roll out and roll back with the ability to audit and track who made what changes when to accomplish what purposeWeb based user interface creation tools PaaS offerings typically provide some level of support to ease the creation of user interfaces, either based on standards such as HTML and JavaScript or other Rich Internet Application technologies like Adobe Flex, Flash and AIR. Rich, interactive, multi-user environments and scenarios can be defined, tried out by real people (non-programmers), with tools that make it easy to log/single out features that annoy or frustrate either novices or experts. Creation tools allow interfaces to be defined for different user profiles by function or expertise. PaaS offers improved user experience by incorporating channels for real people feedback throughout creation, design, development, testing, roll-out, production...the entire life-cycle through to 'end-of-life" "reincarnation" or "next generation evolution" of the application[3].Multi-tenant architecture PaaS offerings typically attempt to support use of the application by many concurrent users, by providing concurrency management, scalability, fail-over and security. The architecture enables defining the "trust relationship" between users in security, access, distribution of source code, navigation history, user (people and device) profiles, interaction history, and application usage.Integration with web services and databases Support for SOAP and REST interfaces allow PaaS offerings to create compositions of multiple web services, sometimes called "mashups" as well as access databases and re-use services maintained inside private networks. Support for keeping the user/relationships (if multiple users)/device context and profile through the mashup across web services, databases and networks.Support for development team collaboration The ability to form and share code with ad-hoc or pre-defined or distributed teams greatly enhances the productivity of PaaS offerings. Schedules, objectives, teams, action items, owners of different areas of responsibilities, roles (designers, developers, tester, QC) can be defined, updated and tracked based on access rights.

Utility-grade instrumentation PaaS offerings provide developers insight into the inner workings of their applications, and the behavior of their users. Some PaaS offerings use information about user behavior to enable pay-per-use billing.

Historical/usage evidence may help:

determine whether services are of value to users/customers,compare the value of different services, andtrack activity based costs and revenues.

Visualization tools could show usage patterns, exposing functional or correlational relationships between:services and/or user interactions,the value to the user or users, andthe cost of alternative service paths such as web and cell phonejust to name a couple.Financial data collection and, possibly, forecasting, are required to determine who pays what to whom and when (how often).

12Windows Azure 2.0 (Two PaaS + IaaS)

Global Foundation Services8 Datacenters in three geographical regionsNorth AmericaEuropeAsia PacificGlobal Foundation ServicesWindows AzureOffice 365Bingetc.Amazon Web Services

Applications Fit for CloudUsageCompute Time AverageInactivityPeriod On and Off On & off workloads (e.g. batch job)Over provisioned capacity is wasted Time to market can be cumbersome Compute Time Unpredictable Bursting Average Usage Unexpected/unplanned peak in demand Sudden spike impacts performance Cant over provision for extreme cases Average UsageCompute Time Growing Fast Successful services needs to grow/scale Keeping up w/ growth is big IT challenge Cannot provision hardware fast enoughCompute Time Predictable Bursting Services with micro seasonality trends Peaks due to periodic increased demandIT complexity and wasted capacity

http://cloudyinnewyork.com/2012/10/26/to-cloud-or-not-to-cloud/Moving an Application to the Cloud

See CloudyInNewYork.comMulti-Tier ApplicationsWeb RoleWorker RoleAzureStorageBrowserBrowserBrowserBrowserBrowserWeb RoleWeb RoleN L BAmazon Equivalents = Elastic Load Balancing & Amazon Machine ImagesWeb Site Hosting

Relational StorageSQL DatabaseBrowserRDBMSTDSWeb RoleHTTPSQL DatabaseBrowserRDBMSTDSWeb RoleHTTPWorker RoleQueueSQL ServerMySQLOracleDB/2Other?Non-Relational StorageClientAzure Blob StorageREST APIPutBlob PUT http://account.blob.core.windows./net/containername/blobnameBlob Containerhttp://account.blob.core.windows.net/containername/blobnameAWS Simple Storage Service, Elastic Block StoreAWS Glacier ArchivingVideo on Demand Applications

Azure and AWS Feature CategoriesDeployment, Management and AutomationComputeStorageMessagingNetworkingSecurityOperating System & Data TransferDevelopment Languages and Runtime SupportMarketplaces

ComputeAzureAWSWeb and Worker RoleLoad BalancingVM RoleVirtual Machine High Performance Computing Complex Event ProcessingHadoopMedia ServicesElastic Compute CloudSimple Workflow ServiceElastic Map Reduce (Hadoop)Cluster Compute/GPUElastic Load BalancingCloud SearchStorageAzureAWSBlobs Tables Drives SQL Azure Data Sync Reporting SQL Azure FederationGeo-ReplicationContent Delivery NetworkCaching ServiceBing Search APIsStorage serviceSimple Storage ServiceElastic Block StoreSimpleDB DynamoDBRelational Data ServiceStorage GatewayArchiving and Backup ServiceCloudFrontElastiCacheSearch Service

MessagingAzureAWSWindows Azure QueuesService Bus (Message Relay, Pub/Sub, Queues)Email (Exchange Relay)Broadcast Push Notification for Windows 8, Windows Phone and IOS *Simple Notification ServiceSimple Queue ServiceSimple Email Service

NetworkingAzureAWSVirtual IPLoad BalancingDNSConnectVirtual NetworkTraffic Manager

Elastic Load BalancingVirtual Private CloudDirectConnectElastic IPRoute53 DNSElastic Network InterfaceLatency Based RoutingSecurityAzureAWSWindows Azure Active DirectoryAccess Control ServiceActive Directory Federation Service

Identity Access ManagementMulti-factor Authentication

Operating System & Data TransferAzureAWSVM VHD Upload/DownloadVM Role Upload(No data import/export yet)

AMI UploadVMware ImportData Import/Export

Development Languages and Runtime SupportAzureAWS(Selected Languages & Runtimes)Cloud EmulatorTools for Visual Studio Client Libraries for .NETJava Eclipse Plug-inClient Libraries for JavaPowerShell for Node.jsNode.js for WindowsCommand Line Tools for PHPClient Libraries for PHPRocket Web Server for PythonFlask Microframework for Python

(Any Windows Language & Runtime)Tools for Visual StudioClient Libraries for .NETJava Eclipse Plug-inMarketplacesAzureAWSData MarketApplication Market

Flexible Payment ServiceAndroid MarketplaceiOS Marketplace

ReferencesNIST Cloud Definitionhttp://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdfWindows Azure Portal, Calculator, Documentationhttps://manage.windowsazure.com/http://www.windowsazure.com/pricing/http://msdn.Microsoft.com/windowsazure/Amazon Web Services Portal, Calculator, Documentationhttps://console.aws.amazon.com/http://aws.amazon.com/pricing/http://aws.amazon.com/documentation/Design Patterns http://cloudyinnewyork.com/2012/05/18/cloud-design-patterns/

To Contact MeEmail: [email protected]: CloudyInNewYork.comLinkedIn: Search William Zacktwitter: https://twitter.com/WilliamHZackCall me at: 203 545-2339 (mobile)

Q&A