Windows Azure – a Cost-Effective Platform for ISVs

  • Use of a Windows Azure application server instance is now just USD$15 a month. 
  • A SQL database starts at just $5 a month.
  • Data transfer is $0.12 per GB (inbound is free)
  • There’s a free trial offer with lots built-in, and other discount packages available.

This is now at a price-point that is very competitive with discount hosting providers, but even better when you consider the Platform as a Service capabilities, SLA and scalability offered when you start putting things together…

Continue reading

Built on Silverlight & Azure: A Solution to Plan, Deploy & Track Your Workforce

During a trip to Redmond this year, I got to meet the Gu.  If you don’t know who that is, then never mind, but keep reading.  Anyway, another guy from Canada got to present alongside Scott (still don’t know who I’m talking about?) last November during the keynote for the Silverlight Firestarter event (when Silverlight 5 features were first publically announced).  That guy was David Ossip, CEO of Dayforce, demonstrating their latest Dayforce Workforce Management solution.

image

I’d seen the Firestarter demo, but I recently learnt about another aspect of this solution.  It would be reason enough to mention Dayforce because they use Silverlight for a rich client-powered experience.  Another reason to mention it, is that it also uses Windows Azure, a technology for which I have created and delivered training at Microsoft’s request.  The Windows Azure Platform is both an awesome platform and service for high availability and scalability and easy provisioning in the cloud or in a hybrid combination with on-premise system.

Dayforce epitomizes the kind of offering that is well suited to the platform.  They wanted to provide solutions that demanded zero IT maintenance for their customers and a scalable path as their customer base grew – they now have around 40 customers with some 150,000+ users.  Using Azure, adding more customers or users now involves merely deploying more Windows Azure instances with a few mouse clicks, rather than buying/licensing, racking/provisioning and adminstering servers.  Hosting the application on Windows Azure hosted services means running the services in an IIS environment that is great for hosting WCF-based services to which their rich Silverlight client can connect.  It’s a SaaS solution with a rich-client plus! 

This kind of Silverlight-Azure combo is the kind of thing I expect to see in droves with other successful offerings in the future.  Since Scott Guthrie is moving over to be a VP for the Azure platform, this awesome-sauce (hi John!) combination will no doubt get even better.

 

Want to know more about Dayforce?

About Dayforce – Dayforce offers a complete workforce management solution with functionality that includes time and attendance, labor scheduling, labor forecasting, labor budgeting, task management and employee self-service. The company has made waves in workforce management with a vastly superior user experience, a much faster application, and significantly greater business value.
In addition to being named one of Deloitte’s Companies-to-Watch, Dayforce has been named the winner of the Top HR Product of the Year by Human Resource Executive® magazine, the winner of the Microsoft BlueSky Award for Innovation Excellence, and one of the CIX Top 20 Innovative Companies. For more information, please visit www.dayforce.com.

Get Free training With Great WP7, Silverlight & Azure Sessions at Microsoft Mix11

 

300x250_Mix11_011011_US_b (2)

This year’s Microsoft Mix 11 conference is taking place from April 12th to 14th in Las Vegas.

I have 4 sessions proposals that have been selected for voting by the Mix panel, and with your help, I can present them at the conference for you to see in person or for free on-demand shortly afterwards.

As well as from commercial projects and published articles/shows, these sessions are based on my expertise as a Microsoft MVP for Silveright, a workshop trainer for Microsoft on the Windows Azure Platform & the developer of the first WP7 training bootcamp delivered across North America.

To vote for sessions by Feb 4th…

For each of the web links below, click on each one and then vote by first clicking on all of the animal pictures of the indicated type (usually cats awww) and then clicking “vote for this session”.  Repeat for each of the 4 links.  The picture clicking thing is to make sure you are human and not a cheating robot of course.  If you select the wrong animation by mistake, you can click it again to unselect it.

Thank you for your interest and support!

 

0 to Phone App in 60 Minutes (based on a popular TechDays session)

Windows Phone 7 devices are out there. Will you have an application in the marketplace this year? The tools are free to download but it helps to get a jump-start to get moving. Do you understand the MVVM design pattern and how it applies to Windows Phone? Would you like to see how it’s done from scratch? Come along and see Microsoft MVP for Silverlight and leading WP7 trainer, Colin Melia, show you how to build an application step-by-step and answer questions along the way.

 

Getting to grips with MVVM on Windows Phone

You’ve downloaded the phone tools and created your first project. Now you’re venturing into the other project templates and have found all kinds of extra xaml files, bindings and classes. You’re in the world of MVVM architecture and you feel like you’ve fallen down the rabbit whole. The MVVM patterns in the templates are there to leveraged, but you need to know how to work with it. In this session Microsoft MVP for Silverlight and leading WP7 trainer, Colin Melia, will cover the MVVM concepts, the templates and go beyond viewing data to using commands and explaining key choices.

 

Windows Azure Platform as the backend for Windows Phone experiences

The launch of Windows Phone has been a source of much interest and developer enthusiam. There are 1,000s of appplications in the Windows Phone Marketplace. However, not many of those applications interact with a service created by the same developer. In this session, Microsoft MVP for Silverlight and leading WP7 trainer, Colin Melia, will show you how the Windows Azure Platform is a natural backend for Windows Phone experiences and how to use the various components.

 

On-Premise Data to Cloud to Phone – Connecting with Odata

You have corporate data to disseminate into the field, or service records that need to be updated in the field. How can you quickly make that data accessible from your on-premise system to Windows Phone users? Come take a look at OData with Microsoft MVP for Silverlight and leading WP7 trainer, Colin Melia, and see how you can expose data and services into the cloud and quickly connect to it from the phone, from scratch

 

These are 4 of just 14 sessions by Canadian-based developers highlighted by Microsoft Canada.  You can vote for all to 10 in total.

Become a Windows Azure Administrator in Just 15 minutes

Got a few minutes to kill, and want to get to grips with Microsoft’s Windows Azure Platform? Let’s do it in the best possible way – by actually trying it. I’m about to show you just how easy that is and also explain how valuable that knowledge can be.

If you do this in Canada by Dec 31st 2010 and tell Microsoft Canada about it (see below), Microsoft will give CDN$25 to your nominated user group AND send you a $25 gift card too!! Smile

Let’s get a few questions out of the way first…

Continue reading

Live Meeting Presentation Today on Windows Phone 7 + OData + Silverlight + Azure

image

I’m doing a 1.5 hour Live Meeting presentation today at 16:00 ET on these hot topics for the Windows Azure User Group

The audience objectives include:

  • Learn key features of Silverlight, OData & the Windows Azure Platform
  • Learn about preparing an application for use with Windows Azure & SQL Azure
  • Learn stages and ways to deploy a full application to the Windows Azure Platform
  • Learn how Silverlight can interact with Windows Azure Platform technologies.

Register for this hot-topic event and participate remotely.

https://www.clicktoattend.com/invitation.aspx?code=147804

If you are looking for in-depth rapid training on developing for Windows Phone 7 development AND hands-on time with a device, then you should consider registering for the this major 2-day boot camp running across Canada.

Windows Phone 7 Boot Camp

Getting Started with PHP on Windows Azure

This post will get you started with PHP development in Visual Studio for deployment to Windows Azure.

Using the FastCGI capabilities of IIS you can run PHP application on IIS and Windows Azure (in your local Development Fabric on in the Windows Azure cloud).

So, here’s how to create a simple PHP application in Visual Studio 2010 on Windows 7.

If you want to see this in video, check out my screencast interview with Dot Net Rocks TV on Azure and go to point 48:40.

  • Download the latest Windows ZIP files from http://windows.php.net/download/ (currently 5.3.2).  You should get for the VC9 x86 Non Thread Safe version.  The FastCGI system on IIS makes the use thread-safe.  Unzip the files into a folder somewhere on your system and rename the folder "PHP".
  • Ensure you have everything for IIS and CGI (i.e. FastCGI) is activated on your system for local development. 
  • Install the latest Azure SDK (checking the system requirements) – currently 1.1 (Feb 2010).
  • Start Visual Studio 2010 (which must be in run as an Administrator for the current version of the SDK) and create a new VS Cloud Project…

azphp1

  • Add the CGI Web Role…

azphp2

  • Open an Explorer window and locate your downloaded and extracted PHP folder.  Do a Copy on the PHP folder.
  • Open the folder for the web project…

azphp3

  • Paste the PHP folder (and therefore subfolders) into the web project folder and then select the Show All Files option in Solution Explorer so you can see the pasted PHP folder…

azphp4

 

  • Use the "Include in Project" option on the php folder to include it in project files, and therefore in the files deployed to Azure.

azphp5

  • Edit the Web.roleconfig file, (putting a new <application/> tag in place like this which tells IIS (locally or in the cloud) about the FastCGI interpreter for PHP…

azphp6

  • Edit Handers section of the Web.config file to include this new <add/> tag which tells IIS to use the PHP interpreter for files ending with .PHP…

 azphp7

  • Also add the new <defaultDocument/> tag above to set up "index.php" as the default document for the web application.
  • Finally add a basic index.php file using Add New Item on the web project; since there is no .PHP item – use a .TXT item (in the General category) and give the new file a .PHP extension…

azphp8

  • Enter this basic PHP code:

<? phpinfo(); ?>

  • Start up the application and you should see something like the following:

azphp9

You can now deploy this (or a real application) to Azure using the Publish function on the Cloud project as usual.

Check out this MSDN page for general help on using FastCGI interpreters with Azure.

Enjoy! 🙂

Microsoft and Open Source Communities are sponsoring the Make Web Not War conference on May 27th 2010, showcasing the latest cross-platform techniques and technologies, including presentations, panels, workshops, a codefest, the FTW coding competition and a party!  Open Data, HTML 5, PHP, JQuery, Mobile, SEO and the Cloud, are amongst the topics being covered.  Speakers and panelists will include myself, Microsoft Canada team members and many open source experts.

Make Web Not War

Bringing Azure+OData+Silverlight Goodness to Open Data Apps in Ottawa

On Saturday April 24th 2010, at Open Data Ottawa Hackfest, a team built the ‘OttGuide’ application (here showing 6000+ bus stops on the Ottawa public bus transit network), built on the Open Data Application Framework using Silverlight and Bing Maps, accessing an OData service built with .NET 3.5 and hosted on Windows Azure and SQL Azure.  For more on open data and cross-platform togetherness, consider for the Make Web Not War conference on May 27th 2010 in Montreal.

odata1

This passed Saturday Apr 24th 2010, the very successful Open Data Ottawa Hackfest took place for the first time in Ottawa City Hall organised by Edward Ocampo-Gooding and friends.  A large number of people (enough to exhaust the free t-shirt supply) attended for 4+ hours from different fields (developers, designers, librarians, statisticians. media and city officials).  The event included opening presentations, a hack fest where attendees worked on applications showing use of Ottawa data and closed with a series of presentations showing the fruits of the attendees’ labour.

Prior to the event, the City of Ottawa (unlike cities like Vancouver and Edmonton) hadn’t officially published municipal data or a data publication policy.  This meant that attendees to the hackfest were using various interesting methods to get data for their application from screen scraping to manual data re-enty.

I had the opportunity to talk at length with the city’s CIO, Guy Michaud, and discovered that the city is in fact on the verge of agreeing a policy and then immediately publishing a few initial sets of satic data, most likely sometime in May.  It’s quite possible that the hackfest event helped push this action ahead, but Guy is clearly a guy with forward-looking ideas on the issue of data publishing.

I was told about the event a few weeks ago by friend and Microsoft Canada IT Pro Advisor Rick Claus who was planning on attending.  So, in those weeks, I took a look at some of the work that has been done to obtain Ottawa municipal data and at open data work in general.  In particular I looked in 3 things:

odata2

  • Craig Davey had done extensive work on taking Google-compatible data published on the City’s OCTranspo site, augmenting it, converting it to GTFS format and publishing it with updates in a feed.
  • I had been familiar for some time with Microsoft’s open protocol for providing access to queryable and updateable data sets in a RESTful way – OData.  I did further research into this.  OData builds on ADO.NET Data Services and is fully incorporated into WCF Data Services within the recently released .NET 4 framework.  OData is designed to be consumed (or produced) by many different clients on many platforms. There are client libraries available or in the works for .NET (3.5 with an update & 4.0), Silverlight 4.0, iPhone, Javascript, Windows Phone 7, PHP & Java.  In fact, any client that can make web requests and handle XML can access OData-based services.

The night before the event, on a total whim, I decided to knock up an OData service exposing OCTranpo data, so I: 

  • started with Craig’s GTFS-format data provided as CSV files in a ZIP file. 
  • created an ADO.NET Entity Framework Model in a new .NET 3.5 Class Library project in Visual Studio 2010 to represent the GTFS data with entities and relationships
  • used the designer tools to generate DDL script to create the database schema
  • generated the schema using the script
  • created a database in my local SQL Server 2008 server
  • wrote code to import the CSVs and use the ADO.NET Entity Framework classes to import the data which was taking 3+ hours
  • wrote new code to import the CSVs with the SQL using bulk copy class bypassing the model which did the import of over 2 million bus stop time rows in a few minutes
  • added a WCF Service project and removed the default service from the project template
  • added a WCF Data Service item, setting it up to use the class of the entity model I created and providing read access to all entities
  • copied the connection string from my entity model class library app.config into the WCF Service web.config
  • tested my OData service using the OData URL query syntax, here showing a list of all stops… but this could be queried to find things like a nearby stop (from GPS coordinates), the bus times for a stop, the trips (e.g. ‘saturday service to ABC on route x’) and routes (i.e. bus number) going through a stop, find the stops on a trip, when a specific service gets somewhere, or even for full journey planning, etc.

odata3

  • re-opened by solution as administrator so I could use the Azure Cloud tools
  • added a Windows Azure cloud project with no roles and added my existing WCF Service project to the roles
  • tested OData access running in the local Azure Development Fabric connecting to my local SQL Server database
  • created a SQL Azure server and database in the cloud using the SQL Azure portal
  • connected to SQL Azure using SQL Server Management Studio and created my database schema using a modified version of my existing DDL script (removing USE statements)
  • used the bcp utility to export tables from my local database to local files and then again to import those up to SQL Azure
  • updated the connection string in my web.config to use the SQL Azure database
  • tested OData access running in the local Azure Development Fabric connecting to the SQL Azure database
  • published by cloud project in Visual Studio, created a Hosted Service on the Windows Azure portal and deployed the application to Azure using the portal
  • tested OData access running in on Windows Azure connecting to the SQL Azure database

So I had an OData service exposing the OCTranspo bus routes, trips, stops and trip stop times – sweet!

When I got to the event at 3:15pm, I met up with Christian, Rick & John Weigelt (Microsoft Canada’s National Technology Officer).  They were looking at the VanGuide application and potential Ottawa data sources to hook up to it as a demonstration.  Demonstrations were due at 4pm.  Of course, as I’ve stated, good data sources were hard to find because the City of Ottawa hadn’t published any official open data sets.

OData service to the rescue…?

We set to work on integrating my sample OCTranspo OData service (which was already running the cloud), into the the Open Data Application Framework, transforming the VanGuide application into an ‘OttGuide’ application.  The framework includes a Silverlight application project that includes dynamic handling of web-based data sources (the dynamic list of landmark sources on the left of the UI) and asynchronous data retrieval and handling code (that takes KML and other format data and adds data points as map points on a Bing Maps Silverlight control).

We wanted to make this Ottawa specific, wo we went ahead and:

  • modified the data source list to show an entry for OCTranpo and removed the other ones
  • removed other Vancouver-specific map region options
  • added custom code to handle OCTranpo GTFS entities in a feed (our OData feed) using Linq to XML to create Landmark instances that the framework already understands
  • made the application zoom in on Ottawa
  • made some other cosmetic changes for Ottawa

The result is the application you see at the start of this blog entry.  For full disclosure, we got the full bus stop retrieval and map point creation working literally 1 minute after the public presentation section finished, but Christian managed to demonstrate the VanGuide version and the OData feed.

The ODAF framework means that an OttGuide application user can select bus stops, rate them, add comments, etc.  It would be relatively easy to add datasets for other ‘landmarks’ (e.g. water foundations, tourist spots, parks and even pot holes).

The same OData service could be used on clients like the new Windows Phone 7 platform to give bus services users valuable travel information :).  Perhaps more on that later…

Open data and open web technologies are current hot topics and OData is a great protocol to bring things together on many platforms.  Silverlight is a great technology to deliver rich user experiences on many platforms using data sources from a variety of platforms. 

Microsoft and Open Source Communities are sponsoring the Make Web Not War conference on May 27th 2010, showcasing the latest cross-platform techniques and technologies, including presentations, panels, workshops, a codefest, the FTW coding competition and a party!  Open Data, HTML 5, PHP, JQuery, Mobile, SEO and the Cloud, are amongst the topics being covered.  Speakers and panelists attending include myself, Microsoft Canada team members and many open source experts.

Make Web Not War