About Ethos - East & West 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. 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. 12/10/2010 2
About Ethos - Cloud Computing Ethos is Microsoft preferred cloud computing development partner in Greater China Region. 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). Ethos was invited to speak at Azure Summit in development session after Soma Segar (Senior Vice President, Developer Division) 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). Ethos held a technical session at TechED2010 (Beijing) on AppFabric.
Why the Cloud? “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.” “By 2012, 80% of Fortune 1000 enterprises will be using some cloud computing services, 20% of businesses will own no IT assets”
Architecture – Go multi-tenant! Multi-instance, single-tenant Single-instance, multi-tenant Tailspin Tailspin Instance of Surveys for ClientC Instance of Surveys for ClientA Instance of Surveys (not client specific) Instance of Surveys for ClientB ClientC ClientC ClientA ClientA ClientB ClientB
.NET API differences Permanent storage Do not store data to local disk (ie C:), but you can use it as a Scratch disk Use the Azure API’s for working with Azure Storage (Blobs/Queues/Tables) or use SQL Azure 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.
Logging & Diagnostics Log using Microsoft.WindowsAzure.Diagnostics Third party libraries Enterprise Library 5.0 supports Azure NLog(http://nlog-project.org/) Ethos has written a plug-in for NLog to send log to Azure log Log4Net Several implementations of AzureAppender on the net Diagnostics: Read logs using MMC plugin System Center PowerShell cmdlets DoItYourSelf using Azure API Cerebrata AzureDiagnosticsManager Remote Desktop
Existing software assets Legacy system integration using AppFabric and connectors Coming soon: «Windows Azure Connect» 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 Microsoft Sync Framework VM Role
Sending mail from Azure Mail service is not integrated in Azure Implement a SMPT sender queue Connect to a SMPT server to send mail using System.Net.Mail.SmtpClient Connect to a POP3 server to receive mail. Find a working code sample at CodePlex If you send a lot of mail do not use a free provider, use a commercial provider like SendGrid
What is SQL Azure Similar to an ordinary SQL Server, exposes a tabular data stream (TDS) Familiar SQL Server relational model Uses existing API and tools (SQL2008R2) Friction free provisioning and reduced management At the moment, max database size is 50GB Coming : SQL Azure Federation Support (spring 2010 )
SQL Azure Under The Hood Applications use standard SQL client libraries: ODBC, ADO.Net, … Application TDS (tcp:1433) Load balancer forwards ‘sticky’ sessions to TDS protocol tier Load Balancer TDS (tcp: 1433) Gateway Gateway Gateway Gateway Gateway Gateway Data Node Data Node Data Node Data Node Data Node Data Node TDS (tcp: 1433) Scalability and Availability: Fabric, Failover, Replication and Load balancing
Key Benefits of the Service High Availability Scalability Familiar Development Model Relational Data Model
Features and Types SQL Azure does not support all of the features and data types found in SQL Server Analysis Services, Replication, Reporting Services, and Service Broker are not currently provided as services on the SQL Azure. Reporting Services was announced 28. October at the PDC, soon available as a CTP
Transacts SQL support Transact-SQL Features Supported Constants Constraints Cursors Index management and rebuilding indexes Local temporary tables Reserved keywords Stored procedures Statistics management Transactions Triggers Tables, joins, and table variables Transact-SQL language elements such as Create/drop databases Create/alter/drop tables Create/alter/drop users and logins and so on. User-defined functions Views, including sys.synonyms view Transact-SQL Features Unsupported Common Language Runtime (CLR) Database file placement Database mirroring Distributed queries Distributed transactions Filegroup management Global temporary tables Spatial data and indexes SQL Server configuration options SQL Server Service Broker System tables Trace Flags
SQL Azure Migration Wizard Upgrade your database to SQL2008 first Download the Wizard sqlazuremw.codeplex.com Run the Migration Wizard Analyse and fix the reported issues before migrating You can also script directly from inside SQL Management Studio to SQL Azure Transfer data using BCP – generate CMD script in SQL
Top identified problems All tables need a clustered index UNIQUEIDENTIFIER, NEWSEQUENTIALID, DATETIME, ROW GUID COLUMN not supported Used for Merge replication, use Sync Framework instead. SELECT INTO is not supported Both on physical tables and temp tables Global temp variables not supported ##GlobalTmpTable SQL Server Agent not included There is no Backup functionality Sync or stream to disk
How to optimize for Azure SQL Azure Database Pricing (if app is not CPU bound) $9.99/month for 1 GB increases linearly to $499.95/month for 50 GB This is the main cost driver for hosted solutions on Azure Azure Storage Pricing (Blobs/Queues/Tables) $0.15/GB stored/month Suggested actions: Aggregate transactional data that you need to report later Move data to Azure Table Storage or export to Azure Blobs 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.
Securing the Network, Host and Application – On-premise
Securing the Network, Host and Application – In the Cloud
Threat Modeling Web Applications 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. Step 2: Create an application overview. Itemizing your application's important characteristics and actors helps you to identify relevant threats during step 4. 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. Step 4: Identify threats. Use details from steps 2 and 3 to identify threats relevant to your application scenario and context. 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.
Windows Azure Security Notes Tackling cloud security can be overwhelming without an approach. These notes summarize how we took a look at securing Web applications, web services, and data in the cloud. We basically started by mapping out common application scenarios. We then figured out a way to group threats and attacks into a set of common categories. These categories make it easy for us to analyze and inspect the various parts of an application and engineering decisions. Then we focused on finding common principles, patterns, and practices, while working with customers, field, product teams, and industry experts. 121 pages
Security Best Practices For Developing Windows Azure Applications This paper focuses on the security challenges and recommended approaches to design and develop more secure applications for Microsoft’s Windows Azure platform. 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. 26 pages
Patterns & practices Improving Web Services Security This guide shows you how to make the most of WCF (Windows Communication Foundation). With end-to-end application scenarios, it shows you how to design and implement authentication and authorization in WCF. 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. 689 pages
Cloud Benefits - Real-world Performance Analysis For very limited service requests, Azure-based solution takes slightly longer time to response than self-hosted solution. 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. 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.
Performance Benchmark Hardware configuration: Legacy: CPU: 2.4G+2.4G; Memory: 1GB; Hard Drive: 60GB Azure Small Instance: CPU: 1.6GHz; Memory:1.75G; Hard Drive:225G
Ethos’ Approach In addition to saving cost, social cloud platforms can enable new markets and new business models. Thus it is critical to have business owners and IT departments should engaged in analyzing benefits and strategies. Ethos' approach is: 12/10/2010 38
Take away Understand difference and workaround of APIs Build scalable, multi-tenant application for Azure Maximize existing software assets’ value Build secure solutions for Azure Build cost-effective solutions for Azure.
Jobber du med et spennende Azure prosjekt ? Ta i så fall kontakt med Microsoft og du kan få hjelp til: Komme i gang Rådgivning Kursing Holde deg oppdatert Ta kontakt med: Petter Merok (email@example.com) Børge Hansen (firstname.lastname@example.org)
Thanks! Contact us via: Ronny.Hansen@ethostech.no Twitter @RonnyHan Blog http://ronnys-geek-blog.blogspot.com/
Ethos Cloud Computing Case Study UfidaChanjet 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.
Ethos Cloud Computing Case Study Qiming QAF Qiming is leadingsoftware providerin the automotive industry. Qiming owns one of the largest datacenters in China.Ethos is working with Qiming to enable Qiming’scritical development platform QAF to work on the cloud.
Ethos Cloud Computing Case Study ChangeTech An online cloud computing service to help people change habits, lifestyles and personal qualities. Very popular public health service in Norway. One of the first commercial Azure application in the world. Developed by Ethos.