Detroit Day of Azure

Tags

,

I’m thrilled to be speaking at the Detroit Day of Azure on Saturday, March 24th.  This is going to be a one day event that will cover many areas of the Windows Azure platform.  I’ll be giving two presentations, “The Hybrid Windows Azure Application” and “Windows Phone 7 and Windows Azure – A Match Made in the Cloud”.

Check out this speaker lineup!

  • Dennis Burton
  • Jason Follas
  • John Ferringer
  • David Giard
  • Joe Kunk
  • Jennifer Marsman
  • Jeff Nuckolls
  • Brian Prince
  • Mark Stanislav
  • Brent Stineman
  • Mike Wood

That’s a pretty impressive list of Windows Azure MVPs, Microsoft evangelists, and cloud gurus.  This is going to be fun!!

Registration is now open at http://detroitdayofazure.com/.  You can get in on the early bird pricing now for just $10.  That’s a great deal!

Deploying a Windows Azure & SQL Azure Solution with Visual Studio Team Build

Tags

, ,

Recently I have been working on a project where we needed to deploy both our Windows Azure and SQL Azure projects in a controlled and automated manner.  We were already using Visual Studio Team Build for source control and doing simple gated check-ins.  I wanted a way to easily use Team Build to handle the build and deployment for the Windows Azure and SQL Azure projects, and do so in a single step.

I was already aware of how to build and deploy a Windows Azure project by itself.  Tom Hollander has a few great blog posts on how to do this.  I pretty much followed what Tom outlined in his “Using MSBuild to deploy to multiple Windows Azure environments” post.

Deploying a SQL Azure project itself turned out to not be that hard either.  Doing so was simply a matter of using MSBuild to call the “Build” and “Publish” build targets in the Microsoft.Data.Tools.Schema.SqlTasks.targets file (referenced from the .sqlproj file).

Individually the Windows Azure and SQL Azure projects are pretty easy to build and deploy.  Doing so together was something I had a little more trouble figuring out.  I’m sure this was partly due to the fact that I am NOT a Visual Studio Team Build guru.  Heck, I hardly deviate from the normal default configuration!

After consultation with some more experienced Visual Studio Team Build folks at my company, the solution I ended up going with was to modify the default build template to branch the build logic depending on the type of project being built.  If the project is a Windows Azure project (.ccproj), then execute MSBuild with a target and parameters to deploy to Windows Azure, and if the project is a SQL database project (.sqlproj) then execute MSBuild with a target and parameters to deploy to SQL Azure.  Below are the steps taken:

    • Create a new build template file, using the DefaultTemplate.xaml file as the base (create a copy of the DefaultTemplate.xaml file).
    • Set the projects to build as the Windows Azure (.ccproj) and SQL database (.sqlproj) project files.
    • Modify the build workflow in the XAML file to branch based on the type of project.  There are two places in the build workflow where this will need to be done.  The easiest approach, at least for me, was to slowly proceed down the workflow file until I found the “For Each Project in BuildSettings.ProjectsToBuild” sequence. I modified the default sequence to check if the project file ended with ”.ccproj” or ”.sqlproj”, and then run the appropriate MSBuild command for the project type.
Build Template Workflow - Before

Build Template Workflow - Before

Build Template Workflow - After

Build Template Workflow - After

  • Create two new build workflow arguments, SQLProjectDeployArgs and WindowsAzureProjectDeployArgs, that will be used to specify the arguments for MSBuild for each project type.
  • Change the CommandLineArguments property for MSBuild to accept a new variable that is applicable for the Windows Azure or SQL Azure project.  For example, the CommandLineArguments property for MSBuild associated with the Windows Azure project should read: “String.Format(“/p:SkipInvalidConfigurations=true {0}”, WindowsAzureProjectDeployArgs)“.
  • Finished.  Save the template file and make sure it is checked back into TFS.
  • Edit the build definition
    • Change the “Projects to Build” to include only the .ccproj and .sqlproj files.
    • The build definition should now include two new parameters under the “Misc” section.

SQLAzureDeployArgs:  /t:Build;SqlPublish
/p:SqlPublishProfilePath="./Publish Profiles/MyProject.Database.Debug.Azure.publish.xml"

WindowsAzureDeployArgs:  /t:AzureDeploy
/p:AzureManagementCertThumbprint="F908XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAA1"
/p:AzureSubscriptionID="0877xxxx-xxxx-xxxx-xxxx-xxxxxxxx1234"
/p:AzureHostedServiceName="myproject"
/p:AzureStorageAccountName="mystorage"
/p:AzurePublishProfile="test"

In the end, the build definition looked like this:

Windows Azure and SQL Azure Build Definition

Windows Azure and SQL Azure Build Definition

So far this approach seems to be working fairly well.  The only problem I see now is if one of the projects fails to deploy and the other project succeeds, the deployment operation as a whole may report a failure.  This seems to be more of a problem with the database deployment (e.g. a script is incorrect) than the Windows Azure deployment.  One thing we’ll look at in the future will be to try to deploy the SQL project first, and then if that succeeds, then deploy the Windows Azure project.  For now we just need to realize that even though Team Build may report a failure, a portion may have succeeded.

In the end, right now I’m fairly happy with this approach.  It keeps the solution simple, which was a primary objective.  I think this will be an easy to maintain approach as well.  Are there more elegant solutions?  Perhaps.  How would you solve this problem?

MSDN Webcast: Windows Azure Office Hours, featuring Mike Benkovich

Tags

,

Last Friday I had the pleasure of joining Mike Benkovich for his weekly Windows Azure Office Hours webcast.  Windows Azure Office Hours is a webcast where Mike interviews a Windows Azure expert and also answers questions posted to the site (before the show and LIVE)!  I was honored to join the list of guests that included Mike Woods, Adam Grocholski, Paul Stubbs, Mark Russinovich, and Scott Klein.

For the Windows Azure Office Hours last Friday, Mike and I discussed a wide range of topics related to Windows Azure.  We discussed how I got started working with Windows Azure, my involvement with the excellent Windows Azure Boot Camps, and we spent quite a bit of time talking about the NuGet packages from Microsoft’s Developer Platform Evangelism team that help Windows Phone developers easily use Windows Azure.

During our conversation, I walked through a full demo that showed how to use the NuGet packages.  The demo showed how to quickly create a simple Windows Phone application that uses Windows Azure Access Control Services (ACS) to secure the application.  I also showed how to easily use Windows Azure tables, blobs, and queues from the Windows Phone app, and to do so securely by using a proxy web service that is secured with ACS.  All that was done in about 20 minutes!

Watch a recording of the webcast or download it now.

If you’d like to explore the tools and NuGet packages I showed, please check out the list of resources below.

Resources

Windows Azure Training in Helsinki, Finland

Tags

In mid-December I had the good fortune to travel to Helsinki, Finland to deliver a training class on Windows Azure architecture.  This was my first trip to Europe.  I had been to Mexico, Canada, and Singapore, but never anyplace in Europe.

The trip to Helsinki got off on an interesting start.  After a short flight from Columbus to Detroit, I boarded the flight from Detroit to Helsinki.  After a longer than expected wait after boarding the plane, the captain finally announced that the jetway had caused some damage to the plan while pulling away.  Turns out the jetway actually ripped a hole in the plan’s skin, and thus the plane was unfit for flight.  Apparently duct tape can’t fix all things.  We had to deplane and board another plane a few hours later.

The flight from Columbus to Helsinki was long, but not too bad.  My flight was scheduled to arrive in the mid-morning in Helsinki.  My plan to combat the time difference was to try to sleep some on the plane (trying to adjust to Helsinki time as much as possible) Unfortunately, try as I might, I could only sleep an hour or so of the 7 hour flight.  I watched a few movies and burned through the battery on both my laptop and cell phone.

After landing in Helsinki and grabbing my luggage, I headed to the taxi area to catch a ride to my hotel.  I wasn’t sure what type of taxi to expect, but I certainly didn’t expect to see BMW’s, Mercedes-Benz’s and Audi’s as the taxis!  I guess I’m used to the crappy yellow Ford or Chevy taxis we have in the United States (oh, and don’t forget the funky smell or glass partition).  I was able to get a nice Audi as my ride to my hotel.  My first experience in Helsinki was off to a great start!

The hotel I stayed at in Helsinki was Hotel Glo.  I picked it primarily because it was listed as one of the top rated hotels in Helsinki according to TripAdvisor.com.  Well, that and I thought it had a cool name.  Hotel Glo was a very nice hotel.

Bedroom

Bathroom . . . check out the shower

Somewhat surprisingly (at least to me), there was no snow in Helsinki.  The weather when I was there was pretty much like Columbus – 35°F, cloudy, and rainy.  Just like home.  There was also not much sun – so kind of like home there too.  The sun was up for about maybe 6 hours each day – from about 10:30am – maybe 4:30pm.  It was definitely the dark, rainy season.

Even though it was dark and rained a lot, I did manage to get out a little and explore some of Helsinki.  Wow – what an amazingly beautiful city!  I didn’t venture too far from my hotel.  I basically walked in a circle for a few blocks surrounding my hotel.  While I could read many of the street signs, I couldn’t pronounce the names.  Many of the people there speak English, but I didn’t want to try to ask for directions and butcher the street names (thus sounding like the stereotypical ignorant American tourist I probably was).  I really loved the architecture of the buildings.  Many were these massive, old-looking buildings. I don’t see such buildings back home.

Christmas is a fairly major holiday in Finland.  There was Christmas music playing in the streets and nearly all the stores I visited.  A lot of the Christmas songs were in English, but some where sung in Finnish.  It was pretty cool to hear songs I knew being sung in a different language.  The stores were beautifully decorated as well.  The largest store that I saw was Stockmann.  Lights were all over the outside of the building.  The store also had some amazingly decorated window displays.  People would line up several deep to get a good look at the display.

Outside Stockmann's at night

Window display at Stockmann

The food in Helsinki was really good too!  About a block from my hotel was a McDonald’s.  Yes, I did stop by McDonald’s for lunch once and breakfast a couple of times. I had to see if it was different – it was, but not by much.  There was still the famous Big Mac, Quarter Pounder, and Sausage McMuffin with Egg.  There were also a few different sandwiches as well (sadly I don’t remember the names).

Anybody that knows me knows that I’m a Starbucks addict.  I could not find a Starbucks in Helsinki.  I asked a few folks at the office I was working from, and apparently there isn’t one.  Sad.  But, there was a pretty good substitute – Robert’s Coffee.  Robert’s was about a block from my hotel (right next to the McDonald’s), so it was easy to grab a nice coffee before catching a taxi to the office.

I did try some of the local food.  I wasn’t sure what “local food” was though.  The area I was staying in was a tourist and business area, and that seemed to mean there was a lot of restaurants with other non-Finish cuisines.  There was Italian food, American food, French food, and a few others.  While not prevalent where I was staying, I did have some traditional Finish fare.  I believe the Finns eat a lot of fish and potatoes.  Luckily, I like Salmon (and most other fish) and potatoes, so I was pretty comfortable.  There is also a lot of reindeer in Finland . . . but at least one less now!  Apparently the Finns eat reindeer.  I had never had deer of any type before.  The reindeer dish I ate was really good – very lean and tender. The desert was great too!

Reindeer dish

Mmmm . . . dessert

I was in Helsinki for work, so I suppose I should talk a little about that as well.  I was leading a course on Windows Azure architecture.  I wanted to share a little about me with the group, so I started off by telling people a little bit about where I’m from.  I shared with the class that I’m a proud alum of The Ohio State University . . . blank stares.  Nobody there had even heard of Ohio State.  Crushed!  During this trip there would be no “O-H” to be followed by an “I-O”.  Helsinki is the only place I’ve been where I haven’t seen another Buckeye!

The class I was leading was spread over 3 days.  We talked about many of the aspects that go into creating solutions with Windows Azure – compute, storage strategies, identity management, best practices, understanding costs, etc.  There were about 15 people in the class.  I really enjoyed my time working with the group.  So many good questions and discussions!

The group

I was only in Helsinki for a week.  I had a great time there and meet some really cool, smart people.  Everybody I meet was incredibly nice!  I would absolutely love to go back.  Next time, it would be great to see places outside of Helsinki too.  I’d really like to visit the northern parts of Finland (the Lapland) area.  I heard that is a little more rural area and it would be great to see some of the natural landscape there . . . and maybe a few wild reindeer!

I have many more pictures to share.  If you’d like to see those, please head on over to my SkyDrive share.

A Step-by-Step Guide to Creating a Windows Azure Application

Tags

,

Last week my first major Windows Azure article was published.  I’ve written articles for my blog, and even been honored to be asked to guest author an article for another blog (check that article out here).

The article on Developer.com is the first article I’ve written for a popular site.  In the article I provide a step-by-step walk-through of creating a basic Windows Azure application. The application uses ASP.NET MVC3, SQL Azure for the relational data storage, and Entity Framework as the ORM.  The application as presented is fairly simple in many ways, but I think there are lots of avenues for growing the app.  Some ideas I have include adding ACS support, adding a mobile client (or just a new responsive UI), adding support for pictures (including using the CDN), and a few more.

I had a lot of fun writing this article.  I hope you’ll enjoy reading it.  :)

Please check out the article at http://www.developer.com/services/creating-a-windows-azure-application-a-step-by-step-guide.html.

Windows Azure at the Dayton IT Pro Camp

Tags

,

Yesterday (1/18/2012) I was able to give a Windows Azure presentation to a group (about 80) IT Pros at the Dayton IT Pro Camp.  I co-presented with Brian Prince, who is a buddy of mine and a Principle Cloud Evangelist for Microsoft.

This was the first time I’ve delivered a Windows Azure presentation to a group of IT Pros instead of developers/architects.  The delivery/messaging about cloud computing and Windows Azure was a little different than speaking to a group of developers.  We focused more on the importance of application management, working with the developers to build out the service model (roles, number of instances, protocols, ports, OS version, etc.).

Overall I felt the group seemed to really like what we had to say and we had several good questions during and after the presentation.  Often I work with application developers and architects.  It was really neat to get to be a part of an IT Pro focused event, and to talk with several of the attendees.

This was the first year of the Dayton IT Pro Camp.  I think the organizers did a great job getting the event going.  I hope they continue doing these!

Windows Azure for Developers – Service Management API

Tags

,

Last week I presented the second of a four-part webcast series on Windows Azure for developers.  I showed a lot of code during the webcast today, so I wanted to make it available for download.  A PDF of the slides are is also available.

Be sure to join me on Wednesday, February 8th 2012 for the third webcast, this time focused on Windows Azure role communication.  You can find the full schedule here.

2011 in review

The WordPress.com stats helper monkeys prepared a 2011 annual report for this blog.

Here’s an excerpt:

The concert hall at the Syndey Opera House holds 2,700 people. This blog was viewed about 9,900 times in 2011. If it were a concert at Sydney Opera House, it would take about 4 sold-out performances for that many people to see it.

Click here to see the complete report.

Looking forward to CodeMash 2012

Tags

I’ve spent some time this week looking back on 2011 and preparing for a few initiatives I want to get done in early 2012.  As I was looking through my calendar for the next month, I noticed a nice gem coming up in a few weeks – CodeMash 2012!

I’ve been attending CodeMash since the conference’s start in 2007. It’s been really exciting to see the conference grow from a somewhat small regional conference to what is really now a fairly major national event.  Heck, CodeMash sold out in around 20 minutes this year!!  Attendees come from all over the U.S.  I believe some speakers are even coming from overseas this year.  All this for a technology conference in Sandusky, OH in January – wow!!!

So why am I so excited about CodeMash again this year?  For starters, just take a look at the session line up!  There are some great speakers and topics.  I’m starting to prep my “must see” list for CodeMash, and a few sessions I’m really looking forward to checking out are:

The keynote sessions by Ted Neward and Barry Hawkins also look to be really great!  Besides the great sessions and keynotes, the side hallway conversations with the crazy smart CodeMash attendees are always invaluable!  Some would go so far as to say it is the side conversations themselves that are the reason they attend CodeMash.

This year I’m happy to be attending CodeMash as a member of Neudesic.  When I joined Neudesic earlier this year, I made it a point to spread the word about CodeMash.  I’m very pleased to have a few of my Neudesic colleagues joining me at CodeMash this year.  Joining me this year are Monish Nagisetty, Bryce Calhoun, and Ted Neward.  All of us are really looking forward to meeting all the smart folks at CodeMash and experiencing all that CodeMash has to offer . . . like the bacon bar!

If you would like some quality one-on-one time with Ted Neward, or other Neudesic rock stars who can answer your most pressing questions, at CodeMash, I’d definitely encourage you to do so.  Ted’s always a blast to talk with!  He’s a crazy smart guy with great insights into today’s technology issues.  Kelli Piepkow is coordinating all the logistics for those meetings, and you can reach her here.

The CodeMash countdown is on.  Less the 2 weeks to go!!

Your Apportunity: Windows Phone + Windows Azure

Tags

, ,

It’s the last few weeks of the year.  Hopefully those “death march” projects are finally over.  It’s time to lay off the Mt. Dew, at least a little, and spend some relaxing, learning, and finally do those fun side projects you’ve wanted to do all year but never had the time to do.  One of those projects should be taking time to learn about Windows Phone or Windows Azure.  Mobile and cloud computing were all the rage in 2011, and it’ll surely continue in 2012.

It’s no secret I love working with Windows Azure.   As much as I love working with Windows Azure, it can be a hard technology to actually “see”.  After all, it’s “the cloud”, right?  Without some sort of user interface, it can be hard to get excited about the benefits Windows Azure can offer.

This is where Windows Phone enters the story.  I personally use a Windows Phone and find it to be an excellent product.  It’s also happens to be a platform that is actually really easy to write applications for.  As a developer at heart, I enjoy trying to create fun applications and Windows Phone gives me a fun new environment to create those applications.

When creating Windows Phone applications, you’ll often find yourself needing to get data to your application or save data from your application.  You already know Windows Azure offers many great options for working with data, it seems only natural to leverage Windows Azure as a platform to help build a Windows Phone application.  You can access data by connecting to a WCF service that is fronting a SQL Azure database.  Or, you may decide that a NoSQL approach to your data needs is best, and in that case you can use Windows Azure’s table storage service.  If you need to store items that don’t fit a NoSQL or relational data model, let’s say pictures taken from Windows Phone, then you can use Windows Azure’s blob storage.

It’s easy to get started doing just this.  To do so, the appropriate toolsets will be needed.

If you’re looking for some nice libraries and controls that can make building Windows Phone applications that use features of Windows Azure such as storage or Access Control Services, be sure to check out some of the new NuGet packages Microsoft recently released.  The easiest way to get started is by watching Cloud Cover episode 66.  In that episode Wade Wegner and Steve Marx provide an overview of using these NuGet packages.  Definitely worth checking out!

Once the application is created, you’ll  want to publish the application to the Windows Phone marketplace so that you can share your creation with friends, family, and hopefully a few million other Windows Phone users.  Microsoft has been running a promotion for a few months now that offers developers that submit new Windows Phone applications to the marketplace a chance to win a slick new Samsung Series 7 Slate PC.  So not only can you have fun writing a Windows Phone application, share that app with a lot of people, but also potentially win a cool new slate PC!  Since the application uses Windows Azure, you earn an extra entry to the contest!  As Charlie Sheen would say, “WINNING!”

To enter the contest, go to http://bit.ly/MangoOffer to register, and use the promo code “MCOLL”.  You’ll find all the contents details there.  The contest ends on December 31, 2011 – so get slinging that code now peoples!

Follow

Get every new post delivered to your Inbox.

Join 683 other followers