Differences Between On Premise And Windows Azure

Post on 09-Dec-2014

2637 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

What are the main differences between On-premise and Windows Azure? What does it mean for the Kentico CMS running in the Cloud?

Transcript

Differences between On-premise and Windows AzureDominik Pintér (dominikp@kentico.com), Kentico software

Agenda

• What Kentico CMS needs to run on Azure• Windows Azure doesn‘t have durable NTFS file system• No write access to the application directory• Application must be stateless• SQL Azure – little bit different database• Windows authentication• Differences in development• Azure SDKs

What Kentico CMS needs to run on Azure

Kentico CMS 5.5 R2:• Windows Azure compute services (ASP.NET web role)• Optionally Windows Azure storage (blob storage)• SQL Azure

SQL AzureASP NET Web role

Azurestorage

Durable NTFS file system is missing

Storage Can be used as file system?

Queue This storage is definitely useful BUT not for file system

Table Can be used only as a storage for metadata because of size limitations

Instance local storage NTFS filesystem but not durable, not scalable, data only on one instance

Blob Great replacement, durable, scalable, simulation of tree via virtual directories

Blob storage is manipulated by special API, two options:• Use Azure drive – mount blob storage as NTFS file system, limited for Read/Write to one instance (Kentico CMS 5.5 R2)• Use blob API directly – code changes needed, no limitations (Kentico CMS 6.0)

No write access to application directory

Current situation:• You shouldn‘t write anything to application directory• Some operations are allowed, most of them aren‘t• Data between instances aren‘t synchronized• Instance data aren‘t durable

Problems from Kentico CMS point of view:• Modules: Web analytics, Smart search (solved using Azure

drive)• Database install• Import/Export

Application must be stateless

Challenges1. Synchronization of memory objects2. Storing of session state data

Solution3. Web farms module (6.0)4. Use Azure session state provider

Load balancer

Instance 1

Instance 2

Instance 3

• Multi VMs environment• Load balancer • Round robin algorithm

Application must be stateless

On-premise session state providers

Azure session state providers

Session state provider Where stores data? Can be used?

In proc Process memory Only 1 instance

State server Instance Only 1 instance

SQL Server SQL database No

Session state provider Where stores data? Disadvantage

Sample provider from MS Blob storage/table Not predictable price

SQL Azure SQL Azure Needs additional handling

Azure Appfabric cache Azure Appfabric cache CTP

SQL Azure – little bit different database

Few general differences:• Main difference – SQL is relation database without additional

features (Reporting services, integration services, ...).• Reporting services are now in CTP• Missing fulltext support• Every table needs to have at least one clustered index

From Kentico CMS point of view:• No problem, question of changing connection string• SQL migration wizard, http://sqlazuremw.codeplex.com/

Windows authentication

• Integrated Windows authentication doesn‘t work with ASP.NET web role

• WebDAV integration needs this type of authentication• Possible solution – Windows Azure Connect

Differences in development

• Application which run under ASP.NET web role must be Web application project

• Kentico CMS 5.5 R2 – web site project• New type of project, new configuration files

Azure SDKs

• Multiple versions• Kentico CMS supports SDK 1.1 upper (latest is SDK 1.4)• Breaking version – SDK 1.3, full IIS support, remote desktop, ...• SDK 1.2 and lower – setting for internal role port is missing –

minor issues with Kentico CMS• SDK 1.3 and upper – Visual studio 2010 needed, issue with

running Kentico CMS under full IIS in Visual studio – bug in SDK

Q&A

?

Thank you!E-mail: dominikp@kentico.comTwitter: DominikPinterBlog: http://devnet.kentico.com/Blogs/Dominik-Pinter.aspx

top related