220 likes | 460 Views
I n troducing Windows Azure. By: Hu Yongjun 10-July-2012. Agenda. Windows Azure Platform Users Benefit from Windows Azure Development and Migration Tools Migration to Windows Azure Application Migration to Windows Azure Database Migration to SQL Azure Session Security.
E N D
IntroducingWindows Azure By: Hu Yongjun10-July-2012
Agenda • Windows Azure Platform • Users Benefit from Windows Azure • Development and Migration Tools • Migration to WindowsAzure • Application Migration to WindowsAzure • Database Migration to SQL Azure • Session • Security
Window Azure Platform • What Is Windows Azure? • Windows Azure Platform is a Platform as a Service (PaaS) offering. It provides an organization with a platform for running Windows applications and storing their data in the cloud. • Three key Parts: TheComputerService, TheStorageService, The Fabric
Window Azure Platform Core Service • Windows Azure SDKs for .NET, Node.js, Java, and PHP provide common tools and resources • Scalable environment for running code, building, debugging, publishing • ComputerEmulatorand Storage Emulator Local Development Environment • Web role – A web role runs in a virtual machine and is customized for web application programming. It supports IIS 7 and ASP.NET. • Worker role – A worker role runs in a virtual machine and use it to perform background processing • VM role – A VM role enables you to define the configuration and updates of the operating system for the virtual machine. Compute • Windows Azure Storage provides blobs, tables, and queues. Blobs - Used to store unstructured binary and text data; Queues - Used for storing messages; Tables - Used to store non-relational structured data. • REST APIs and several client libraries Storage • offers a relational database service. • Data sync service • Reporting • Familiar programming model & tools SQLAzure
Users Benefit from Windows Azure • How do Users Benefit from Windows Azure? • Spend more time coding, less time managing hardware. • Spend more time coding, less time deploying applications. • Isolate your work from others. • Scale your applications up and down • Ensure your application is always available.
Users Benefit from Windows Azure Reduce Management Efforts On Premises On IaaS On PaaS Applications Applications Applications Runtimes Runtimes Runtimes SOA Integration SOA Integration SOA Integration Database Database Database Server SW Server SW Server SW Virtualization Virtualization Virtualization Server HW Server HW Server HW Storage Storage Storage Networking Networking Networking
Benefits to Use Window Azure Easy Scalability Users • Use only resources that you need; • Request more on demand; • Reduce resources if you do not need that many; • The fabric controller takes care of everything for running multiple instances; • Windows Azure makes adding and removing resources dynamic Worker Role Instance Web Role Instance IIS Storage Table Queue BLOB VM
Development and Migration Tools • Visual Studio 2008 or better 2010 • Windows Azure Tools for Microsoft Visual Studio • Windows Azure Development Fabric • SQL Server 2008 Integration Services (SSIS) • The bulk copy utility (BCP.exe) • SQL Azure Migration Wizard
Migration to WindowsAzure Application Migration to WindowsAzure • Convert the ASP.NET application into a Web Role project. • Make sure that your application is 64-bit compatible since Window azure is a 64-bit environment. • Windows Azure runs IIS7 Integrated mode • Not support Session, Membership, Roles and Profile. Use SQL Azure database / Azure Table storage to handle these, or Azure Caching Service – a more expensive way. • Background jobs move to work role • Handle communication between app and background jobs by using Azure Queue or Service Bus • Storage usage – move large objects to Azure BLOB • Email service handling • Logging and Monitoring
ASP.Net App Migration General Database Migration to SQL Azure Database • SQL Azure Database is compatible with SQL Server 2008 R2 • These account names are not allowed: admin, administrator, guest, root, and sa • Maximum number of database is 150 • Maximum size: web edition, 5GB; Business edition: 150GB • Not support Agent/Jobs • Not support distributed transaction • Not support tables without clustered indexes • The default collation: SQL_LATIN1_GENERAL_CP1_CI_AS • Not support server level collation setting • TCP connection via port 1433
Session • One of the essential aspect that we would need to take into account is session state. Traditionally, if you are running one single server, going for default InProc session state will just work fine. However, when you have more than one server hosting your application, this may be a challenge for us. Similarly this scenario applies to Cloud environment.
Session • 1. InProc Session Advantages 1.Very fast access since the session information is stored in memory (RAM) 2.No extra cost as it will be using your VM’s memory Disadvantages This will only valid for single instance. If you use more than one instance, the inconsistency will happen.
Session • 2.Table Storage Session Provider Advantages Cost effective. In essence, Windows Azure Storage only charge you $ 0.15 per GB per month. Disadvantages 1.Not officially supported by Microsoft, 2.Performance may not be very good, 3.Need to clear unused session.
Session • 3. SQL Azure Session Provider Advantages Cost effective. Although it may not be cost effective compare to table storage, it’s still pretty affordable, especially when combining it into the main database. Disadvantages Not official support by Microsoft Need to clear unused session
Session • 4.Windows Azure AppFabric Caching Advantages 1. In memory cache, very fast access 2. Officially supported by Microsoft Disadvantages The cost is relatively high. The pricing starts from $ 45 per month for 128 MB and all the way up to $ 325 per month for 4 GB.
Security • Access Control Service (ACS) • Support external identity providers such as Windows Live, Google, Facebook, and Open ID • HTTP-based authentication mechanism • Account level control of access to Azure storage • Require SSL(Security Socket Layer)communication between app and SQL Azure database