Azure

Tools for Cloud Azure

There are number of tools started coming up for facilitating the Dvelopers as well as the Business Owners who have hosted their apps in Azure Cloud. Here the List of those Tools.

AzureWatch – azurewatch.net
Cost Calculator – azureroi.cloudapp.net
Clumsy Leaf Table and Blob Explorer- www.clumsyleaf.com/
Cloud Storage Studio – www.cerebrata.com
Cerebrata PowerShell Cmdlets – www.cerebrata.com
Greybox – cost limit your dev account – greybox.codeplex.com
SQL Azure Migration Wizard – sqlazuremw.codeplex.com : http://sqlazuremw.codeplex.com/documentation
Lokad Cloud – .NET O/C mapper – lokadcloud.codeplex.com
AzureToolKit – azuretoolkit.codeplex.com
Windows Azure Accelerator for Web Roles :http://waawebroles.codeplex.com/

AzureWatch : Paid :
AzureWatch dynamically adjusts the number of compute instances dedicated to your Azure application according to real time demand. User-defined rules specify when to scale up or down, so that your application will always have enough computing power to process the workload without unnecessary over-provisioning. Freed from worries about capacity and overuse in the cloud, you can concentrate on your core business work.

Cost Calculator : Free
A Simple Silverlight Application help you to calculate the cost involved in Cloud with Migration Cost using a
Calculator Style UI

Clumsy Leaf Table and Blob Explorer : Free
To browse through the Azure Tables and Blobs

Greybox : Open Source
The GreyBox application is designed to alert a user if their Windows Azure compute services are currently running, or are even simply deployed. Great for Azure speakers and POCs you don’t want left running.

SQL Azure Migration Wizard : Open Source
SQLAzureMW is a tool that will help you migrate your SQL Server 2005 / 2008 database to SQL Azure. It looks for patterns that have been identified as incompatible and flags incompatibility issues and fixes them when possible.

Lokad Cloud – .NET O/C mapper : Open Source
Provides a High Level Object to Cloud Mapper API Library to access Cloud Blobs and Other Objects like Que without getting dragged down by low level technicalities.

AzureToolKit : Open Source
Windows Azure Toolkit – Simplified library for accessing Message Queues, Table Storage and Sql Server

Windows Azure Accelerator for Web Roles :Open Source
The Windows Azure Accelerator for Web Roles makes it quick and easy for you to deploy one or more websites across multiple Web Role instances using Web Deploy.

Here the Simple Comparison of these Tools :

Azure

What are the Types of Cost – Azure Cloud

When an Application is running on Cloud it involves some cost apart from getting an Cloud Account.

Here some of them :

1. Items commissioned for you: Example of this include any VMs commissioned for your applications. You will pay irrespective of whether anybody is using your applications or not. So let’s say if you host a website in just 1 Extra Small VM for one month, you will pay $0.05 (Cost / Hour) * 720 (Hours in a month) = $36.00. If you deploy your application in 2 VMs (or “you have 2 instances of your role” as they say in Windows Azure lingo), you’ll pay $72.00.

2. Transaction costs: If your application is making use of Windows Azure Storage, anytime you do a successful operation on the objects in Windows Azure storage, you’re charged a transaction fees. Currently I believe you pay about $0.10 for 10,000 storage transaction but please check the pricing page for most current information.

3. Storage costs: If you are storing some data in Windows Azure Storage, you are charged a fee based on how much data you’re storing in Windows Azure Storage.

4. Bandwidth costs: Any bandwdith consumption is again chargeable.

 

Note :

Delete your deployments when they are not being actively used.

Windows Azure charges for compute hours based on active deployment of a service, not on whether that service is currently working on a task. When you know your service will be down for an extended period of time, delete that deployment to avoid charges.

For More Details about Pricing :

http://www.microsoft.com/windowsazure/pricing/

Azure, Technology, Uncategorized

Windows Azure Table Storage vs. Windows SQL Azure

Table Storage and SQL Azure Defined

First, allow me to backup and set the stage a little for this discussion.  SQL Azure is essentially SQL Server in the Microsoft cloud computing environment known as Azure.  That is not quite true in that SQL Azure currently has a number of limitations and unsupported features that SQL Server 2008 has (here is a starter list of limitations:  http://msdn.microsoft.com/en-us/library/ee336245.aspx).  I like to say that SQL Azure is either SQL Server 2008 minus or SQL Express plus depending on how you want to view it.  Table Storage is one of three alternate storage mechanisms built into Azure that is collectively called Windows Azure Storage Services.  The other two being queues and blobs.  Table Storage allows you to store serialized entities in a table, but the term table here  is not a relational database table.  To provide people with some analogy they can use to get their arms around Table Storage, I like to tell people to think of Table Storage as a fancy spreadsheet.  You can store the state of your entities in the columns of the spreadsheet.  However, there is no linkage or relationship (therefore joins) between entities – at least none that is automatically managed and maintained by Azure.  There are no custom indexes – at least not today.

Interestingly, when Azure was first introduced in 2008, SQL Server was not part of the original picture.  Because of developer negative reactions, SQL Azure was added to the next preliminary release in 2009.  There is a growing faction that is trying to get the software community to look at SQL alternatives.  The “No-SQL” community (see here and here), to some extent, has influenced part of the Azure cloud computing platform through the Table Storage option, but not enough to eliminate it from the Microsoft cloud.

While both SQL Azure and Azure Table Storage provide data persistence via table structure, there are a number of differences between them.  The sections below outline some of the key differences and factors you want to weigh before building an application for Azure that requires some form of table persistence.

Scale and Performance

When looking at sheer volume, Table Storage is today far more scalable than SQL Azure.  Given a storage account (storage accounts hold blobs, queues and tables) is allowed to be 100TB in size, in theory your table could consume all 100TB.  At first glance, a 100TB chunk of data may seem overwhelming.  However, Table Storage can be partitioned.  Each partition of Table Storage can be moved to a separate server by the Azure controller thereby reducing the load on any single server.  As demand lessens, the partitions can be reconsolidated.  Reads of Azure Table Storage are load balanced across three replicas to help performance.

Entities in Table Storage are limited to 1MB each with no more than 255 properties (3 of which are required partition key, row key, and timestamp).  That seems like an absurd number, and it is, but remember that there are no relationships and joins in Table Storage.  Therefore, you might need some wide tables to handle associated data.

Today, SQL Azure databases are limited to 1GB or 10GB.  However, sometime this month (June 2010), a 50GB limit is supposed to be available.  What happens if your database is larger than 10GB today (or 50GB tomorrow)?  Options include repartitioning your database into multiple smaller databases or sharding (Microsoft’s generally recommended approach).  Without getting into the database details of both of these database design patterns, both of these approaches are not without issue and complexity, some of which must be resolved at the application level.

Data Access

Data in the cloud, be it in SQL Azure or Azure Table Storage, can be accessed from in or out of the cloud.  To access data in SQL Azure, all the standard tools and APIs apply that work with SQL Server.  Meaning, your existing .NET/SQL Server knowledge and experience can be heavily leveraged.  ADO.NET and ODBC APIs can be used by application code to access the SQL Azure database.  Tools like SQL Server Management Studio and Visual Studio can be pointed to the SQL Azure instance and manipulate the schema and data just as you do today with SQL Server.

Access to Azure Table Storage is accomplished either via REST API or Storage Client Library provided with the Windows Azure SDK.  Using the REST API allows client applications to communicate and use data from Table Storage without having detailed and specific knowledge of an Azure API, but it is more complex and difficult to work with.  The Storage Client Library (which leverages LINQ to Objects) provides a layer of convenience but requires the application reference the Storage Client Library APIs.  REST and the Storage Client Library incur a learning curve that is typically not there when using SQL Azure.

Portability

As mentioned, data in SQL Azure and Table Storage can be accessed from applications in and out of the cloud.  That means applications can be moved in or out of the cloud and still deal with the data in the cloud in the same way.  However, one question that may need to be considered is whether the data must always live in the cloud?  Applications generally view data in SQL Azure similar enough to data in a normal SQL Server database as to allow the data to migrate back and forth between the cloud and on-premise databases.  In fact, there are even migration tools to help move data between instances of SQL Server and SQL Azure.

However, given the unique nature and access APIs of Table Storage, portability of the data is not as straight forward.  Table Storage tightly couples your data to the cloud.  Moving the data out of the cloud would require an on-premise data storage alternative, a data migration strategy, and likely require application code changes.

Transactions and Concurrency

SQL Azure supports typical ACID transactions for work within the same database.  Transactions across databases are not supported.  SQL Azure allows for typical optimistic and pessimistic concurrency strategies.

Table Storage supports transactions for entities in the same table and table partition, but not across tables or partitions.  Additionally, only 100 operations or less (what is called a batch in Azure Table Storage) can be part of the transaction.  Only one operation can be performed on each entity in the batch, and the batch must be limited to 4MB.  Table Storage abides strictly by an optimistic concurrent strategy.  If, on commit of the transaction, data has been changed by another process the whole transaction must be rolled back and retried.  Due to this single concurrency strategy, a built-in retry option is provided with the Storage Client Library.

Queries

Using Table Storage, queries are limited to 1000 entities by default.  If more than 1000 entities are found, a continuation token is returned and must be used by the application to retrieve the next set of entities.  Queries that take longer than 5 seconds also return a continuation token.  Queries that take longer than 30 seconds are cancelled.  Data in Table Storage is organized by partition key and indexed by row key.  Because there are no custom indexes in tables, queries by partition key and row key are fast, but queries that do not use partition key and row key are slow.

Generally speaking, SQL Azure has no limitations, issues or special programming requirements to work with large queries.  Good database and index design can help improve performance of queries; especially large ones.

Column types

Columns in Table Storage are limited to the types in the table below.

byte[]
bool
DateTime
double
Guid
Int32 or int
Int64 or long
String

Cost

Perhaps the most unique aspect to designing and architecting applications for the cloud is that it requires developers to think like businessmen.  Each technical choice often has direct costs associated with it when developing for the cloud.  The choice in data storage can have a huge impact on the cost of running an application.

Azure Table Storage costs 15? per GB of storage per  month.  Additionally, you pay 1 cent per 10,000 transactions with Table Storage.  SQL Azure costs are $9.99 for 1 GB of storage per month ($99.99 for 10GB).

See Microsoft’s sight for more details and specifics on costs here.

Bottom Line

Chris Hay and Brian Prince in their forth coming book Azure in Action (published by Manning – see here) provide a synopsis of the SQL Azure vs. Table Storage in a few paragraphs.  “If size is the issue, that would be the first flag that you might want to consider Azure Tables. As long as the support Tables has for transactions and queries meets your needs. The size limit surely will, at 100TB.”  Further they suggest sophisticated transactions, or a complex authorization model might require the services of SQL Azure.  And as shown by the cost table above, “The final consideration is cost. I can store a lot of data in Azure Tables for a lot less money than I can in SQL Azure. SQL Azure is giving me a lot more features to use (joins, relationships, etc.), but it does cost more.”

Future

We are given every indication by Microsoft that SQL Azure will have far more capability in the future – akin to the SQL Server you might find in your data centers today.   So some of the comparison above may be moot or less important over time.  Additional functionality is also being proposed to Table Storage as well.  For example, support of secondary (non-key) indexes is already been suggested for a future release (see here).  However, key architectural differences between SQL Azure and Table Storage will remain and leave application designers having to pick the best option for their systems.  Welcome to cloud computing.  There is a lot of ROI to be had by running in the cloud, but only with proper application design and architecture.

If Intertech can help you  negotiate the issues of cloud computing, please contact Ryan McCabe at ryan.mccabe@intertech.com.

 

Credits : http://www.intertech.com/blog/post/windows-azure-table-storage-vs-windows-sql-azure.aspx

Azure, Technology

Migrating to Azure Cloud – Review

As our Business grows bigger and bigger it becomes an additional Overhead to manage the Hardware and Software Application. If you want to get rid of this to an extent its the time to join in the Buzzing of Migration to Cloud.

Here some checklist before Migrating to Azure Cloud :

1.Identify the Purpose of Migration. Are you looking for Storage to store your documents, images and other files to have a better place on the cloud? OR you looking to just use the compute to processing purposes.

2.Make sure your existing application is compatible to Migrate to Azure. If you are using Access Database then you need to consider to first migrating them and compatible with SQL Sever Database Version. Then try Migrating to SQL Azure in the Cloud.

3.If you are using Windows based Application, you can simply set the connection string to point to the SQL Azure

4.If your application going to access the Blob Storage then decide the Containers which needs to private and public

 

 

 

 

 

Mobile, Technology

Android + Tablet = Digital World Renewed

Android’s latest version “Honeycomb” is tailored for the new generation of tablet-sized computers.

Recently in an event organized by Google at its headquarters  “Mountain View, CA, United States” , it demonstrated the software features of the latest Android 3.0 HoneyComb.

The key features include:

  • New, slick looking homescreen widgets, emphasised by Google and touted as a “developer platform in itself”.
  • An overhauled notification system. If you’re a fandroid, you’ll no doubt welcome the refresh with open arms. The unobtrusive notifications are rich in that they can function like widgets and contain rich content like pictures.
  • A performance optimised 2D and 3D experience with “Renderscript” that allows for beautiful application animations and 3D interfaces.
  • A new camera UI.
  • Video chat image stabilization that apparently saves bandwidth because the image stays more uniform for longer.

Check out the demonstration video here

Also check out the features of Motorola Xoom embedded with the HoneyComb OS

Azure, Technology

Cloud Computing : Short Definition

What do you going to reply when someone asks about Cloud Computing ?

Here some notes to respond them quickly.

Reply Level 1 : Remember the Letter (OSSM – Read it Awesome)

O : On Demand

S : Scalable

S : Self – Service

M : Measurable

Reply Level 2 :

Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.

Reply Level 3 :

Cloud computing refers to the use and access of multiple server-based computational resources via a digital network, Internet connection using the World Wide Web, etc.). Cloud users may access the server resources using a computer, net book, tablet computer, smart phone, or other device. In cloud computing, applications are provided and managed by the cloud server and data is also stored remotely in the cloud configuration. Users do not download and install applications on their own device or computer; all processing and storage is maintained by the cloud server. The on-line services may be offered from a cloud provider or by a private organization

 

 

Azure, Technology

Windows Azure & How to Deploy Wordress

Microsoft Cloud Service Windows Azure is not Just meant for Microsoft Platform and Technologist like .Net , ASP.Net etc.

It can able to extend to other Languages too like PHP Java etc.

Here some of the Articles explain how to deploy a PHP Based WordPress Application to Windows Azure

 

http://blogs.msdn.com/b/jimoneil/archive/2010/09/19/windows-azure-companion-php-and-wordpress-in-azure.aspx

Slide : http://www.slideshare.net/gkanel/windows-azure-how-to-deploy-wordress

 

http://blogs.msdn.com/b/jimoneil/archive/2010/09/19/windows-azure-companion-php-and-wordpress-in-azure.aspx

Azure, VRX Studios

Azure – Ten most required tools for effective development

http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/COS210

Any platform, by its own nature, creates an ecosystem for third-party tools and helpers. Windows Azure is no different. In this session we look at a variety of the third-party tools available in the Windows Azure ecosystem. Included are tools for both developers and IT professionals. We look at tools that will help manage storage and resources, migration, scaling, diagnostics and software components that will help you build cloud applications.
Getting your first site up is a bit of a learning curve, it will take a couple of days to get really familiar with Azure and it’s little quirks. However once you are past that you can develop for it like you do for normal asp.net websites. 

Pricing: Microsoft is still struggling with understanding pricing. They have done a great job with SQL Azure (basically you pay $0.3 per day per gig) but completely missed the boat with pricing for their NoSQL store, which is transactional priced (1 mil transactions =  $1). As of now pricing for NoSQL does not work for really large scale sites, although I assume that you can talk to Microsoft directly about that when you have that much traffic.

Logging: Logging/Tracing exists but there are only very few tools out there that support it (www.cerebrata.com  for example). However I think that a lot will happen in 2011 in this space.

Continuous Deployment: That’s a real pain right now. The whole Microsoft stack is not really designed for lean startups so you have to cut a lot of corners to make that happen. It is somewhat doable, but takes a lot of time.

Any platform, by its own nature, creates an ecosystem for third-party tools and helpers. Windows Azure is no different. In this session we look at a variety of the third-party tools available in the Windows Azure ecosystem. Included are tools for both developers and IT professionals. We look at tools that will help manage storage and resources, migration, scaling, diagnostics and software components that will help you build cloud applications.