Azure Cosmos DB

Azure Cosmos DB provides a NoSQL database in Azure premises.  It is globally distributed, highly available, massively scalable database.  It is an extension of the previous DocumentDB which was used for storing databases.

image

Advantages

Following are the Advantages of Cosmos DB.

Scalability It is horizontally scalable

Globally Distributed It is available from multiple edge server end points reducing latency

Multi-Model It supports document, key-value & graph models

Multi-API It supports sql, mongodb, cassandra, azure table, gremlin apis.

Security It is fully & transparently encrypted

Create Cosmos DB

Open Azure Portal  > Search for Cosmos DB > Use Create Option as below.

image

Enter the details in appearing window.

image

You can access the same from Azure Cosmos DB tab from the left.

image

Development

Clicking on the Quick Start pane will give you the Development Code & Samples.

image

Azure Redis Cache

Azure provides the popular Redis Cache service in all the service plans.

History of Redis Cache

Redis Cache is an Open Source caching framework.  Its popularity among developers made Azure adapt it and available to Azure development platform.

Advatages of Redis Cache

Following are the advantages of Redis Cache:

  1. Highly Scalable Redis Cache can be horizontally scaled based on demand
  2. Low Latency Improved availability through edge servers makes low latency in calls
  3. Highly Secure Redis cache provides better security than traditional caches.
  4. Better Data Structure Redis Cache provides storage of cache as key-value pair as strings, hashes, lists, sets and sorted sets.
  5. Better Atomicity through Transactions feature
  6. Persistence Redis Cache allow persisting data into database.

Creating a Redis Cache

Open Azure Portal and choose Create a resource option.  Search for Redis Cache and you will get the following option.

image

In the appearing window we can specify the cache name.

image

Programming

We can use Redis Cache in application as below:


// Open Connection
ConnectionMultiplexer connection = ConnectionMultiplexer.Connect("YOURCACHENAME.redis.cache.windows.net, ssl=true,password=YOURPOASSWORD”);

IDatabase cache = connection.GetDatabase();

// Create Value
cache.StringSet("mykey", "myvalue");
// Retrieve Value
string value = cache.StringGet("mykey");

Access Keys

You can get the Access Keys from the Azure Portal window.

image 
image 

Summary

In this post we have explored about Redis Cache. 

Azure Remote Desktop Access

In this article we can explore how to access an Azure machine using Remote Desktop or RDP client tool. This feature provides flexibility to view the folders & files, set up diagnostics etc.

Azure Portal

Open Azure Portal. You should have at least one Cloud Service instance.

image

Click on the Cloud Service item.

image

In the appearing view click on the Remote Desktop item.

image

Click on the Enabled button & Enter the Credentials.

image

Click the Save button on the top to save changes.

RDP

Now click on Roles and Instances menu, Click on the Web Role Instance & Then Connect button on the top.

image

You will get an RDP file downloaded. Double click on it to open the dialog. Enter credentials.

image

Now you will get the VM opened like below.

image

The Azure VM will be a Windows Server 2012 operating system & the Web Application can be found in E drive.

Summary

In this article we have explored how to use Remote Desktop to Azure VM.

Azure Data Migration

In this article we can explore the Data Migration Assistant Tool of Microsoft. It helps in Migrating your Local SQL Server database to SQL Azure.

Data Migration Assistant

Data Migration Assistant is a Great Tool from Microsoft providing:

· Assessment checks on Compatibility of Source Database

· Actual Migration of Schema & Data

Download

You can download the tool from:

https://www.microsoft.com/en-us/download/details.aspx?id=53595

Running the Tool

After installation, the tool one execution looks like below:

image

We can try Migration using the + button from the left.

Enter the Source & Target database types.

image

image

Connect to the Source server.

image

image

On running the checks, you can see the results below.

image

Actual Migration

Now let us try performing the actual migration.

image

image

image

Click on the Deploy Schema button now.

image

Click on the Start data migration button now.

image

image

You can see the Migration is complete without any errors.

Summary

In this article we have explored using the Data Migration Tool from Microsoft.

Azure Migration Checklist

In this article we can explore the Requirement Checklists while Migrating an ASP.NET application to Azure.

Migration

Azure Migration is a common scenario. The source application could be ASP.NET, ASP.NET MVC etc. Many companies face the question whether they should migrate to Azure or not.

I am producing below the Checklist which can be helpful in making the Migration decision process.

Checklist

Following are the checklist items while you decide to Migrate an existing ASP.NET application to Azure.

ROI Checklist

 

Infrastructure Cost

Calculate the Infrastructure purchase cost & savings through azure.

Support Cost

Calculate the Support Professionals hire cost & savings through azure.

Software Cost

Calculate the Software purchase cost & savings through azure.

Scaling Cost

Calculate automatic scaling up / down flexibility, cost advantages. Compare with existing hosting.

Overall ROI

Find breakeven point. Ensure ROI is better with Azure Hosting.

   

Application

 

Compatibility

Ensure the Application is Compatible with Azure environment.

Dependency

Find depending applications on the Source application & database.

Scalability

Ensure the Azure Scalability, Geographical Redundancy, Edge Servers are meeting your Application requirements.

Hosting Type

Come up with a plan of Public hosting, Private hosting Or Hybrid hosting

Network Traffic

Find the Network Traffic of current Application to ensure Azure pricing won’t give any surprises.

   

ASP.NET

 

Session State

The current ASP.NET session state management may not be compatible with Azure hosting. Conduct a compatibility analysis on same.

Caching

The current ASP.NET Caching mechanism may not be compatible with Azure hosting. Conduct a compatibility analysis on same.

Configuration File

Ensure the app settings, Connection strings are compatible with Azure

   

Database

 

Database Version

Confirm the source database version compatibility with Azure database. If there is Incompatibility, Migration of database to a compatible version required. After that we can perform Azure migration.

Database Size

Confirm the database size is within the limitation & budget for Azure.

Transaction Volume

Ensure the database queries, transaction volume does not exceed the Azure plan. Identify depending applications which queries the database frequently.

Linked Servers

Find out linked servers in existing application & ensure they can be connected to Azure hosting.

   

Security

 

Authentication

Ensure the current Authentication mechanism is compatible with Azure. If not come with a Remediation plan.

Authorization

Ensure the current Authorization mechanism is compatible with Azure. If not come with a Remediation plan.

Active Directory

Ensure Active Directory Users, Roles & Custom Properties are migrated accurately to Azure.

Information Security

Azure involves storing data outside company managed servers. We need to ensure client information security policies align with this.

 

 

Development

 

Developer Machine

Ensure proper Developer machine or VM configuration for Developer

Staging Machine

Ensure proper Stating machine or VM configuration for Staging the application builds

Testing Machine

Ensure proper Testing machine or VM configuration for Tester

   

Deployment

 

VM Deployment

Find out whether the whole application can be deployed as a VM deployment.

Diagnostics

Create Diagnostics plan for Monitoring and Alerting on Response Time, CPU availability, Errors etc.

Disaster Recovery

Ensure backup & recovery methods can be propagated to Azure

   

Testing

 

Performance Testing

Ensure the Application Metrics are compatible with Azure hosting – Average Response Time, Concurrent User Access etc.

Data Testing

Ensure the Data being migrated is accurate

Business Testing

Ensure core business logic, background logic is accurately working in new Azure hosting.

Domain Name Testing

Ensure all the domain names, sub-domain names are Migrated well to Azure

   

We can also migrate PHP application to Azure. In this case most of the Checklist items still applies to PHP application too.

Summary

In this article we have explored key points regarding Azure Migration.

Why Azure?

In this article we can explore the Advantages of Deploying Applications to Azure.

Azure

Azure is a Cloud Computing Service created by Microsoft to build, test, deploy & manage applications.

Azure vs. On-Premises

Azure provides the following Advantages compared with On-Premises:

· No Infrastructure Purchase required & thus saving cost in hardware purchase, upgrade & maintenance.

· Easy Scalability is offered through scaling up of Azure hardware based on demand.

· More Uptime The data centers of Azure provide more Uptime than traditional On-premises data centers and giving More Reliability.

· Reduced Cost due to Subscription based service. No big investment on hardware & software.

· More Security The data centers of Microsoft Azure provide Best Security for data in transit & data at rest.

· More Stability Azure provides multiple copies of application & databases to automatically handle a failover situation. Thus, the Stability is high in Azure.

· Hybrid Support Azure provides more Hybrid deployment scenarios than traditional On-Premise hosting.

image

When to choose On-Premise?

Even though the above advantages are there with Azure, still one may have to choose On-Premise hosting given the following scenario:

· If your On-Premise Hosting Cost is considerably lesser than Azure hosting

· If your Client Data Privacy policy restricts data being hosted outside the country or 3rd party premise.

Hosting in Azure or Or-Premise is a Choice to be made with Good Evaluations on Starting Cost, Ongoing cost & Future scenarios.

Summary

In this article we have explored what are the Advantages of going with Azure hosting.