Move a «classical» asp.net application from on premise to the Cloud, on the Windows Azure Platform. – And understand the benefits of this step.

Slides:



Advertisements
Similar presentations
What Is Azure ! Thierry Gasser Technical Solution Professional (TSP)
Advertisements

Page 1 Ricardo Villalobos Windows Azure Architect Evangelist Microsoft Corporation Designing, Building, and Deploying Windows Azure applications.
Azure Services Platform Piotr Zierhoffer. Agenda Cloud? What is Azure? Environment Basic glossary Architecture Element description Deployment.
November 3rd, 2010 COMS W Outline Overview of Azure Key Components A. Windows Azure B. SQL Azure C. Windows Azure Platform AppFabric Demos HelloCloud.
Overview Of Microsoft New Technology ENTER. Processing....
2009 Software as a service Platform as a service Infrastructure as a service Service platform Cloud platform Cloud computing Grid computing Private.
12 → Wed Umbraco User Group Kristofer Liljeblad Windows Azure Kristofer Liljeblad, Microsoft Developer Evangelist
Windows Azure for scalable compute and storage SQL Azure for relational storage for the cloud AppFabric infrastructure to connect the cloud.
Ronnie Saurenmann Principal Architect Microsoft Switzerland
Platform as a Service (PaaS)
Cloud Computing Systems Lin Gu Hong Kong University of Science and Technology Sept. 21, 2011 Windows Azure—Overview.
Manage & Configure SQL Database on the Cloud Haishi Bai Technical Evangelist Microsoft.
WINDOWS AZURE STORAGE 11 de Mayo, 2011 Gisela Torres – Windows Azure MVP Aventia-Renacimiento Twitter:
Cross Platform Mobile Backend with Mobile Services James
Windows Azure SQL Database and Storage Name Title Organization.
A Brief Overview by Aditya Dutt March 18 th ’ Aditya Inc.
Lecture 8 – Platform as a Service. Introduction We have discussed the SPI model of Cloud Computing – IaaS – PaaS – SaaS.
Components of Windows Azure - more detail. Windows Azure Components Windows Azure PaaS ApplicationsWindows Azure Service Model Runtimes.NET 3.5/4, ASP.NET,
Introduction To Windows Azure Cloud
Training Workshop Windows Azure Platform. Presentation Outline (hidden slide): Technical Level: 200 Intended Audience: Developers Objectives (what do.
MSDN Event. WINDOWS AZURE STORAGE Windows Azure Storage Storage in the Cloud –Scalable, durable, and available –Anywhere at anytime access –Only pay.
Microsoft Azure Virtual Machines. Networking Compute Storage Virtual Machine Operating System Applications Data & Access Runtime Provision & Manage.
Austin code camp 2010 asp.net apps with azure table storage PRESENTED BY CHANDER SHEKHAR DHALL
Bring your own machines, connectivity, software, etc. Complete control Complete responsibility Static capabilities Upfront capital costs for the infrastructure.
Windows Azure Tour Benjamin Day Benjamin Day Consulting, Inc.
Virtual techdays INDIA │ august 2010 SQL Azure – Tips and Tricks Ramaprasanna Chellamuthu │ Developer Evangelist, Microsoft.
Your First Azure Application Michael Stiefel Reliable Software, Inc.
Mostafa Abdollahi Mazandaran University Of Science And Technology January 2011.
Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure.
From Virtualization Management to Private Cloud with SCVMM 2012 Dan Stolts Sr. IT Pro Evangelist Microsoft Corporation
WINDOWS AZURE STORAGE SERVICES A brief comparison and overview of storage services offered by Microsoft.
Jim O’Neil Microsoft Developer Evangelist
Intro to cloud computing and Azure. And in a non-Cloud view, there are inefficiencies in addressing those issues TIME IT CAPACITY Actual Load Allocated.
WINDOWS AZURE Scott Guthrie Corporate Vice President Windows Azure
Windows Azure. Azure Application platform for the public cloud. Windows Azure is an operating system You can: – build a web application that runs.
Martin Cairney Hybrid data platform – making the most of Azure plus your on- prem kit DAT341 B.
Windows Azure Cloud Services Anton Boyko.NET developer.
Hosting Websites and Web Applications with Microsoft ® SQL Server ® 2008.
Text Microsoft to Or Tweet #uktechdays Questions?
 Mike Martin  Architect  MEET Member  Crew Member of Azug  Windows Azure Insider  Windows Azure MVP  
Azure in a Day Training: Windows Azure Module 1: Windows Azure Overview Module 2: Development Environment / Portal – DEMO: Signing up for Windows Azure.
Windows Azure poDRw_Xi3Aw.
Enabling the Cloud OS Today  New high-density Web Sites with elastic cloud scaling and complete dev-ops experiences  New rich IaaS experience for self-service.
Microsoft Cloud Computing. Topics to be covered 1.Environmental Features of windows azure 2.What is Cloud Computing 3.Roles in Cloud Computing 4.Benefits.
Technology Drill Down: Windows Azure Platform Eric Nelson | ISV Application Architect | Microsoft UK |
Building Cloud Solutions Presenter Name Position or role Microsoft Azure.
SQL Server 2012 Session: 1 Session: 4 SQL Azure Data Management Using Microsoft SQL Server.
Microsoft Virtual Academy Module 12 Managing Services with VMM and App Controller.
(re)-Architecting cloud applications on the windows Azure platform CLAEYS Kurt Technology Solution Professional Microsoft EMEA.
Windows Azure Boot CampWindowsAzureBootCamp.com. Windows Azure Boot CampWindowsAzureBootCamp.com.
Building web applications with the Windows Azure Platform Ido Flatow | Senior Architect | Sela | This session.
Azure Table Storage Cheap, fast and scalable storage Anton Boyko Ukrainian Azure Community Founder Microsoft Azure MVP
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
Windows Azure Custom Software Development Mobile Middleware Windows Azure Storage Dipl.-Ing. Damir Dobric Lead Architect daenet
Amazon Web Services. Amazon Web Services (AWS) - robust, scalable and affordable infrastructure for cloud computing. This session is about:
Platform as a Service (PaaS)
Platform as a Service (PaaS)
Scalable Web Apps Target this solution to brand leaders responsible for customer engagement and roll-out of global marketing campaigns. Implement scenarios.
Cloud Data platform (Cloud Application Development & Deployment)
Platform as a Service.
Building Applications with Windows Azure and SQL Azure
Scalable Web Apps Target this solution to brand leaders responsible for customer engagement and roll-out of global marketing campaigns. Implement scenarios.
PaaS - Development Stefan Geiger Gerry
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
Outline Virtualization Cloud Computing Microsoft Azure Platform
Managing Services with VMM and App Controller
Saranya Sriram Developer Evangelist | Microsoft
Developing for Windows Azure
Microsoft Azure Services Platform
06 | SQL Server and the Cloud
Presentation transcript:

Move a «classical» asp.net application from on premise to the Cloud, on the Windows Azure Platform. – And understand the benefits of this step.

Storage Server HW Networking Servers Virtualization Your Provider You manage a smart way of hosting applications and data.

Platform as a Service Platform as a Service Storage Server HW Networking Servers Databases Virtualization Runtimes Applications Security & Integration Microsoft You manage a smart way of hosting applications and data.

Platform as a Service Platform as a Service Storage Server HW Networking Servers Databases Virtualization Runtimes Applications Security & Integration Microsoft You manage a smart way of hosting applications and data. ComputeStorageManagem ent Relational dataConnectivityAccess control

High availability by design Data stored in 3 (geo-)redundant copies 24 x 7, 99.9% reliability Scalability by design Elastic Acquisition (and release) of resources on demand Pay for what you consume (or subscribe) Familiar tools & technologies Staging environment (with instantaneous switch)

0 – Setting the stage Web AppSQL DB

Microsoft® SQL Azure™ Database is a cloud-based relational database service built on SQL Server ® technologies.

No physical administration Automatic high availability and fault tolerance Elastic: Easy to provision, deploy, and scale databases up or down based on business needs

No physical administration Automatic high availability and fault tolerance Elastic: Easy to provision, deploy, and scale databases up or down based on business needs SQL Azure TDS SQL Azure TDS Your App Connection String Replica 1 Replica 2 Replica 3 DB Single DatabaseMultiple Replicas

No physical administration Automatic high availability and fault tolerance Elastic: Easy to provision, deploy, and scale databases up or down based on business needs

SQL Server 2008 R2 November CTP Management Studio

1 – Move to SQL Azure Web App SQL Azure

Windows Azure™ is a cloud operating system that provides developers with on-demand compute and storage to host, scale, and manage web applications on the internet through Microsoft® datacenters.

AUTOMATED APPLICATION MANAGEMENT AND CONTROL Fabric: The collection of servers 8 VMs per server Each VM runs customized Hypervisor Windows Server 2008 Fabric Controller performs service management You tell it what to do— it figures out how Automatically scale up, scale down, update or roll application back to a previous version Fabric Controler Fabric Controler

MASSIVE SCALABILITY Scale “out” – not up – by replicating worker instances as needed. Allow applications to scale user and compute processing independently. Two instance types: Web Role & Worker Role Windows Azure applications are built with web role instances, worker role instances, or a combination of both. Each instance runs on its own VM (virtual machine), replicated as needed

Scalable, Scalable, Scalable Easy & fast deployment (and retirement) Self-healing, always up-to-date, performance optimized platform.

Visual Studio 2008 or 2010 Windows Azure Tools for Microsoft Visual Studio Free download Works with Visual Web Developer Express 2008 & 2010 Requires IIS7 w. ASP.NET Application Development components installed Development Fabric Development Storage

2 – Move to Windows Azure Web Role SQL Azure Web Role Development Fabric & Storage

BlobContainerAccount myaccount images Picture1.jpg Picture2.jpg videos Video1.avi / REST and.NET Client Libraries* *Microsoft.WindowsAzure.StorageClient namespace  Windows Azure Managed Library ReferenceWindows Azure Managed Library Reference

3 – Use of Blob Storage SQL Azure Web Role Development Fabric & Storage Blob

WEB ROLE WORKER ROLE Similar to a Web Page Handles incoming HTTP/HTTPS requests Develop with Microsoft and non-Microsoft tools: ASP.NET, WCF, other.NET tools Java, PHP, etc. Similar to a "batch job" or Windows service Initiates their own requests for data or tasks from the queue Can listen for non http/https Incoming traffic (f.i. smtp)

public class WorkerRole : RoleEntryPoint { public override void Run() { // This is a sample worker implementation. Replace with your logic. Trace.WriteLine("WorkerRole1 entry point called", "Information"); while (true) { YOUR LOGIC! Thread.Sleep(10000); Trace.WriteLine("Working", "Information"); } public override bool OnStart() { // Set the maximum number of concurrent connections ServicePointManager.DefaultConnectionLimit = 12; DiagnosticMonitor.Start("DiagnosticsConnectionString"); // For information on handling configuration changes // see the MSDN topic at RoleEnvironment.Changing += RoleEnvironmentChanging; YOUR INITIALILZATION, f.i. to initialize storage access return base.OnStart(); }

Loosely Coupled Workflow - Enables workflow between roles Load work in a queue Producer can forget about message once it is in queue Many workers consume the queue Azure Queue Web Role Worker Role

SQL Azure Web Role Development Fabric & Storage Worker Role Queue Blob 4 – Use of Worker Role (and Queue)

EntityTableAccount myaccount Provides Massively Scalable Structured Storage Table can have billions of entities (rows) and TBs of data customers Name =… = … Name =… = … Name =… = … Name =… = … pictures Picture ID =… Date = … Picture ID =… Date = … Picture ID =… Date = … Picture ID =… Date = …

Each entity can have up to 255 properties Mandatory Properties for every entity PartitionKey & RowKey Uniquely identifies an entity Defines the sort order Timestamp Optimistic Concurrency No fixed schema for rest of properties Each property is stored as a pair No schema stored for a table Properties can be the standard.NET types String, binary, bool, DateTime, GUID, int, int64, and double

Entity Locality Entities in the same partition will be stored together Efficient querying and cache locality Entity Group Transactions Atomically perform multiple Insert/Update/Delete over entities in same partition in a single transaction Table Scalability We monitor the usage patterns of partitions A partition contains all entities in a Table with the same partition key value Automatically load balance partitions Each partition can be served by a different storage node Scale to meet the traffic needs of your table

Table Services are really good for highly efficiently storing and retrieving large amount of structured (not relational) data.

ActivityEntry public class ActivityEntry : Microsoft.WindowsAzure.StorageClient.TableServiceEntity { public ActivityEntry() { PartitionKey = DateTime.UtcNow.ToString("yyyy-MM"); RowKey = string.Format("{0:10}_{1}", DateTime.MaxValue.Ticks – DateTime.Now.Ticks, Guid.NewGuid()); } public string Sport { get; set; } public string StartTime { get; set; } public string LapStartTime { get; set; } public string LapTotalTime { get; set; } public string LapDistance { get; set; } public string LapMaximumSpeed { get; set; } public string PointTime { get; set; } public DateTime PointTimeDT { get; set; } public string PointLatitude { get; set; } public string PointLongitude { get; set; } public string PointDistance { get; set; } public string PointAltitude { get; set; } } ActivityDataContext public class ActivityDataContext : TableServiceContext { public static void CreateActivityTable() { CloudStorageAccount storageAccount = new ConnectionManager().GetStorageAccount(); CloudTableClient.CreateTablesFromModel( typeof(ActivityDataContext), storageAccount.TableEndpoint.AbsoluteUri, storageAccount.Credentials); } public ActivityDataContext(string baseAddress, StorageCredentials credentials) : base(baseAddress, credentials) { } public IQueryable ActivityEntry { get { return this.CreateQuery ("ActivityEntry"); } Microsoft.WindowsAzure.StorageClient namespace  Windows Azure Managed Library ReferenceWindows Azure Managed Library Reference

ActivityEntry public class ActivityEntry : Microsoft.WindowsAzure.StorageClient.TableServiceEntity { public ActivityEntry() { PartitionKey = DateTime.UtcNow.ToString("yyyy-MM"); RowKey = string.Format("{0:10}_{1}", DateTime.MaxValue.Ticks – DateTime.Now.Ticks, Guid.NewGuid()); } public string Sport { get; set; } public string StartTime { get; set; } public string LapStartTime { get; set; } public string LapTotalTime { get; set; } public string LapDistance { get; set; } public string LapMaximumSpeed { get; set; } public string PointTime { get; set; } public DateTime PointTimeDT { get; set; } public string PointLatitude { get; set; } public string PointLongitude { get; set; } public string PointDistance { get; set; } public string PointAltitude { get; set; } } ActivityEntryDataSource public class ActivityEntryDataSource { private ActivityDataContext context = null; public ActivityEntryDataSource() { CloudStorageAccount storageAccount = new ConnectionManager().GetStorageAccount(); this.context = new ActivityDataContext(storageAccount. TableEndpoint.AbsoluteUri, storageAccount.Credentials); this.context.RetryPolicy = RetryPolicies.Retry(3, TimeSpan.FromSeconds(1)); } public List Select() { List results = (from g in this.context.ActivityEntry where g.PartitionKey == DateTime.UtcNow.ToString("yyyy-MM") select g).ToList(); return results; } Microsoft.WindowsAzure.StorageClient namespace  Windows Azure Managed Library ReferenceWindows Azure Managed Library Reference

5 – Use of Table Storage SQL Azure Web Role Development Fabric & Storage Worker Role Queue Table Blob

"skate to where the puck is going, not to where it has been"

Compute Per Service Hour Starting at Chf / service hour + Variable instance sizes Storage Per GB stored & transactions Blob & table Chf / GB Storage Access = Chf 0.11 / 100K Transactions Bandwidth Per GB transfer in or out of a datacenter US/EU Bandwidth = Chf 0.11 in / Chf out / GB Web Edition Per Service Day 1 GB Database Chf / month Business Edition Per Service Day 10 GB Database Chf / month

Virtual Machine - Unit of Compute Defined 1 x 1.6Ghz (moderate IO) 2 x 1.6Ghz (high IO) 4 x 1.6Ghz (high IO) 8 x 1.6Ghz (high IO) Equivalent compute capacity of a 1.6Ghz processor (on 64bit platform) 1.75 GB memory 3.5 GB memory 7.0 GB memory 14 GB memory 250 GB storage (instance storage) 500 GB storage (instance storage) 1000 GB storage (instance storage) 2000 GB (instance storage )

You cannot control the physical resources of SQL Azure For example, you cannot specify the physical hard drive or file group where a database or index will reside. Transact-SQL statements with parameters that allows to specify file groups or physical file paths are to be considered partially supported. see Transact-SQL Support (SQL Azure Database)Transact-SQL Support (SQL Azure Database) No Analysis Services, Replication, Reporting Services, and Service Broker. Most data type are supported but: hierarchyid, geography, geometry, and user-defined CLR data types see Data Types (SQL Azure Database)Data Types (SQL Azure Database)