Azure presentation nnug dec 2010


Published on

Presentation given by Ronny Hansen in Dec. 2010 to the Norwegian .Net User Group

Published in: Technology, Business
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Xie Enwei - Liuson -
  • East Asia - Hong KongSouth East Asia - SingaporeNorth-central US - Chicago, ILSouth-central US - San Antonio, TXNorth Europe - Amsterdam, NetherlandsWest Europe - Dublin, Ireland
  • Hosting a Multi-Tenant Application in Windows Azure & practices Windows Azure Guidance site active instances for one role will guarantees 99.95% uptime - Meaning max downtime = 4 hours 22 minutes pr. yearWe recommend that you deploy at least two instances per role to ensure high availability in case one of the instances becomes unavailable. Doing so also enables coverage of the Windows Azure Compute SLA, which guarantees 99.95% uptime. For more information please visit
  • - 41 minutesNote, a Azure Drive can only be mounted by one instance at a time!New Full IIS Capabilities: Differences from Hosted Web Core
  • The diagnostics service supports logging of the following data types from your cloud service:• Windows Azure logs: These are the application logs that you dump from yourapplication. These can be any messages emitted from your code.• Diagnostic monitor logs: These logs are about the diagnostics service itself.• Windows event logs: These are the Windows event logs generated on the machineon which the role instance is running.• Windows performance counters: These refer to the subscriptions to theperformance counters on the machine on which the role instance is running• IIS logs and failed request traces: These are the IIS logs and the IIS failed requesttraces generated on the Web role instance.• Application crash dumps: These are the crash dumps generated when anapplication crashes.API: logs with:Log4Net On the Azure platform -
  • Overview of Windows Azure Connect Azure ConnectWindows Azure Connect provides a simple and easy-to-manage mechanism to setup IP-based network connectivity between on-premises and Windows Azure resources. This capability makes it easier for an organization to migrate their existing applications to the cloud by enabling direct IP-based network connectivity with their existing on-premises infrastructure. For example, a company can deploy a Windows Azure application that connects to an on-premises SQL Server database, or domain-join Windows Azure services to their Active Directory deployment. In addition, Windows Azure Connect makes it simple for developers to setup direct connectivity to their cloud-hosted virtual machines, enabling remote administration and troubleshooting using the same tools that they use for on-premises applications.Microsoft Sync Framework - Home – samples - team blogVM Role
  • SQL Azure home page SQL Azure
  • Federation
  • Key Benefits of the Service The benefits of using SQL Azure are manifold. These include manageability, high availability, scalability, a familiar development model, and a relational data model. Self-ManagingSQL Azure offers the scale and functionality of an enterprise data center without the administrative overheads that are associated with on-premise instances of SQL Server. This self-managing capability enables organizations to provision data services for applications throughout the enterprise without adding to the support burden of the central IT department or distracting technology-savvy employees from their core tasks in order to maintain a departmental database application.With SQL Azure, you can provision your data storage in minutes. This reduces the initial costs of data services by enabling you to provision only what you need. When your needs change, you can easily extend your cloud-based data storage to meet those needs.High AvailabilitySQL Azure is built on proven Windows Server and SQL Server technologies, and is flexible enough to cope with any variations in usage and load. The service replicates multiple redundant copies of your data to multiple physical servers to maintain data availability and business continuity. In the case of a hardware failure, SQL Azure provides automatic failover to optimize availability for your application.ScalabilityA key advantage of SQL Azure is the ease with which you can scale your solution. After partitioning your data, the service scales as your data grows. A pay-as-you-grow pricing model makes sure that you only pay for the storage that you use, so that you can also scale down the service when you do not need it.Familiar Development ModelWhen developers create on-premise applications that use SQL Server, they use client libraries that use the tabular data stream (TDS) protocol to communicate between client and server. SQL Azure provides the same TDS interface as SQL Server so that you can use the same tools and libraries to build client applications for data that is stored in SQL Azure. For more about TDS, see Network Protocols and TDS Endpoints. Relational Data ModelSQL Azure will seem very familiar to developers and administrators because data is stored in SQL Azure just like it is stored in SQL Server, by using Transact-SQL. Conceptually similar to an on-premise instance of SQL Server, a SQL Azure server is logical group of databases that acts as an authorization boundary. Within each SQL Azure server, you can create multiple databases that have tables, views, stored procedures, indices, and other familiar database objects. This data model makes good use of your existing relational database design and Transact-SQL programming skills, and simplifies the process of migrating existing on-premise database applications to SQL Azure. For more about Transact-SQL and its relationship to SQL Azure, see Transact-SQL Support (SQL Azure Database).SQL Azure servers and databases are virtual objects that do not correspond to physical servers and databases. By insulating you from the physical implementation, SQL Azure enables you to spend time on your database design.
  • Deliver rich reporting, without having to maintain an infrastructure. Service CTP Types (SQL Azure Database) rid of text, ntext, image data types as they are not supported in SQL Azure. In fact these data types are being deprecated ( What we did was we replaced text and ntext data types with nvarchar (4000) and image datatypes with varbinary.
  • Microsoft SQL Azure Database supports a subset of Transact-SQL for SQL Server 2008. Deprecated Database Engine Features in SQL Server 2008 R2 and Differences (SQL Azure vs. SQL Server) SQL reference (SQL Azure):
  • Overview of Options for Migrating Data and Schema to SQL Azure data to SQL Azure databases using BCP and SQL Scripts
  • Why Do I Need a Clustered Index? and Clustered Indexes INTO With SQL Azure *INTO #CFROM CUSTOMERWHERE 1=0Replace with CREATE TABLE INSERT INTOI Miss You SQL Server Agent: Part Azure and backup
  • Azure Storage is significantly cheaper and more scalable than SQL Azure. The downside is that you lose querying ability since only PartitionKey and RowKey are indexed. Consequently, you need to gauge the importance of cost effectiveness and indexing. In this particular case the ACID semantics of SQL Azure are not particularly important since the data is written by a single client.One strategy is to store your scaleout data in Azure Storage and keep an index to it in SQL Azure.
  • Now Available: Windows Azure Security Notes PDF Azure Security Notes (PDF) is a collection of our notes and learnings from exploring the cloud security space and working through Windows Azure security scenarios.   Note that this is not a guide and it’s not a Microsoft patterns & practices deliverable.  It’s simply a way to package up, hand-off, and share what we learned during the exploration stage of our patterns & practices Windows Azure Security Guidance project.The key things you’ll want to explore in the notes are the various application scenarios, the cloud security threats and countermeasures, and the checklist.2010 Aug 03
  • 2010 (Rev 2)
  • Aug 1 2008
  •“At this time, although there are availability guarantees with SQL Azure, there are no performance guarantees. Part of the reason for this is the multitenant problem: many subscribers with their own SQL Azure databases share the same instance of SQL Server and the same computer, and it is impossible to predict the workload that each subscriber’s connections will be requesting. However, not having guarantees doesn’t mean that performance is not a critical aspect of the design of the SQL Azure infrastructure. SQL Azure provides load balancing services that evaluate the load on each machine in the data center. “
  • Azure Pricing Azure (consumption rates)SQL Azure (consumption rates)AppFabric (consumption rates)OverviewYou have two basic types of offers to choose from when purchasing a Windows Azure platform subscription. The first type is consumption offers. This type requires no commitment - you pay only for what you use. The second type of offer is a commitment offer that provides a significantly discounted level of service in return for a six month commitment to pay a monthly base fee. Any usage in excess of this amount is charged at our standard consumption rates. Below is a summary of our different plans:Consumption Offers:Introductory Special - Promotional offer with an amount of Windows Azure Platform services provided each month at no charge. Requires no monthly commitment and is the first plan to choose if you are unsure how much you will use each month. For SQL Azure this offer is only valid for 3 months. You will be charged for overage if you exceed the monthly amount of services included with this offer. Consumption - Flexible “Pay As You Go” plan for all Windows Azure platform services. If you need one or more additional subscriptions that require no monthly commitment, this is the plan for you. MSDN Premium - Promotional offer with a monthly amount of Windows Azure Platform services provided as an added benefit to MSDN premium subscribers. Requires you to be a MSDN Premium subscriber. Subscription Offers:Development Accelerator Core - Promotional offer provides compute hours, storage, data transfers, Access Control transactions and Service Bus connections at a discounted monthly price for a six month term. This offer is designed to provide developers with the Windows Azure and AppFabric Service Bus and Access Control resources that they need to develop a particular solution or offering. If you think of the developer project lifecycle as being design-develop-deploy-manage, this offer, essentially, fuels the development stage of your project. Development Accelerator Extended - Promotional offer includes Development Accelerator Core plus SQL Azure at a discounted monthly price for a six month term. This offer is for those developers that are including SQL Azure in their solutions and want to purchase both Windows Azure compute and SQL Azure databases in fixed ratios. SQL Azure Development Accelerator Core – Promotional offer that includes SQL Azure at a discounted monthly price for a six month term. This offer is for developers including SQL Azure in their solutions and wants to purchase SQL Azure by itself or at ratios independent of Windows Azure compute. For customers that desire both Windows Azure compute and SQL Azure but at different ratios than included in the Development Accelerator Extended offer, they should purchase two subscriptions – a Development Accelerator Core and SQL Azure Development Accelerator Core subscription. For all of our offers except the MSDN Premium offer, we provide members of the Microsoft Partner Network an additional 5% discount on all charges except storage and data transfers. Please view our comparison table for a summary of our standard offers, our MSDN site for a summary of our MSDN offer or visit our offers page for additional details Compute = $0.12 / hour for small instance and $0.05 / hour for extra small instance* Windows Azure Connect = No charge during CTP** Storage = $0.15 / GB stored / month Storage transactions = $0.01 / 10K Data transfers (excluding CDN) = $0.10 in / $0.15 out / GB - ($0.10 in / $0.20 out / GB in Asia)*** CDN data transfers = $0.15 GB for North America and Europe ($0.20 GB elsewhere)** CDN transactions = $0.01 / 10K*** Extra small compute instances will begin availability in beta this calendar year and will be billed separately from other compute instance sizes.** The Windows Azure Connect service will begin its Community Technology Preview (CTP) this calendar year.*** No charge for inbound data transfers during off-peak times through March 31, 2011Click "Sign up now" to view our offers page.Windows Azure Service Level AgreementFor compute, we guarantee that when you deploy two or more role instances in different fault and upgrade domains, your internet facing roles will have external connectivity at least 99.95% of the time. For storage and CDN, we guarantee that at least 99.9% of the time we will successfully process correctly formatted requests. More information on Service Level Agreements. Measuring Windows Azure ConsumptionCompute time, measured in service hours: Windows Azure compute hours are charged only for when your application is deployed. When developing and testing your application, developers will want to remove the compute instances that are not being used to minimize compute hour billing. Partial compute hours are billed as full hours. Storage, measured in GB: Storage is metered in units of average daily amount of data stored (in GB) over a monthly period. For example, if a user uploaded 30GB of data and stored it on Windows Azure for a day, her monthly billed storage would be 1 GB. If the same user uploaded 30GB of data and stored it on Windows Azure for an entire billing period, her monthly billed storage would be 30GB. Storage is also metered in terms of storage transactions used to add, update, read and delete storage data. These are billed at a rate of $0.01 for 10,000 (10k) transaction requests Data transfers measured in GB (transmissions to and from the Windows Azure datacenter): Data transfers are charged based on the total amount of data going in and out of the Azure services via the internet in a given 30-day period. Data transfers within a sub region are free. Transactions, measured as application requests. Web Edition: Up to 1 GB relational database = $9.99 / month Up to 5 GB relational database = $49.95 / month**Business Edition: Up to 10 GB relational database = $99.99 / month Up to 20 GB relational database = $199.98 / month** Up to 30 GB relational database = $299.97 / month** Up to 40 GB relational database = $399.96 / month** Up to 50 GB relational database = $499.95 / month**Data transfers = $0.10 in / $0.15 out / GB - ($0.10 in / $0.20 out / GB in Asia)** No charge for inbound data transfers during off-peak times through March 31, 2011Click "Sign up now" to view our offers page.SQL Azure Service Level AgreementSQL Azure customers will have connectivity between the database and our internet gateway. SQL Azure will maintain a “Monthly Availability” of 99.9% during a calendar month. More information on Service Level Agreements. Measuring SQL Azure ConsumptionWeb Edition Relational Database includes:Up to 5 GB of T-SQL based relational database* Self-managed DB, auto high availability and fault tolerance Support existing tools like Visual Studio, SSMS, SSIS, BCP Best suited for Web application, Departmental custom apps Business Edition DB includes:Up to 50 GB of T-SQL based relational database* Self-managed DB, auto high availability and fault tolerance Additional features in the future like auto-partition, CLR, fanoutsetcSupport existing tools like Visual Studio, SSMS, SSIS, BCP Best suited for Saas ISV apps, custom Web application, Departmental appsA monthly fee is charged for each user database of SQL Azure. That database fee is amortized over the month and charge on a daily basis. You pay for the user databases you have on the days you have them. Master databases are not charged.Access ControlAccess Control transactions = $1.99/100KService Bus connections$3.99 per connection on a “pay-as-you-go” basis $9.95 for a pack of 5 connections $49.75 for a pack of 25 connections $199 for a pack of 100 connections $995 for a pack of 500 connectionsData transfersData transfers = $0.10 in / $0.15 out / GB - ($0.10 in / $0.20 out / GB in Asia)** No charge for inbound data transfers during off-peak times through March 31, 2011Click "Sign up now" to view our offers page.AppFabric Service Level AgreementUptime percentage commitments and SLA credits for AppFabric are similar to those specified in the Windows Azure SLA. More information on Service Level AgreementsMeasuring AppFabric ConsumptionAppFabric Service Bus connections can be provisioned individually on a “pay-as-you-go” basis or in a pack of 5, 25, 100 or 500 connections. For individually provisioned connections, you will be charged based on the maximum number of connections you use for each day. For connection packs, you will be charged daily for a pro rata amount of the connections in that pack (i.e., the number of connections in the pack divided by the number of days in the month). You can only update the connections you provision as a pack once every seven days. You can modify the number of connections you provision individually at any time.For AppFabric Access Control transactions, customers will be charged the actual number of transactions utilized for the billing period (i.e., not in discrete blocks of 100,000 transactions), plus data transfers in or out.©2010 Microsoft Site Map|ContactUs|Terms of Use|Trademarks|Legal|Privacy Statement
  • Microsoft Windows Azure Platform TCO Calculator determine “quantitative” value of using Windows Azure Platform services TCO of development and running Windows Azure Platform vs. traditional delivery channels Estimation “of” and conversion “to” on-premise solution to Windows Azure Platform services David Pallman (Azure MVP)
  • Azure Virtual Server = Running the apps directly in a Windows 2008 Virtual Server in Azure – IT Pro cost NOT included and will raise the total cost
  • Book: Windows Azure Platform: Articles from the Trenches Volume 1 Computing – Roger Jennings Azure Platform for Enterprises Jennings blog
  • 20 million enterprises in ChinaUfida accounts for 22% market share of China management software (SAP market share in China: 9.7%)UfidaChangejet: SMEs oriented management software# of enterprise users: 500,000*
  • Azure presentation nnug dec 2010

    1. 1. Real World Azure<br />Migrating to Windows Azure<br />
    2. 2. About Ethos - East & West<br />Ethos has bridged the gap between the world's cultures to create its own unique blend of convergence. Headquarters in China and with offices in Norway and Sweden, we deliver to customers worldwide. <br />Well served by our deep technology roots we empower clients to grow and realize a more creative, profitable, and productive business by integrating new cutting-edge technologies and Enterprise 2.0 concepts into existing business models. <br />12/10/2010<br />2<br />
    3. 3. About Ethos - Cloud Computing<br />Ethos is Microsoft preferred cloud computing development partner in Greater China Region.<br />Ethos was invited to speak at keynote presentation of Microsoft Azure Summit after Bob Muglia(President, Server and tools) and Xie Enwei (GM of DPE China).<br />Ethos was invited to speak at Azure Summit in development session after Soma Segar (Senior Vice President, Developer Division)<br />Ethos demoed at keynote session of TechED2010 (Beijing) with Julia Liuson(GM of Server and Tools Business, in charge of Visual Studio and Windows Azure R&D). <br />Ethos held a technical session at TechED2010 (Beijing) on AppFabric. <br />
    4. 4. Why the Cloud?<br />“The bottom line: Early adopters are finding serious benefits, meaning that cloud computing is real and warrants your scrutiny as a new set of platforms for business applications.” <br />“By 2012, 80% of Fortune 1000 enterprises will be using some cloud computing services, 20% of businesses will own no IT assets”<br />
    5. 5. Windows Azure<br />
    6. 6. Agenda<br />Reflections on Design<br />SQL Azure<br />Reflections on Security<br />Observed Performance<br />Migration and Cost<br />Other Tips<br />
    7. 7. Reflections on Design <br />.NET Runtime and SQL Azure<br />
    8. 8. Azure datacenters<br />North Central – US <br />Chicago, IL<br />North Europe - Amsterdam <br />West Europe - Dublin<br />East Asia – Hong Kong<br />South Central - US <br />San Antonio, TX<br />South East Asia - Singapore<br />
    9. 9. Windows Azure Platform<br />
    10. 10. Architecture – Go multi-tenant!<br />Multi-instance, single-tenant<br />Single-instance, multi-tenant<br />Tailspin<br />Tailspin<br />Instance of Surveys for ClientC<br />Instance of Surveys for ClientA<br />Instance of Surveys (not client specific)<br />Instance of Surveys for ClientB<br />ClientC<br />ClientC<br />ClientA<br />ClientA<br />ClientB<br />ClientB<br />
    11. 11. .NET API differences<br />Permanent storage<br />Do not store data to local disk (ie C:), but you can use it as a Scratch disk<br />Use the Azure API’s for working with Azure Storage (Blobs/Queues/Tables) or use SQL Azure<br />You can mount a VHD inside a Blob and mount it as an NTFS drive using Azure Drive to quickly move your application to Azure without rewriting your storage logic.<br />
    12. 12. Logging & Diagnostics<br />Log using Microsoft.WindowsAzure.Diagnostics<br />Third party libraries<br />Enterprise Library 5.0 supports Azure<br />NLog(<br />Ethos has written a plug-in for NLog to send log to Azure log<br />Log4Net<br />Several implementations of AzureAppender on the net<br />Diagnostics: Read logs using <br />MMC plugin<br />System Center<br />PowerShell cmdlets<br />DoItYourSelf using Azure API<br />Cerebrata AzureDiagnosticsManager<br />Remote Desktop <br />
    13. 13. Existing software assets<br />Legacy system integration using AppFabric and connectors<br />Coming soon: «Windows Azure Connect»<br />With Windows Azure Connect, you can configure IPsec protected connections between computers or virtual machines (VMs) in your organization’s network, and roles running in Windows Azure<br />Microsoft Sync Framework<br />VM Role<br />
    14. 14. Sending mail from Azure<br />Mail service is not integrated in Azure<br />Implement a SMPT sender queue<br />Connect to a SMPT server to send mail using System.Net.Mail.SmtpClient<br />Connect to a POP3 server to receive mail. Find a working code sample at CodePlex<br />If you send a lot of mail do not use a free provider, use a commercial provider like SendGrid<br />
    15. 15.
    16. 16. What is SQL Azure<br />Similar to an ordinary SQL Server, exposes a tabular data stream (TDS)<br />Familiar SQL Server relational model<br />Uses existing API and tools (SQL2008R2)<br />Friction free provisioning and reduced management<br />At the moment, max database size is 50GB<br />Coming : SQL Azure Federation Support (spring 2010 )<br />
    17. 17. SQL Azure Under The Hood<br />Applications use standard SQL client libraries: ODBC, ADO.Net, …<br />Application<br />TDS (tcp:1433)<br />Load balancer forwards ‘sticky’ sessions to TDS protocol tier<br />Load Balancer<br />TDS (tcp: 1433)<br />Gateway<br />Gateway<br />Gateway<br />Gateway<br />Gateway<br />Gateway<br />Data Node<br />Data Node<br />Data Node<br />Data Node<br />Data Node<br />Data Node<br />TDS (tcp: 1433)<br />Scalability and Availability: Fabric, Failover, Replication and Load balancing<br />
    18. 18. Key Benefits of the Service <br />High Availability<br />Scalability<br />Familiar Development Model<br />Relational Data Model<br />
    19. 19. Features and Types<br />SQL Azure does not support all of the features and data types found in SQL Server<br />Analysis Services, Replication, Reporting Services, and Service Broker are not currently provided as services on the SQL Azure.<br />Reporting Services was announced 28. October at the PDC, soon available as a CTP<br />
    20. 20. Transacts SQL support<br />Transact-SQL Features Supported <br />Constants<br />Constraints<br />Cursors<br />Index management and rebuilding indexes<br />Local temporary tables<br />Reserved keywords<br />Stored procedures<br />Statistics management<br />Transactions<br />Triggers<br />Tables, joins, and table variables<br />Transact-SQL language elements such as <br />Create/drop databases<br />Create/alter/drop tables<br />Create/alter/drop users and logins<br />and so on.<br />User-defined functions<br />Views, including sys.synonyms view<br />Transact-SQL Features Unsupported<br />Common Language Runtime (CLR)<br />Database file placement<br />Database mirroring<br />Distributed queries<br />Distributed transactions<br />Filegroup management<br />Global temporary tables<br />Spatial data and indexes<br />SQL Server configuration options<br />SQL Server Service Broker<br />System tables <br />Trace Flags<br />
    21. 21. SQL Azure Migration Wizard<br />Upgrade your database to SQL2008 first<br />Download the Wizard<br />Run the Migration Wizard<br />Analyse and fix the reported issues before migrating<br />You can also script directly from inside SQL Management Studio to SQL Azure<br />Transfer data using BCP – generate CMD script in SQL<br />
    22. 22. Top identified problems<br />All tables need a clustered index<br />UNIQUEIDENTIFIER, NEWSEQUENTIALID, DATETIME, <br />ROW GUID COLUMN not supported<br />Used for Merge replication, use Sync Framework instead.<br />SELECT INTO is not supported<br />Both on physical tables and temp tables<br />Global temp variables not supported<br />##GlobalTmpTable<br />SQL Server Agent not included<br />There is no Backup functionality<br />Sync or stream to disk<br />
    23. 23. How to optimize for Azure<br />SQL Azure Database Pricing (if app is not CPU bound)<br />$9.99/month for 1 GB <br />increases linearly to $499.95/month for 50 GB<br />This is the main cost driver for hosted solutions on Azure<br />Azure Storage Pricing (Blobs/Queues/Tables)<br />$0.15/GB stored/month<br />Suggested actions:<br />Aggregate transactional data that you need to report later<br />Move data to Azure Table Storage or export to Azure Blobs<br />The Table service is designed for massive scalability and availability, supporting billions of entities and terabytes of data. It’s designed to support high volume, but smaller structured objects.<br />
    24. 24. Reflections on Security<br />Protecting yourself<br />
    25. 25. Securing the Network, Host and Application – On-premise <br />
    26. 26. Securing the Network, Host and Application – In the Cloud<br />
    27. 27. Threat Modeling Web Applications<br />Step 1: Identify security objectives. Clear objectives help you to focus the threat modeling activity and determine how much effort to spend on subsequent steps.<br />Step 2: Create an application overview. Itemizing your application's important characteristics and actors helps you to identify relevant threats during step 4.<br />Step 3: Decompose your application. A detailed understanding of the mechanics of your application makes it easier for you to uncover more relevant and more detailed threats.<br />Step 4: Identify threats. Use details from steps 2 and 3 to identify threats relevant to your application scenario and context.<br />Step 5: Identify vulnerabilities. Review the layers of your application to identify weaknesses related to your threats. Use vulnerability categories to help you focus on those areas where mistakes are most often made.<br />
    28. 28. Windows Azure Security Notes <br />Tackling cloud security can be overwhelming without an approach. <br />These notes summarize how we took a look at securing Web applications, web services, and data in the cloud. <br />We basically started by mapping out common application scenarios. <br />We then figured out a way to group threats and attacks into a set of common categories. <br />These categories make it easy for us to analyze and inspect the various parts of an application and engineering decisions. <br />Then we focused on finding common principles, patterns, and practices, while working with customers, field, product teams, and industry experts.<br />121 pages<br />
    29. 29. Security Best Practices For Developing Windows Azure Applications<br />This paper focuses on the security challenges and recommended approaches to design and develop more secure applications for Microsoft’s Windows Azure platform. <br />Microsoft Security Engineering Center (MSEC) and Microsoft’s Online Services Security & Compliance (OSSC) team have partnered with the Windows Azure team to build on the same security principles and processes that Microsoft has developed through years of experience managing security risks in traditional development and operating environments.<br />26 pages<br />
    30. 30. Patterns & practices Improving Web Services Security<br />This guide shows you how to make the most of WCF (Windows Communication Foundation). <br />With end-to-end application scenarios, it shows you how to design and implement authentication and authorization in WCF. <br />Learn how to improve the security of your WCF services through prescriptive guidance including guidelines, Q&A, practices at a glance, and step-by-step how tos.<br />689 pages<br />
    31. 31. Observed Performance<br />
    32. 32. Cloud Benefits - Real-world Performance Analysis<br />For very limited service requests, Azure-based solution takes slightly longer time to response than self-hosted solution.<br />When more service requests come in, response time of self-hosted solution’s longest transaction will be longer. Meanwhile, response time of Azure-based solution’s longest transaction looks comparatively steady.<br />When service requests increase rapidly, transaction rates of self-hosted solution drops down very fast, meanwhile transaction rates of Azure-based solution looks comparatively better.<br />
    33. 33. Performance Benchmark<br />Hardware configuration: Legacy: CPU: 2.4G+2.4G; Memory: 1GB; Hard Drive: 60GB<br />Azure Small Instance: CPU: 1.6GHz; Memory:1.75G; Hard Drive:225G<br />
    34. 34. Stress test: Throughput<br />
    35. 35. Stress test: Performance<br />
    36. 36. Migration and Cost<br />
    37. 37. ROI/TCO Calculators<br /><br /><br />
    38. 38. Ethos’ Approach<br />In addition to saving cost, social cloud platforms can enable new markets and new business models. <br />Thus it is critical to have business owners and IT departments should engaged in analyzing benefits and strategies. Ethos' approach is:<br />12/10/2010<br />38<br />
    39. 39. Migration cost - sample #1<br />
    40. 40. Operation cost – Sample #2<br />
    41. 41. Take away<br />Understand difference and workaround of APIs<br />Build scalable, multi-tenant application for Azure<br />Maximize existing software assets’ value<br />Build secure solutions for Azure<br />Build cost-effective solutions for Azure.<br />
    42. 42. Other Tips<br />
    43. 43. Make your data available as OData<br />Open Data Protocol (OData) builds on top of WCF<br />Makes it easy to consume your data from different consumers<br />Browsers<br />Applications (OData Explorer, PowePivot for Excel, LinqPad, .NET, SilverLight)<br />Java, JavaScript, PHP<br />iPhone<br />Windows Phone 7<br />
    44. 44. Azure books<br />Azure Whitepapers:<br />
    45. 45. Jobber du med et spennende Azure prosjekt ?<br />Ta i så fall kontakt med Microsoft og du kan få hjelp til:<br />Komme i gang<br />Rådgivning<br />Kursing<br />Holde deg oppdatert <br />Ta kontakt med:<br />Petter Merok (<br />Børge Hansen (<br />
    46. 46. Thanks!<br />Contact us via:<br /><br />Twitter @RonnyHan Blog<br />
    47. 47. Case Studies<br />
    48. 48. Ethos Cloud Computing Case Study<br />UfidaChanjet<br />UFIDA Software Co., Ltd. is a major provider of management software solutions and e-business services, UFIDA has been consistently recognized as a Key Software Enterprise and leader in China's software industry.As Microsoft preferred cloud computing solution provider, Ethos successfully migrated Ufida‘sChanjetto the Azure platform. <br />
    49. 49. Ethos Cloud Computing Case Study<br />Qiming QAF<br />Qiming is leadingsoftware providerin the automotive <br />industry. Qiming owns <br />one of the largest <br />datacenters in China.Ethos is working with Qiming to enable Qiming’scritical development platform QAF to work on the cloud.<br />
    50. 50. Ethos Cloud Computing Case Study<br />ChangeTech<br />An online cloud computing service to help people change habits, lifestyles and personal qualities. Very popular public health service in Norway.<br />One of the first commercial Azure application in the world.<br />Developed by Ethos.<br />