Thursday, February 28, 2013

Microsoft Azure cloud storage service worldwide SSL certificate issue

Microsoft's Azure Cloud Storage service suffered a worldwide SSL secure certificate issue apparently due to the fact that the certificate had expired inadvertently as reported my most news sources.

Below are links to some websites and a link to Windows Azure Service Dashboard.

http://www.theregister.co.uk/2013/02/22/azure_problem_that_should_never_happen_ever/

http://www.windowsazure.com/en-us/support/service-dashboard/


Tuesday, February 19, 2013

Windows Azure Mobile Services

Over the last few years mobile services have taken a gigantic growth and to support it there has been a spurt of BAAS (Backend-as-a-service) offerings to go with.

Developing a cloud backed backend for your mobile app requires lot more effort and when getting your mobile app developed, tested and on to the store, your backend could well be the botteneck.

Not to talk of scaling well for millions of users (when your app gets really popular).

Though there are some BAAS providers out there such as parse.com, stackmob.com and kinvey.com to name a few, Microsoft has entered this space with Azure Mobile Services.

You can check out their blog announcement here: http://weblogs.asp.net/scottgu/archive/2012/08/28/announcing-windows-azure-mobile-services.aspx

There is even a comparison from one the BAAS players aptly named Why is Microsoft competing with Backend as a Service startups? ( http://www.kinvey.com/blog/144/why-is-microsoft-competing-with-backend-as-a-service-startups)


Windows Azure Mobile Services Home Page:
 http://www.windowsazure.com/en-us/develop/mobile/

Getting Started tutorial:
http://www.windowsazure.com/en-us/develop/mobile/tutorials/get-started/


Azure Table Storage - Dynamic Columns

The Windows Azure Table storage service stores large amounts of structured data in the form of entities ( An entity contains a set of properties).
It's a NoSQL kind of datastore and are ideal for storing structured, non-relational data.

Each entity can hold up to 255 properties (including 3 required properties) and the combined size cannot exceed 1 MB.

The three required properties are
"PartitionKey"
"RowKey"
"timestamp"

So, effectively that leaves us with 252 properties to work with.
Entities map to C# Objects. So, programmatically you would declare a class that inherits from "TableEntity".

eg.,
public class CustomerEntity : TableEntity
{
    public CustomerEntity(string lastName, string firstName)
    {
        this.PartitionKey = lastName;
        this.RowKey = firstName;
    }

    public CustomerEntity() { }

    public string Address { get; set; }
   
    public string Email { get; set; }
   
}


If you would like to keep your schema design dynamic as azure table storage supports, there are couple of ways you could do to achieve that.

Here are some links that help you solve it:

http://blogs.msdn.com/b/avkashchauhan/archive/2011/03/28/reading-and-saving-table-storage-entities-without-knowing-the-schema-or-updating-tablestorageentity-schema-at-runtime.aspx

http://developenator.blogspot.in/2011/09/dynamic-type-factory-for-azure-table.html

http://blog.tylerdoerksen.com/2011/10/23/intermediate-table-storage-custom-columns/

http://ruiromanoblog.wordpress.com/2009/05/15/azure-table-storage-with-dynamic-entities-objects/


Wednesday, February 6, 2013

SQL Azure Federation

SQL Azure Federations allows DBAs to scale out their database by federating (sharding) their database. SQL Azure Federation makes it easier to set up the federated databases, and automate the process of adding new federation members.

If you are new to SQL Azure Federation, check out this great blog post on this (SQL Azure Federation – Introduction) by Shaun Xu.

There is a codeplex project that facilitates the process of migrating data from a single database to multiple federation members in SQL Azure Federation.

http://sqlazurefedmw.codeplex.com/

The Project home page also includes links to other resources for learning SQL Azure Federations.






SQL Server vs Azure SQL Database differences

SQL Server Comparison

Focus on logical vs. physical administration
Database and log files automatically placed (no support for Log Shipping, Database Mirroring, etc)
Three high-availability replicas maintained for every database
Tables require a clustered index
Maximum database size is 150 GB (Business edition) 5GB (Web edition)
SQL Server Authentication only

Unsupported SQL Server Features

Use command, distributed transactions, distributed views
Service Broker
Common Language Runtime (CLR)
SQL Agent
Native Encryption
*Backup / Restore


For a more exhaustive list of differences check out this TechNet link (Compare SQL Server with Windows Azure SQL Database) http://social.technet.microsoft.com/wiki/contents/articles/996.compare-sql-server-with-windows-azure-sql-database.aspx