Search This Blog

Tuesday, November 30, 2010

SQL Azure Federation

Redmond Diary

SQL Azure Federation: Is it "NoSQL" Azure too?

With all the noise (not to mention the funk) around HTML5 and Silverlight at PDC 2010, we could be forgiven for missing the numerous keynote announcements about Windows Azure and SQL Azure. And with all those announcements, we could be forgiven for missing the ostensibly more arcane stuff in the breakout sessions. But one of those sessions covered material that was very important.
That session was Lev Novik's "Building Scale-out Database Applications with SQL Azure," and given the generic title, we could be further forgiven for not knowing how important the session was. But it was important. Because it covered the new Federation (aka "sharding") features coming to SQL Azure in 2011. Oh, and by the way, you'd also be forgiven for not knowing what sharding was. Perhaps a little recent history would help.

When SQL Azure was first announced, its databases were limited in size to 10GB, in the pro version of the service. That's big enough for lots of smaller Web apps, but not for bigger ones, and definitely not for Data Warehouses. Microsoft's answer at the time to criticism of this limitation was that developers were free to "shard" their databases. Translation: you could create a bunch of Azure databases, treat each one as a partition of sorts, and take it upon yourself to take the query you needed to do, and divide it up into several sub queries -- each one executing against the correct "shard" -- and then merge all the results back again.

To be honest, while that solution would work and has architectural merit, telling developers to build all that plumbing themselves was pretty glib, and not terribly actionable. Later, Microsoft upped the database size limitation to 50GB, which mitigated the criticism, but it didn't really fix the problem, so we've been in a bit of a holding pattern. Sharding is sensible, and even attractive. But the notion that a developer would have to build out all the sharding logic herself, in any environment that claims to be anything "as a service," was far-fetched at best.

That's why Novik's session was so important. In it, he outlined the explicit sharding support, to be known as Federation, coming in 2011 in SQL Azure, complete with new T-SQL keywords and commands like CREATE/USE/ALTER FEDERATION and CREATE TABLE...FEDERATE ON. Watch the session and you'll see how elegant and simple this is. Effectively, everything orbits around a Federation key, which then corresponds to a specific key in each table, and in turn determines what part of those tables' data goes in which Federation member ("shard").

Once that's set up, queries and other workloads are automatically divided and routed for you and the results are returned to you as a single rowset. That's how it should have been along. Never mind that now.

Sharding does more than make the 50GB physical limit become a mere detail, and the logical size limit effectively go away. It also makes Azure databases more elastic, since shards can become more or less granular as query activity demands. If a shard is getting too big or queried too frequently, it can be split into two new shards. Likewise, previously separate shards can be consolidated, if the demand on them decreases. With SQL Azure Federation, we really will have Database as a Service... instead of Database as a Self-Service.

But it goes beyond that. Because with Federation, SQL Azure gains a highly popular feature of so-called document-oriented NoSQL databases like MongoDB, which features sharding as a foundational feature. Plus, SQL Azure's soon-to-come support for decomposing a database-wide query into a series of federation member-specific ones, and then merging the results back together, starts to look a bit like the MapReduce processing in various NoSQL products and Google Hadoop. When you add to the mix SQL Azure's OData features and its support for a robust RESTful interface for database query and manipulation, suddenly staid old relational SQL Azure is offering many of the features people know and love about their NoSQL data stores.

While NoSQL databases proclaim their accommodation of "Internet scale," SQL Azure seems to be covering that as well, while not forgetting the importance of enterprise scale, and enterprise compatibility. Federating (ahem!) the two notions of scale in one product seems representative of the Azure approach overall: cloud computing, with enterprise values. 

Posted by Andrew J. Brust on 11/23/2010 at 6:46 AM

All-In-One Windows Azure Code Samples

Download Windows Azure Code Samples

Connect SQL Azure DB using Web Role

Hi Friends,

Unable to connect to SQL Azure DB directly? Having Firewall problems? 
Want an alternate way ??

Check this link below for answers:

Thursday, November 25, 2010

SharePoint 2010 Easy Setup Script

Today Chris Johnson released a new tool to help setup a SharePoint 2010 developer machine. 

In order to make this process as easy as possible they have created a series of PowerShell scripts that automate the entire process of building a fully running and ready to go SharePoint 2010 environment. The scripts are highly configurable, but out of the box they will download all of the required software, install all of the SharePoint prerequisites, install other software such as Visual Studio and Office. The script will then install and configure SharePoint 2010. And finally the script will provision a site. 

There are really three options to develop SharePoint solutions.
  1. The first option is to remote desktop in to a hosted instance of SharePoint. This may be an option for many larger companies that have a good server and support infrastructure it is often not an option for smaller companies.
  2. The second option is to download and run the Information Worker VHD that has everything already setup and preconfigured. This is a very easy way to get started but it requires a machine with 8GB of RAM and capable of running Hyper-V. Again many smaller companies and independent developers can’t meet these requirements.
  3. The third option is to install SharePoint directly onto your machine running Windows 7 64bit. The downside to this option is that it requires a steep learning curve to understand how to setup and install all of the bits and pieces to have a full SharePoint developer environment. This is where the Easy Setup Script comes in. The goal of the Easy Setup Script is to reduce the learning curve and time for a casual developer to get started.

Download SharePoint Easy Setup Script

Wednesday, November 24, 2010

Sunday, November 21, 2010

What's New in Windows Azure

Now that PDC is over and all the announcements are out, I want to share my viewpoint and insights into what was announced at PDC last week.

Most of the features that got announced are not available yet and will be in CTP form early next year. Here is a quick summary of what’s coming to Windows Azure in the near future. There are broadly classified into platform enhancements, enterprise features and developer productivity.

Platform Enhancements

  • VM Role – Web Role and Worker Role are boilerplate VMs to do specific kind of tasks. VM Role is a very generic VM that can be customized to run anything including legacy applications. VM Role will support Windows Server 2008 R2 images initially with support for other versions of Windows Server in the pipe. It is not clear if VM Role will run non-Windows OS images.
  • Admin Mode – Through this mode, you can gain more control by running MSI or installing custom software during the startup phase of a VM. This will bring more control to Web Role and the Worker Role without compromising the flexibility of automated management capabilities.
  • Full IIS Support – Till now, the Web Role ran a Hosted Web Core to host web applications. It was not a symmetrical web stack that typically runs on a Web Server. By supporting full IIS capabilities, developers can host multiple websites and tweak the web application platform like the way they do it on a Web Server.
  • Extra Small Instances – This is a new size of VM that costs only $0.05 / hour. This is great for playing with the platform or to spin a bunch of VMs for parallel processing. Applications can be deployed in Extra Small Instances during debugging /testing and can be sized appropriately for the production.

Enterprise Features

  • Cross Premise Connectivity – Enterprises can easily and securely extend their IP subnet to Azure VMs. This delivers on the promise of Windows Azure as an extended data center. When combined this with the VM Role features, this is a killer offering for the enterprises. Major concerns like security, latency and seamless integration with on-premise integration will be addressed through this feature.
  • Join VMs to Domain – VMs running within Windows Azure can join an existing Active Directory domain in an enterprise. With this, authentication and authorization becomes easy and powerful. Even internal line of business applications that depend on NTLM authentication can be moved to Windows Azure.
  • System Center Monitoring Management Pack – Through this, enterprises can manage and monitor the health of Azure VMs through the familiar System Center Operations Manager console. This is a great feature for instrumenting and managing the health of apps running within Windows Azure.

Developer Productivity

  • Enhanced Developer Portal – Built using Silverlight, the new Windows Azure developer portal offers a refreshing interface to manage the cloud infrastructure. It is faster, powerful and flexible to manage Windows Azure (Compute & Storage), SQL Azure and AppFabric features.
  • Remote Desktop – This is a killer feature! With this the administrator can log on to a running Web Role or a Worker Role to interactively configure and manage the instance. This will reduce the friction in managing and deploying apps on Azure.
  • Enhanced Developer Tools – There are a lot of enhancements to the Dev Fabric, Visual Studio tools and even Eclipse. Dev Fabric will support VM Role and updating content in a Web Role without redeploying the whole application. PHP and Java SDK for Windows Azure is also refreshed.

Through these announcements Microsoft made a strong statement that they are serious about Cloud. Here are some underlying messages that come out:

  • Blur the line between IaaS and PaaS – Microsoft never over emphasized on Windows Azure being just a PaaS platform. The plans of baking custom VMs into Windows Azure were there from day one. Today it is hard to qualify Windows Azure as just PaaS or IaaS. It is actually both!
  • Windows Azure is the true Cloud OS – Taking off from the initial vision that Ray Ozzie articulated in PDC 2008, Windows Azure has emerged as the true Cloud OS that powers the whole datacenter. So, Windows Azure to datacenter is what Windows is to the Server. Windows Internal’s guru, Mark Russinovich’s Inside Windows Azure talk emphasized this fact in many words.
  • Go head-on with Amazon – This is very clear! Windows Azure Platform has many pieces that are directly comparable and compete with Amazon Web Services. With VM Role, Extra Small VM Size, Cross-Premise Connectivity and a host of other features Windows Azure brings parity with Amazon Web Services.
  • Establish Azure as the first and only generic PaaS – Microsoft is serious about on-boarding the PHP and the Java community on Windows Azure. The investments in Eclipse plug-in, PHP SDK and the Java SDK will payback Microsoft in the longer run. Windows Azure is truly becoming a meta-platform that can support popular runtimes and platforms including .NET, Java and PHP.
  • Appeal to enterprises – Finally, there is a convincing and compelling story that Microsoft can tell the enterprises on why they should embrace Windows Azure. AppFabric, VM Role, Remote Desktop, Cross-Premise connectivity and other features reduce the barriers for enterprise adoption.

Reference:
http://www.janakiramm.net/blog/windows-azure-whats-new

Comparing Microsoft Windows Azure and Amazon Web Services – Part 1/7

The two entities that dominate the enterprise Cloud Computing landscape are undoubtedly Microsoft Windows Azure and Amazon Web Services. Though Google App Engine is maturing rapidly, I am not planning to cover it in this series. I may compare Windows Azure and Google App Engine in a separate article.

With the latest announcements from PDC, Microsoft is inching closer to Amazon Web Services to match the offerings. Windows Azure is also blurring the line between PaaS and IaaS by offering VM Role that enables businesses to bring their legacy applications to the Cloud. Microsoft is leveraging the leadership in the platform and tools by seamlessly integrating the Cloud with .NET and Visual Studio.

Amazon is a very credible player in the Cloud Computing space and enjoys the leadership position in the IaaS offerings. Their fast paced innovations ensure that they have a lead and help them differentiate from the competition. They have a very healthy ecosystem of partners and developers who build rich and complimentary tools on AWS.

This series of articles attempts at comparing the Windows Azure Platform and Amazon Web Services. The objectives of this series are the following –
  • Provide objective comparison between the two
  • Enable enterprises and ISVs to take an informed decision
  • Avoid marketing speak and buzz words
  • Be neutral and unbiased in the approach
The following table provides a quick comparison of both the platforms.

Microsoft Windows Azure Platform and Amazon Web Services
Microsoft Windows Azure Platform and Amazon Web Services
Looking at the above, it is evident that these two stacks will go head-on to secure the mind share and market share. While Microsoft is moving some of the middleware components from BizTalk Server to Azure, Amazon is leveraging it’s payment mechanism and components for AWS. Windows Azure will be the most comprehensive PaaS offering once all the above components are delivered.

In the next few articles, I will be providing a detailed study of Compute and Storage offerings from these two players. Expect to see the following technologies to be covered:
  • Compute
  • Storage

    • Flexible Entities (Azure Tables / Amazon SimpleDB)
    • Blobs (Azure Blobs / Amazon S3)
    • Queues and Messages (Azure Queues / Amazon SQS)
    • Persistent Block Storage (Azure Drive / Amazon EBS)
    • Relational Database (SQL Azure / Amazon RDS)
The comparison study will cover the following factors –
  • Terminology
  • Size / Unit

  • Limitations
  • Pricing
  • Security
  • Language and Tools Support
Watch this space for the next part of the series where I will be covering Amazon Elastic Compute Cloud with Windows Azure Compute.

Wednesday, November 17, 2010

Windows Azure Diagnostics–Where Are My Logs?

Recently I noticed that lot of developers who are just starting to use Windows Azure hit issues with diagnostics and logging. It seems I didn’t go the same path other people go, because I was able to get diagnostics running from the first time. Therefore I decided to investigate what could possibly be the problem.

I created quite simple Web application with only one Web Role and one instance of it. The only purpose of the application was to write trace message every time a button is clicked on a web page.

In the onStart() method of the Web role I commented out the following line:DiagnosticMonitor.Start("DiagnosticsConnectionString");

and added my custom log configuration:
DiagnosticMonitorConfiguration dmc =
DiagnosticMonitor.GetDefaultInitialConfiguration();
dmc.Logs.ScheduledTransferPeriod = TimeSpan.FromMinutes(1);
dmc.Logs.ScheduledTransferLogLevelFilter = LogLevel.Verbose;

DiagnosticMonitor.Start("DiagnosticsConnectionString", dmc);

Here is also the event handler for the button:

protected void BtnSmile_Click(object sender, EventArgs e)
{
    if (this.lblSmile == null || this.lblSmile.Text == "")
    {
    this.lblSmile.Text = ":)";
    System.Diagnostics.Trace.WriteLine("Smiling...");
    }
    else
    {
    this.lblSmile.Text = "";
    System.Diagnostics.Trace.WriteLine("Not smiling...");
    }
}This code worked perfectly, and I was able to get my trace messages after about a minute running the app in DevFabric.

After confirming that the diagnostics infrastructure works as expected my next goal was to see under what conditions I will see no logs generated by Windows Azure Diagnostics infrastructure. I reverted all the changes in the onStart() method and ran the application again. Not very surprisingly I saw no logs after minute wait time. Somewhere in my mind popped the value 5 mins, and I decided to wait. But even after 5 or 10, or 15 mins I saw nothing in the WADLogsTable. Apparently the problem comes from the default configuration of the DiagnosticMonitor, done through the following line :

DiagnosticMonitor.Start("DiagnosticsConnectionString");

Looking at the code I discovered that the default configuration uses

ScheduledTransferPeriodInMinutes = 0

Unfortunately this doesn’t work well with Windows Azure Diagnostics infrastructure, and is the main cause for the missing logs.

I simulated that quite easily with changing the following line in my custom configuration:

dmc.Logs.ScheduledTransferPeriod = TimeSpan.FromMinutes(1);

to:

dmc.Logs.ScheduledTransferPeriod = TimeSpan.FromMinutes(0);

Windows Azure Diagnostics does not accept values below 1 min for transfer period. Thus you should always get diagnostics configured according to your needs, and if you don’t want to use scheduled transfers you should make sure you push out the logs in your code.

I will continue my investigation of logging in one of my subsequent posts but for now I think this will be quite helpful for people.

Update: I circled back with our developers and they reminded me that not transfering the logs by default was intentional. The reason being that you will incurr charges for the logs stored in your storage account.


Reference : http://blog.toddysm.com/2010/04/windows-azure-diagnosticswhere-are-my-logs.html

Allowing More Than One Developer to Manage Services in Windows Azure

Hi Friends,

Check this Link: http://blog.toddysm.com/2010/07/allowing-more-than-one-developer-to-manage-services-in-windows-azure.html

Upgrade Domains and Fault Domains in Windows Azure

Hi Friends,

Check the link below

http://blog.toddysm.com/2010/04/upgrade-domains-and-fault-domains-in-windows-azure.html

Affinity Groups in Windows Azure–How Those Work?

Affinity Groups is an interesting concept that Windows Azure introduced a while ago but it seems that people are confused how it works. Here is a short explanation how you can benefit from the Affinity Groups, and things that you need to be aware of when you use them.

Benefits of Using Affinity Group


As the name suggests Affinity Groups are intended to group dependant Windows Azure services, and deploy those in one place if possible. This can have several benefits among which are:

  • Performance – If your services are dependant on each other it is good if those are co-located, so that transactions between them are executed faster. The best option is if the network hops between your hosted services are minimized as much as possible
  • Lowering your bill – As you may already know bandwidth within the data center is free of charge (you are still charged for transactions though). Currently it is possible to co-locate your services if you choose the same sub-region and using Affinity Group is just another way to do that

How Affinity Groups Work?

Although the Affinity Groups give you the benefits outlined above, here are few things you need to be aware of when using them:


  • Specifying the same Affinity Group for two or more hosted services tells Windows Azure to optimize the deployment of those services and locate them closer to each other. Windows Azure makes best effort in this optimization
  • Specifying the same Affinity Group for hosted service and storage account means that those two will be co-located in the same data center. Right now this is equivalent to selecting the same sub-region for both

In essence Affinity Groups gives you small advantage over the use of sub-regions – it instructs Windows Azure to make an effort to deploy your hosted services and optimize their location.

 

Note (June 22nd 2010): I’ve done some edits to this post to unify the terminology with Windows Azure one, and clarify the billing benefit:

  1. Initially I wrote that transactions within data center are free of charge, which is not completely true. What I meant is that bandwidth is free of charge however you are still charged for transactions 
  2. Although I used “region” throughout the post I meant “sub-region” (for example US-North Central). In this context you should also consider “sub-region” and “data center” as interchangeable terms
  3. Choosing sub-region guarantees you that your service will be deployed in the selected sub-region. Choosing Affinity Group instructs Windows Azure Fabric to make a best effort to optimize the deployment of your services

Hope those clarifications are not distracting you from the main purpose of the post – to explain what the Affinity Groups can be used for.


Reference :
http://blog.toddysm.com/2010/06/affinity-groups-in-windows-azurehow-those-work.html

Tuesday, November 16, 2010

Did You Forget Your Windows Azure Demo Deployment Running? Graybox can help you!

Windows Azure as any other cloud platform is very convenient for doing demos or quick tests without the hassle of procuring hardware and installing bunch of software. However what happens quite often is that people forget their Windows Azure demo deployments running, and this can cost them money (a lot sometimes).

Recently I bumped into a handy tool called Graybox. What it does it to regularly check your Windows Azure subscription, and notify you about your deployments.

Installing Graybox

You can download Graybox from here. Just unzip it in a local folder and that is it. The tool has no installer and application icon.

Configuring Graybox

To use Graybox you need two things:

  • Windows Azure Subscription ID
  • and Windows Azure Management API Certificate Thumbprint – keep in mind that you need to have the certificate imported on the machine where Graybox will be running as well as uploaded it into Windows Azure through the Windows Azure Developer Portal

The configuration is quite simple – you need to edit the Graybox.exe.config file, which is simple XML file, and add your subscription ID and management API thumbprint as follows:

<add key="SubscriptionId" value="[SUBSCRIPTION_ID]"/>

<add key="CertificateThumbprint" value="[API_THUMBPRINT]"/>

Optionally you can change the refresh rate using RefreshTimerIntervalInMinutes configuration setting:

<add key="RefreshTimerIntervalInMinutes" value="10"/>

Using Graybox to Receive Notifications About Forgotten Windows Azure Deployments

Once you have Graybox configured you can start it by double-clicking on Graybox.exe. I will suggest you add the Graybox executable to All Programs –> Startup menu in order to have it started every time you start Windows. Once started it reminds resident in memory, and you can access its functionality through the tray icon:

graybox-system-tray

Right-clicking on Graybox’ tray icon shows you the actions menu:

graybox-menus
As you can see on the picture above deployments are shown in the following format:

 

[hosted_service_name], [deployment_label] ([status] on [environment])

For example: toddysm-playground, test (Suspended on Production)

Thus it is easy to differentiate between the different deployments. You have the option to “kill” particular deployment (this means to suspend it if it is running AND delete it or just delete it if the deployment is suspended) or to “kill” all deployments.

If you have forgotten that you have deployments Graybox will pop a message above the system tray every couple of minutes to remind you that you have something running:

graybox-alert

The refresh rate is the one you configured in Graybox.exe.config configuration file.

Graybox Limitations

There are two things you should keep in mind when planning to use Graybox:

  • Graybox can track deployments in only one subscription; if you own more than one Windows Azure subscription you will not be able to see all your deployments
  • In addition Graybox requires .NET 4.0, and will not work with earlier versions of .NET framework

More Information About Graybox

Using Graybox is free because you don’t pay for accessing the Windows Azure Management APIs.

You can get additional information on their Codeplex page.

Remote Desktop Connection to Windows Azure Instance

In this morning’s PDC2010 keynote Bob Muglia revealed the secret, and I would like to start with my favorite feature – establish Remote Desktop connection to any Windows Azure instance. Here is the step-by-step guide how to enable the feature, and how to use it.


Configuring Windows Azure Deployment for RDP

The first thing I did is to create new basic Cloud Project in Visual Studio. I called it Hello RDP. Nothing new here. I modified the Default.aspx page just to make it say: “Hello, RDP!”.

Here are the steps (quite simple) that you need to go through to enable Remote Desktop in your deployment:

  1. In Visual Studio right-click on the Cloud Project (Hello RDP in my case) and select Publish. You will be presented with the Deploy Windows Azure project dialog below:

    image

    I have selected the Create Service Package Only option but you have the choice to deploy from Visual Studio to the cloud directly if you want.
  2. Next click on the link Configure Remote Desktop connection above the OK button. You will see the Remote Desktop Configuration dialog where you can select the certificate you want to use to encrypt the credentials as well as the actual credentials you want to use to login to the instance and the expiration date for the password.

    image
    In the Certificates drop down you can select a certificate from your local cert store or create a new one that will be sored locally. After you fill in all the information click on the OK button in the current dialog as well as in the deployment dialog.

    Your package will be created on the local hard drive.

    Note: If you do not have Hosted Service created and/or if you don’t have the certificate already uploaded through the Windows Azure Portal you should create the package locally and deploy it through the Portal. See next section for more details.

Configuring the Windows Azure Hosted Service

In the current implementation (as of PDC10) you need to create hosted service and upload the certificate before you do the deployment. There may be some changes for the official release of the new UI in order to make it more streamlined. Here is the current workflow:

  1. Load the Windows Azure Portal and click on Compute, Storage & CDN in the navigation area

    image
  2. Click on the Compute Services node in the tree. In the grid you will see your subscription (or subscriptions if you have more than one)

    image
  3. Click on the New Hosted Service button, and you will get the dialog to fill in Hosted Service and Deployment information

    image

    In the new Windows Azure Portal UI we combined the creation of Hosted Service and the Deployment in one step. However for RDP you should choose the “Do not deploy” option because you will receive error if you don’t have the certificate uploaded.
  4. When you fill in all the information click the OK button and you will see your Hosted Service appear below your subscription.

    image
  5. Expand the Compute Services node in the tree and select the Service Certificates node

    image
  6. Click on Add Certificate to open the Upload Certificate dialog. Select the same certificate that you selected in the Visual Studio dialog when configuring your package, and click the Create button.

    Note: Make sure you select the right Hosted Service in the Target Hosted Service dialog

    image
  7. After it is uploaded you will see your certificate in the grid

    image
  8. Go back to the Compute Services view and click on New Production Deployment (or New Staging Deployment if you want to deploy to staging). Create a new Deployment dialog will appear where you can select the package and the configuration file you created in visual studio above.

    image
  9. After clicking OK you will see new line item in the grid that represents your deployment. In addition you will receive frequent updates what is happening with the deployment, and it will expand once the roles and instances are spun up. Really cute – isn’t it? Winking smile We refresh the status every 10 seconds.

    image
    Now, you just need to wait until your deployment is complete.

Connecting to the Windows Azure Instance

Once the deployment is complete the instances will be in Ready state, and when you select any one of them the Remote Desktop Connect button in the ribbon will light up.

image

 

When you click the Connect button you will be asked to download RDP file from the Windows Azure Portal (Note: Silverlight will also present you with security warning the first time you click on the Remote Access Connect button; you can select the checkbox in the warning if you don’t want to be warned in the future). You can select Open in the prompt for downloading the RDP file and the connection to the Windows Azure Instance will be established. Optionally you can save the RDP file locally for future use.


 

image

 

Voila! You are in!

 

image

 

Finally, it is highly recommended that you turn off Remote Desktop access to your Windows Azure instances when you don’t need it in order to avoid security risks. You can do this very easily from the Portal – just select the Role row, and uncheck the Remote Access Enabled checkbox:

image

 

Final Notes and Disclaimers About the Remote Desktop Feature


Couple of things I would like to mention at the end:

  • First, the Remote Desktop feature is scheduled to be released at the end of the year, which means we are still working on it and there may be some changes in the workflow
  • And second, the new Windows Azure Portal UI is also scheduled to release at the end of November and there may be some changes in the UI also. I have used the environment we use for the PDC demos to make the screenshots above, and if you are attending the conference you will see the same UI in the hands-on labs

I will try to update this blog post with any changes we make between PDC and the final release.

Hope you enjoy the new features in Windows Azure, and as always your feedback is highly appreciated.


Reference: http://blog.toddysm.com/2010/10/remote-desktop-connection-to-windows-azure-instance.html

PDC2010 – Building Engaging Apps with Windows Azure Marketplace DataMarket Session

Showing off different and Interesting integration scenarios with DataMarket

  • Facebook application that integrates with a Data.Gov DataSets
  • Usage of Windows Azure DataMarket Portal to explore the DataSets and also to show off the Tableau application to consume the DataSet from DataMarket

Integration Scenarios 

  • Choices:
    • Specific dataset versus generic
      • Influences the choice over the type of client technology to be used
        • WebRequest – need to parse the XML by hand
        • WCF Data Services client – ODATA client
        • DataMarket service proxy classes
    • Which DataMarket Account?

Building a simple Windows Phone 7 application

  • App that uses two DataMarket DataSets, one about weather forecast and another about the population density
    1. Choose the DataMarket DataSet
    2. Explore the DataSet
    3. Test the DataMarket DataSet
    4. Choose the Type of Integration to use
      • In this case the WebRequest is the one that is chosen
    5. Copy the Query URL
    6. Pass the Account Id and Account Key to the WebRequest
    7. Perform the Request
    8. Analyze the Response and Extract the XML elements that you need from the response.
  • Each content provider deliver a set of help resources like samples, and documentation about the respective DataSet that are accessible on the DataSets Page
  • Notes:
    • Can be built using WebRequest directly
    • Consider service-side
      • Filtering – Filter only what you need and cache your results on the server to lower the bandwidth
      • Projections – Do Projections on the Server-side in order to send only the elements that are interesting and needed by the client, reducing the used bandwidth

Next Steps:

Author : NunoGodinho

Understanding Windows Azure Connect – PDC10 Session Review

Introducing Windows Azure Connect

  • Secure network connectivity between on-premises and cloud
    • Supports standard IP protocols (TCP, UDP)
  • Example use cases:
    • Enterprise app migrated to Windows Azure that requires access to on-premise SQL Server
    • Windows Azure app domain-joined to corporate Active Directory
    • Remote administration and troubleshooting of Windows Azure roles
  • Simple setup and management

Roadmap

  • CTP release by end of 2010
    • Support connect from Azure to non-Azure resources
      • Supports Windows Server 2008 R2, Windows Server 2008, Windows 7, Windows Vista SP1, and up
  • Future releases
    • Enable connectivity using existing on-premises VPN devices

Closer Look

  • Three steps to setup Windows Azure connect
    1. Enable Windows Azure (WA) roles for External connectivity via service Model
      • Select only the roles that should be enabled for external onnectivity
    2. Enable local computers for connectivity by installing WA Connect Agent
    3. Configure/Manage your network policy that defines which Azure roles and which Azure computers can communicate.
      • defined using the Connect Portal
  • After the Configuration/Management of the Network Polity, Azure Connect automatically setups secure IP-level network between connected role instances and local computers
    • Tunnel firewall/NAT/s through hosted relay service
    • Secured via end-to-end IPSec
    • DNS name resolution

Windows Azure Service Deployment

  • To use Connect for a Windows Azure Service, enable one or more of its Roles
    • For Web & Worker Roles, include the connect plug-in as part of the Service Model (using .csdef file)
    • For VM Roles, install the connect agent in VHD image using Connect VM Install package
    • Connect agent will automatically be deployed for each new role instance that starts up
  • Connect agent configuration is managed through the ServiceConfiguration (.cscfg file)
    • One one configuration setting is required
      • ActivationToken
        • Unique per-subscription token, accessed from Admin UI
    • Several Optional settings for managing AD domain-join and service availability

Deployment

On-Premise

    • Local computers are enabled for connectivity by installing & activating the Connect Agent. It can be retrieved from:
      • Web-based installation link
        • Retrieved from the Admin Portal
        • Contains per-subscription activation token embedded in the url
      • Standalone install package
        • Retrieved from the Admin Portal
        • Enabled installation using existing software distribution tools
    • Connect agent tray icon & client UI, enables us to:
      • View activation state & connectivity status
      • Refresh network policy
    • Connect agent automatically manages network connectivity, by:
      • Setting up a virtual network adapter
      • “Auto-connecting” to Connect relay service as needed
      • Configuring IPSec policy based on network policy
      • Enabling DNS name resolution
      • Automatically syncing latest network policies

Management of Network Policy

    • Connect network policy managed through Windows Azure admin portal
      • Managed on a per-subscription basis
    • Local Computers are organized into groups
      • Eg. “SQL Server Group”, “Laptops Group”, …
      • A computer can only belong to a single group at a time
      • Newly activated computers aren’t assigned to any group
    • Windows Azure roles can be connected to groups
      • Enabled network connectivity between all Role instances (VMs) and local computer in the Group
      • Windows Azure connect doesn’t connect to other Windows Azure Roles
    • Groups can be connected to other Groups
      • Enabled network connectivity between computers in each group
      • A group can be ‘interconnected’ – enables connectivity within the group
      • Useful for ad-hoc & roaming scenarios
        • Eg. your laptop having a secure connection back to a server that resides inside the corp net

Network Behavior

  • Connect resources (Windows Azure role instances and external machines) have secure IP-level network connectivity
    • Regardless of physical network topology (Firewall / NATs) as long as they support outbound HTTPs access to Connect Relay service
  • Each connected machine has a routable IPv6 address
    • Connect agent sets up the virtual network address
    • No changes to existing networks
  • Communication between resources is secured via end-to-end certificate-based IPSec
    • Scoped to Connect Virtual network
    • Automated management of IPSec certificates
  • DNS name resolution for connected resources based on machine names
    • Both directions are supported (Windows Azure to Local Computer or vice-versa)

Active Directory Domain Join

  • Connect plug-in support domain-join of Windows Azure roles to on-premise Active Directory
  • Eg. Scenarios:
    • Log into Windows Azure using Domain Accounts
    • Connect to on-premise SQL Server using Windows Integrated Authentication
    • Migrate LOB apps to cloud that assume domain-join environment
  • Process:
    1. Install Connect agent on DC/DNS servers
      • Recommendation: create a dedicated site in the case of multiple DC environment
    2. Configure Connect plug-in to automatically join Windows Azure role instances to Active Directory
      • Specify credentials used for domain-join operation
      • Specify the target OU for Windows Azure roles
      • Specify the list of domain users / groups to add to the local administrators group
    3. Configure the network policy to enable connectivity between Windows Azure roles and DC/DNS Servers
    • Note: New Windows Azure role instances will automatically be domain-joined

Finally the recap of Windows Azure Connect

  • Enables secure network connectivity between Windows Azure and on-premise resources
  • Simple to Setup & Manage
    • Enabled Windows Azure Roles using connect plug-in
    • Install Connect agent on local computers
    • Configure network policy
  • Useful Scenarios:
    • Remote administration & troubleshooting
    • Windows Azure Apps Access to on-premise Servers
    • Domain-join Windows Azure roles
Reference : http://msmvps.com/blogs/nunogodinho/archive/2010/11/15/understanding-windows-azure-connect-pdc10-session-review.aspx
By: Anthony Chavez – Director @ Windows Azure Networking Group
Author : NunoGodinho

Sunday, November 14, 2010

Watch or Download PDC 10 release Sessions

Hi Friends,

Watch the Sessions at the link given below

You can also download using PDC10 Downloader
http://blogs.msdn.com/b/mark/archive/2010/11/03/pdc10-downloader.aspx

New features per Windows Azure Platform released on 28th Oct 2010

Summary of New 'Windows Azure Platform' features announced at PDC10 Oct. 28th-29th 2010

So, great news at PDC10!. Here I make a summary about new features per Windows Azure Platform pillar (Windows Azure, SQL Azure, AppFabric):

Windows Azure
New Windows Azure Features
State
Description
VM role
Beta in 2010
Eases the migration of existing Windows Server applications to Windows Azure
Extra Small VM
Beta in 2010
For small apps or PoCs
Virtual Network

‘Windows Azure Connect’ is 1st wave
(aka. 'Project Sydney')
CTP in 2010
Windows Azure Connect (previously known as “Project Sydney”) enables a simple and easy-to-manage mechanism to set up IP-based network connectivity between on-premises and Windows Azure resources.
Remote Desktop
RTW in 2010
Remote Admin and monitoring
Admin Mode
(Elevated privileges)
RTW in 2010
For small changes such as configuring Internet Information Service (IIS) or installing a Microsoft Software Installer (MSI), Microsoft recommends using the Elevated Privileges admin access feature. This approach is best suited for small changes and enables the developer to retain automated service management at the Guest OS and the application level.
Full IIS Support
RTW in 2010
Enables multiple IIS sites per Web role and the ability to install IIS modules
Multiple WA account  Admins
RTW in 2010
Multiple Windows Live IDs admins
CDN Dynamic Content Caching
In 2011
Windows Azure CDN can be configured to cache content returned from a Windows Azure application
CDN SSL
In 2011
Deliver content via encrypted channels with SSL/TLS
New Windows Azure portal
In 2010
Redesigned Microsoft Silverlight-based Windows Azure portal
SQL Azure
New SQL Azure Features
State
Description
SQL Azure Reporting
CTP
Developers can author reports using familiar SQL Server  Reporting Services tools and then easily provision and deploy reports into the cloud.
SQL Azure Data Sync
CTP 2
Enables to synchronize SQL Azure databases across datacenters as well as with on-premises SQL Server.
(Entire databases or specific tables)

Database manager for SQL Azure (aka. Houston)
RTW in 2010
New lightweight, web-based database management and querying capability for SQL Azure databases. I was formerly referred to as “Project Houston”, and allows customers to have a streamlined experience within the web browser without having to download any tools.
Windows Azure App Fabric 
New AppFabric Building Blocks
State
Description
AppFabric Cache
CTP at PDC
RTW in 2011
Distributed, in-memory application cache, like Windows Server AppFabric Cache (Velocity) but in windows Azure.
Durable messaging in Service Bus (CTP at PDC)
CTP at PDC
RTW in 2011
Higher enterprise reliability, giving improved delivery assurance for messages to third-parties or mobile devices
Integration (CTP in CY11) Common BizTalk Server integration capabilities
CTP in CY11
Pipeline, transforms, adapters, BAM and rules, etc.
Composition Model and Tools
CTP in CY11
Will help developers compose applications on the Windows Azure Platform with extensions to the .NET Framework and tie them all together through a new Microsoft Visual Studio-based designer experience.

Composition Service
CTP in CY11
Allows developers to take the Composition Model and automate the deployment, configuration, control, monitoring, troubleshooting, reporting and optimization of an application without the usual manual steps.

 Other WA related new features  
Other New Features
State
Description
TFS on Windows Azure
CTP In 2011
Visual Studio Team Foundation Server in Windows Azure
Windows Azure MarketPlace
CTP In 2011
A single online marketplace for developers and IT professionals to share, find, buy and sell building block components, training, services, needed to build complete and compelling Windows Azure applications
DataMarket
RTW in 2011
Formerly code-named “Dallas”.  It is really part of the MarketPlace
Reference : http://blogs.msdn.com/b/cesardelatorre/archive/2010/10/28/new-windows-azure-platform-features-announced-at-pdc10-oct-28th-29th-2010.aspx