Sunday, January 12, 2014
Executing a Service Provider Licensing Agreement (SPLA) for Windows Azure VM Remote Desktop Services
As noted in my earlier Microsoft Finally Licenses Remote Desktop Services (RDS) on Windows Azure Virtual Machines article, last updated 12/17/2013, organizations providing customers access to Windows Applications running on Windows Azure Virtual Machines (WAVMs) via Remote Desktop Services (RDS), with or without RDWeb access, must enter into an indirect Microsoft Service Provider Licensing Agreement (SPLA) and purchase Subscriber Access Licenses (SALs) from a reseller appointed by Microsoft. The only prerequisites for an SPLA are your firm must be a Registered (or higher) Microsoft Partner and have a Microsoft (Live) ID.
When this post was written in mid-January 2014, Microsoft had appointed eight US and seven Canadian resellers in the US. I chose Dell Computer, Inc. as OakLeaf’s reseller because they offered this simple sign-up procedure:
1. Send a message to SPLA_US@dell.com or SPLA_Canada@dell.com with your Partner organization name, ID number and physical location (city or state/province,) as well as the name of the individual having authority to sign the SPLA.
2. A Dell representative will acknowledge your request.
3. A few hours later, you’ll receive a message with Action Required: Your Microsoft License Agreement is ready for electronic signature{~########:1~} as the subject from eagreements@microsoft.com with the following information:
Dear Roger Jennings,
Your Microsoft Volume Licensing Agreement has been created by your Microsoft Channel Partner and is ready for acceptance and electronic signature.
- Contract Package Number: PKG#########
- Agreement Number: ########
- Customer Number: XXXX####
Action Required
Please click the link below in order to review and sign the agreements on behalf of your company. If you no longer have signing authority, please notify your Channel Partner immediately and do not use the below link.
Note: You will be prompted to sign into eAgreements using a valid Windows Live ID. If you do not have a Windows Live ID, you are required to create one and will be prompted to do so after you click the link below.
Clicking the provided URL opens the following Volume Licensing Welcome page:
Sign in with your Windows Live ID to open the eAgreements Registration page:
Click each of the four Document Name links, download the following Word documents and review them or route them to your company’s legal department for review and approval:
- Microsoft Business and Services Agreement: MBSA Agreement.docx
- Service Provider License Agreement (Indirect): Master Agreement.docx (form is prefilled)
- Signature Form: Signature Form.docx
- End User License Terms: SPLA End User License Terms.docx
After review and approval of the four documents, select the I Confirm option button to expand the bottom section. Type the signatory’s name, job title and, optionally, purchase order number, as shown here:
Click Submit to send the electronically signed form to Microsoft. Click OK to acknowledge the success message:
Tip: If you receive an error message after clicking submit, try again at least once.
You’ll receive a Confirmation of Microsoft Volume Licensing Agreement Acceptance and Submission{~########:1~} by e-mail from Microsoft a few minutes after submission. The message contains the following (in part):
… Note that this agreement is not wholly formed until accepted and activated by Microsoft.
Once the license agreement is signed by Microsoft, you will receive a Welcome email from Microsoft confirming the activation of your organization’s license agreement. The Welcome email will also provide information about how you can track and manage your organization’s software licenses online. …
I’ll update this post when I receive the activation message.
Posted by Roger Jennings (--rj) at 4:59 PM 0 comments
Labels: Azure, Azure VMs, Cloud Computing, Dell Computer, Remote Desktop Services, Service Provider Licensing Agreement, Windows Azure, Windows Azure Virtual Machines
Friday, January 10, 2014
Uptime Report for My Live Windows Azure Web Site: December 2013 = 99.95%
image_thumb_thumbMy (@rogerjenn) Android MiniPCs and TVBoxes blog runs WordPress on WebMatrix with Super Cache in Windows Azure Web Site (WAWS) Standard tier instance in Microsoft’s West U.S. (Bay Area) data center and ClearDB’s MySQL database (Venus plan). I converted the site from the Shared Preview to the Standard tier on September 7, 2013 in order to store diagnostic data in Windows Azure blobs instead of the file system.
Service Level Agreements aren’t applicable to the Web Services’ Shared tier; only sites in the Standard tier qualify for the 99.9% uptime SLA.
- Running a Shared Preview WAWS costs ~US10ドル/month plus MySQL charges
- Running a Standard tier instance costs ~US75ドル/month plus MySQL charges
I use Windows Live Writer to author posts that provide technical details of low-cost MiniPCs with HDMI outputs running Android JellyBean 4.1+, as well as Google’s new Chromecast device. The site emphases high-definition 1080p video recording and rendition.
image_thumb9_thumb_thumb_thumb_thumb
The site commenced operation on 4/25/2013. To improve response time, I implemented WordPress Super Cache on May 15, 2013. I moved the site’s diagnostic logs from the file system to Windows Azure blobs on 9/7/2013, as reported in my Storing the Android MiniPCs Site’s Log Files in Windows Azure Blobs post.
Here’s Pingdom’s graphical Uptime report (first page in Downtime mode) for December 2013:
Note: Downtime is exaggerated because Pingdom’s timing resolution is five minutes.
And here’s their Response Time report for the same period:
Response time is slowed by the length and number of images of this blog’s posts.
The Windows Azure Management Portal displays resource utilization for a maximum period of one prior week:
I plan to report and log uptime values monthly with pages similar to OakLeaf Systems’ Uptime Report for my Live OakLeaf Systems Azure Table Services Sample Project posts, which has more that two full years of uptime and response time data as of June 2013.
Month Year Uptime Downtime Outages Response TimeDecember 2013 99.95% 00:21:00 4 1,868 msNovember 2013 99.92% 00:35:00 5 1,877 msOctober 2013 99.63% 02:40:00 23 2,061 msSeptember 2013 99.81% 01:20:00 7 1,816 msAugust 2013 99.71% 02:10:00 24 1,786 msJuly 2013 99.37% 04:40:00 45 2,002 msJune 2013 99.34% 04:45:00 30 2,431 msMay 2013 99.58% 03:05:00 32 2,706 ms
Note: The usual 99.9% uptime Service Level Agreement (SLA) applies only to Windows Azure Web Sites running in the Standard tier. The Android MiniPCs and TVBoxes site was upgraded from the Shared to Standard tier on 9/7/2013.
Posted by Roger Jennings (--rj) at 10:38 AM 0 comments
Wednesday, January 08, 2014
Uptime Report for my Live OakLeaf Systems Azure Table Services Sample Project: December 2013 = 100.00%
image_thumb14_thumb My (@rogerjenn) live OakLeaf Systems Azure Table Services Sample Project demo project runs two small Windows Azure Web role compute instances from Microsoft’s South Central US (San Antonio, TX) data center. This report now contains more than two full years of monthly uptime data.
imageHere’s the detailed downtime report from Pingdom for December 2013:
Following is the first page of the detailed Pingdom response time data for December 2013:
You can check the site’s Public Status Page (shown for 12/2/2013) by clicking here:
This is the thirty-first uptime report for the two-Web role version of the sample project since it was upgraded to two instances. Uptimes below SLA 99.9% minimums are emphasized. Reports will continue on a monthly basis.
Update 5/7/2013: Added links to those previous uptime reports currently accessible. I don’t know why some posts are missing from the Internet.
The Azure Table Services Sample Project
See my Republished My Live Azure Table Storage Paging Demo App with Two Small Instances and Connect, RDP post of 5/9/2011 for more details about the Windows Azure test harness instance.
image_thumb2_thumb_thumb1_thumb_thum[1]
imageI believe this project is the oldest continuously running Windows Azure application. I first deployed it in November 2008 when I was writing Cloud Computing with the Windows Azure Platform for Wiley/WROX, which was the first book published about Windows Azure.
imageThe application runs the default set of Windows Azure Diagnostics. About 5 GB of Event Counter data provides the source data for my Generating Big Data for Use with SQL Azure Federations and Apache Hadoop on Windows Azure Clusters post of 1/8/2012.
image_thumb17_thumbFor more details about the Table Services Sample project or to download its source code, visit its Microsoft Pinpoint entry. Following are Pinpoint listings for four (削除) three (削除ここまで) other related OakLeaf sample projects, two of which are live in the South Central US data center:
- OakLeaf Public Data Hub: US Air Carrier Flight Delay DataSet (5/1/2012, live)
- Microsoft Codename "Data Explorer" Mashup with "Social Analytics" Data (1/24/2012, live)
- Microsoft Codename “Social Analytics” WinForms Client Sample (11/22/2011)
- SQL Azure Reporting Services Preview Sample (10/24/2011, live)
Posted by Roger Jennings (--rj) at 10:42 AM 0 comments
Saturday, January 04, 2014
Microsoft’s Project Siena Needs a Windows Azure Mobile Services Sample App
imageS. “Soma” Somasegar ( @SSomasegar) asserts Microsoft’s new Project Siena is intended for “business experts, business analysts, consultants and other business users with the imagination to conceive an app for today’s mobile devices” in his Project Siena: Enabling Business Users to Create Mobile Apps for the Enterprise post of 12/19/2013 to TechNet’s Project Siena blog.
imageProject Siena’s tagline is
Build powerful business apps, no coding necessary.
Soma cites as examples:
- Apps to support conversations, where a customer can reach over and touch the employee’s screen, make changes and ultimately own the solution
- Apps with the smarts to help users make on-the-spot decisions by offering choices first and allowing trade-offs later
- Apps for tasks that involve capturing real world information through photos, videos and voice
Project Siena’s Tagline Is an Oxymoron
I have never seen a real-world business app, powerful or not, that didn’t require at least some custom Visual Basic, VBA, C#, Java, JavaScript or code in another programming language. For its Visual Studio LightSwitch rapid application development (RAD) tool, Microsoft claims:
When you use LightSwitch, much of the repetitive work is done for you and, in fact, you can create a LightSwitch application without writing any code at all! For most applications, the only code you have to write is the code that only you can write: the business logic.
Tim Anderson’s ( @timanderson) Figuring out Project Siena: a Windows 8 app to build Windows 8 apps article of 1/4/2014 describes his frustrations with fathoming the functions required to program a simple todo list:
imageA couple of weeks back I took a look at Project Siena, a preview of a new tool for building Windows 8 apps. Project Siena features a simplified user interface builder, an Excel-like expression language, and data-bound controls. It generates Windows 8 JavaScript apps. Project Siena is itself a Windows Store app, and runs fine on Windows RT (the ARM version). I have been using it successfully on Surface 2, on which it runs sweetly. [Emphasis added.]
When I first looked at Project Siena I tried to build the same first app that I have used for numerous simple tests of development tools over the years: a to-do list. I was impressed by how easy it was to create the user interface, but unable to work out the code to complete it. Unless I missed it, the key information is not included in any of the initial documentation. I found this disappointing, since it has been easy to work out the code in every other programming environment I have tried. …
In Siena, data is stored in Collection objects, and you can bind a listbox to a collection. By default, a new listbox is bound to an object called ListboxSample, but you cannot use it for this; if you try, you get a squiggly line error with the message that ListboxSample is not a collection.
Instead, you have to create your own collection object. In Siena, you declare a variable by using it and its type is inferred. Enter this for the OnSelect property of the Add button:
Collect(mycollection,{Value: InputText1!Text})
This is the code that took me so long to work out. The Collect function adds an item to a collection. If the collection does not already exist, it creates it. The first argument to Collect is a collection object, and the second, an item. What is an item? In effect, a record or row in a table. The syntax for an item in Siena is:
{Fieldname1: fieldvalue1,Fieldname2: fieldvalue2,…}
where the dots represent additional fields as required. Therefore, the code I entered for the Add button creates or appends an item with a single field, called Value, to a collection called mycollection.
Now you can select the listbox and tap Data and then Items. The collection called mycollection magically appears for selection. Select it. In the case of multi-field collections, you can also choose which field appears in the list. Only one field it seems; yes, Siena needs a grid control. … [Emphasis added.’]
Defining function expressions to respond to events sounds like programming to me. The Microsoft Project Siena Function Reference lists two operators and 71 functions, many of which have complex argument lists. Even inline If() expressions are supported:
Usage:
If(predicate1, expression1,
[predicate2, expression2,
...
predicateN, expression,
default])Returns the result of evaluating the expression that corresponds to the first matching predicate. If none of the predicates match, default is evaluated and its result gets returned.
The Project Siena expressions remind me of those available to Microsoft Access developers from the Jet Expression Service.
Instructions for Importing Windows Azure Mobile Services
From the Microsoft Project Siena Help Topics:
… How do I import Windows Azure Mobile Services ([W]AMS) data into my app?
If your enterprise uses Windows Azure Mobile Services, contact your IT department or the administrator of the account for the account details. Then add [W]AMS tables as data sources to your app:
- Click the + control in the Data Sources backstage.
- Click Azure Mobile Services in the Data Sources menu.
- You will be prompted for the URL (usually of the form https://<EnterpriseName>.azure-mobile.net) and AppKey (this is generated when the account is set up; use an application key and not the master key). Enter this information and click the search icon.
- All the tables in your [W]AMS instance are listed. Select one or more of the instances and then click Import Data to import the data into your app.
Note that in the current release, we support a simplified and lightweight interface for accessing [W]AMS data. As part of the [W]AMS setup, your IT administrator will also need to create a table named "zz_config" in your [W]AMS instance for Siena to be able to interact with it. This table should contain the following columns:
- Key: This should be set to “table”.
- Value: String value that stores the table name.
The zz_config table should contain one row per table that you want to expose to Siena. For example, if you want to allow Siena to access Employee and Sales tables, your zz_config table will have the following entries:
Key Value“table” “Employee”“table” “Sales”
Apparently, the Project Siena team didn’t get the memo that “Windows Azure whatever,” not “Azure whatever,” is the naming convention.
Connecting a Project Siena App to Other Data Sources
More from the Microsoft Project Siena Help Topics:
How do I import data into my app?
Links to data sources can be added to your apps for importing data. Create these links through the Data Sources backstage, which can be accessed as follows:
- Display the app bar by right-clicking anywhere on the canvas or by swiping down from the top of the canvas.
- Click File, and then click Data Sources.
- Click the + control to bring up a list of possible data sources.
The current release of Siena supports the following types of data sources that are displayed as options when you click the + control.
- Excel
- Windows Azure Mobile Services (AMS)
- REST
- RSS Feed
- SharePoint Lists
Note that your SharePoint site, REST web services, or RSS Feed should not be running on the same device as the published app. If this condition is not met, the app will not be able to access the service because of a security restriction with Windows 8 apps that prevents from calling into web services running on the same device. …
How do I import Excel data into my app?
Perform the following steps to import Excel data into your app:
- Click the + control in the Data Sources backstage.
- Click Excel in the Data Sources menu.
- This will bring up the Windows 8 file picker. Browse to the location where your Excel file is stored, select it, and click Open.
- All the tables within the Excel workbook you selected are displayed. Select one or more tables from the displayed list, and then click Import Data to import the data into your app.
Note that only Excel tables will be imported (see Create an Excel table). If the data has been imported successfully, the first three rows of the table will be displayed.
How do I use REST connectors?
Consume data from REST connectors in your app by following these steps:
- Click the + control in the Data Sources backstage.
- Click REST in the Data Sources menu.
- Enter the URL for your REST service.
- Choose an authentication method from the drop-down list box.
- Select the Enable headers check box, if you want to specify any additional custom headers.
- Import the data.
- All the tables exposed through your REST service are imported into your app.
Siena can fetch data from REST services using GET requests (your proxy must support GET requests at the supported endpoints) if the following requirements are satisfied. Please contact your IT administrator about these requirements if you are having trouble connecting to your enterprise’s REST services.
How do I import SharePoint lists into my app?
Perform the following steps to import data from SharePoint lists:
- Click the + control in the Data Sources backstage.
- Click SharePoint in the Data Sources menu.
- Enter the URL to your SharePoint site, and then click the search icon.
- All the lists on your SharePoint site to which you have access are displayed. Select one or more lists, and then click Import Data” to import the data into your app.
Note that in the current release of Siena, a link to SharePoint data is not live—changes made to the list on the server are not immediately reflected in the app. When loading, the app takes a "snapshot" of the data on the SharePoint server.
How do I import RSS feed data into my app?
Perform the following steps to import data from RSS feeds:
- Click the + control in the Data Sources backstage.
- Click RSS Feed in the Data Sources menu.
- Enter the URL to your RSS Feed and click the search icon
- All the RSS feeds in your specified URL to which you have access are displayed. Select one or more feeds, and then click Import Data to import the data into your app.
Note that in the current release of Siena, a link to RSS Feed data is not live—changes made to the feed on the server are not immediately reflected in the app. When loading, the app takes a "snapshot" of the data on the RSS Feed server. In the current version of Siena, only Atom and RSS 2.0 feeds are supported. …
The Missing Link
The question remains how to use the imported data and how to update it, if possible. This undoubtedly requires code but Project Siena’s three current sample apps, AdventureWorks, Real Coverage Finder and Personnel Manager, don’t appear to use external data sources.
The Project Siena Release Notes were the primary documentation for the app when this post was written. Paul Mather posted on 1/2/20114 an illustrated tutorial for a simple app with a Excel worksheet as the read-only data source: Win8 Apps using Project Siena:
WAMS provides ToDo demo tutorials for Windows 8 (C# and JavaScript), Windows Phone, iOS, Android, HTML, Xamarin.iOS and Xamarin.Android. My five-part Windows Azure Mobile Services Preview Walkthrough expands on the Windows 8 C# tutorial:
- Windows Azure Mobile Services Preview Walkthrough–Part 1: Windows 8 ToDo Demo Application (C#)
- Windows Azure Mobile Services Preview Walkthrough–Part 2: Authenticating Windows 8 App Users (C#)
- Windows Azure Mobile Services Preview Walkthrough–Part 3: Pushing Notifications to Windows 8 Users (C#)
- Windows Azure Mobile Services Preview Walkthrough–Part 4: Customizing the UI for the Windows Store
- Windows Azure Mobile Services Preview Walkthrough–Part 5: Distributing Your App From the Windows Store
I’ve requested the WAMS group to create a demo app and walkthrough for Project Siena. I’ll update this post when and if they do so.
Posted by Roger Jennings (--rj) at 2:01 PM 0 comments
Labels: Azure, Azure Mobile Services, Azure Table Storage Services, Cloud Computing, JavaScript, Project Siena, Windows Azure, Windows Azure Mobile Services