Blog Moved

My blog has moved!

https://kmack.azurewebsites.net

Thursday, May 28, 2015

Azure Talk

Just wanted to get an update out to let you know that nothings happened to me. Its amazing how little time you have when as a parent you go from a "double coverage" situation to "Man-to-man". It makes for some very long days, combined with getting up every 2 hours or so for a feeding. You know, we as parents subject ourselves to sleep deprivation, and noise assaults willingly. These are tactics being used for torturing terrorists. What are any of us thing?

So, that being said. When I do have a spare moment lately, I find myself questioning my own judgment. I have been working on a new talk, and demo relating to the App Service offerings from Azure. All of which I've worked on during my free time, and will be available via GitHub, along with the prezi.

I also wanted to take a moment to talk about the facelift this site just received. There were many enhancements made to this site, but some of the big ones are the following:

  • Facebook Page:  I've created a BigMackBytes, facebook page.  This page I have been filling with different resources that I found in my travels online that I thought might be of use to my readers.  So please check it out, it is receiving at a minimum daily updates for the past week and a half or so, and occasionally more than that.
  • Twitter / LinkedIn:  Here are my two professional social media outlets, I do regularly post links to items on my twitter account for additional resources, and LinkedIn provides more of my professional background.
  • GitHub:  Self explanatory as my personal github account, complete with all of my demo project code.
  • Public Prezis:  Here is a link to my presentations, this will give you copies of my prezi's to review if you want and consider the information they provide.
  • Email Me:  A link to my email if you wish to directly contact me.  
  • CodeProject Profile:  This blog is consumed by CodeProject, a truly fantastic site that has a lot of great articles and I try to contribute regularly.  Here's my profile on that site.
  • Helpful Links:  One of the most visited sections of my course site when I taught was the "Helpful Links" section, which provided a wealth of resources to help people as they work.  Well I have not only brought that feature over, I've upgraded.  I now use a Google Chrome extension called Bookmark Manager, and within that have exposed a whole section of resources as public.  You will find those links here and are welcome to use them as you see fit.
If you have something you would like to contribute or discuss, please feel free to reach out via one of the many options (Twitter, LinkedIn, Email, etc), and I will happily look at it for inclusion in the helpful links, or a post on the facebook page or blog.  I am always looking for new resources to share and would love to continue a dialog of possible resources out there.

Like I said this a short post, but I have more to come, as part of this demo I've gotten to really experiment with API, Mobile, and Logic apps, and I am really excited about the possibilities they provide and look forward to discussing it further with all of you.  

Until then though, I must sleep.  

Tuesday, May 19, 2015

Azure APIs = Digital Legos

As was mentioned in the previous post, I had to modify my azure series because of the exciting new announcements that were made in the past few months.   For those of us who see the perks and power behind platform as a service (PaaS) there is definitely a lot to be happy about.  Prior to this point there were really only two options available for platform as a service...Websites and Mobile Services.

Don't get me wrong, both are powerful, but recently Microsoft opened up the options available with the new offerings available.  The first being WebApps, which I've previously done several posts on Azure websites, and there is absolutely no differences between websites and web apps.  Just a rebranding to try and show how these can coexist to make a better cloud solution.

The next one, and the focus of this post, is Azure API Apps.  Which Microsoft is pushing as the best possible option for providing and building APIs.  The idea being that these APIs can then be consume by other web apps, outside services, etc.  There are a bunch of potential options available, including using it as a potential building block in an Azure Logic App.

As for how do we setup an API app, its actually surprisingly simple, and involves the following process.  I'm not going to focus on the steps to set one up, as there is a great article in Microsoft's Azure documentation that does an excellent job of doing that.  It can be found here.

Azure API apps, are supported on the backend by Web API.  Which is an ideal choice for creating RESTful services in .net.  I've done a previous post about the basics of Web API, which can be found here.  Web API provides several benefits, but some of the biggest are the following:

  • Client Driven Content Type:  WCF Services require formal definition of end types, and can be rather inflexible, but the greatest strength of Web API is the fact that in the request header, the "Content-Type" is set, and Web API supports several different content types.  But even gives you the ability to define your own formatters.  
  • Convention over Definition:  One of the paramount principles to RESTful services is that they provide a format where convention is favored over definition.  Meaning instead of providing all kind of plumbing code to sett up endpoints for your services.  You rely on the routing and Http Verbs to define the actions within your services.  Beyond that they function the same as controllers for MVC.
Azure API Apps, utilize Web API as the primary vehicle for supporting the API within the application.  But it provides additional support by having out of the box built in support for Swagger, which provides JSON based definition of the controllers and methods available to the API.  

This allows for a scenario where we get to have our cake and eat it too.  We get all the benefit of having the RESTful services without having to define and maintain documentation based on the changes to the API.  When the API is updated periodically Visual Studio takes the opportunity to build the swagger JSON documentation.  This provides the ideal best of both worlds.  

As for my next post we will see a Web API and an API interact with one another.  

Thanks again,

~K

Saturday, May 9, 2015

Advanced Topics Talk

Well as I posted on my course site.  I am officially closing out the Spring 2015 semester.  This semester was plagued with several scheduling problems, and as a result at times felt a little rushed.  So today I held a "make-up" of my advanced topics class and invited people to meet me at Panera Bread for the discussion.

It was a great talk, and a good time.  And all seemed to enjoy it.  And as promised for a followup I said I would post links to the resources that I discussed:

  • Visual Studio Online:  As I mentioned this provides a fantastic set of project management tools, as well as source control for free to anyone with a Microsoft ID.  This allows for syncing and backing up your work in a way that makes everything easier to manage a team.  
  • Windows Azure:  Microsoft's cloud platform, with loads of free options for supporting web apps, database, and a variety of services.
  • Windows Azure Pricing Calculator:  A great resource for helping to determine how much resources will cost on a monthly basis.  Its all ridiculously cheap but its still nice to know ahead of time an estimated cost.  
  • ShareItSimple:  A startup some friends of mine worked on to help share files in a really simple fashion.  
  • Microsoft Bizspark:  Microsoft's program for startups where if approved will provide free microsoft products and $300 a month in Azure Credit for years.  Great program.  
  • Visual Studio Code:  A new product to install cross platform and work on code, great for light weight operations.  
  • Channel 9:  A collection of instructional videos from microsoft.  
  • Microsoft Virtual Academy:  A variety of training resources by microsoft MVPs.  
  • PluralSight:  A paid for service that has amazing technical resources from some of the biggest names in the technical resources.  
  • Xamarin:  A development tool that lets you leverage C# to build Android and iOS apps that share code making it easier.  

Sunday, May 3, 2015

Where the heck have I been?

Hello All, so I know I've totally been MIA for at least a month now.  And for that I apologize, I really do.  But things have been pretty busy lately.  I usually try not to dip into my personal life much on this blog, but in this case I feel like you all deserve an explanation.  The past month I've seen the following:


  • Production 1.0 Releases of Several Projects at Work
  • The release of a product for an outside client, and initial support
  • The approaching end of the semester for my course.
  • The approaching arrival of baby #2, and preparing for that.
  • Health issues with members of my extended family
  • The passing of my grandmother.
Needless to say, its been a particularly busy month.  But things are calming down now, and I intend to pick right back up with my series on Azure PaaS (Platform as a service).  Now that being said, I do have to change the plan a bit.  As many of you know, there was several announcements over the past month.  The biggest being Azure App Service.  So I am going to be modifying my series to continue discussing these new offerings.  The new schedule is:
  • Azure API Apps:        5/11
  • Azure Mobile Apps:   5/18
  • Azure Logic Apps:     5/25
  • SQL Azure:                6/1
Thanks All, more to come this week.