Connect:    



Event Calendar

Some useful links

Online Courses

Articles


A software architect, Azure expert, and former Microsoft evangelist, Mike Benkovich dedicates huge amounts of his time to helping his fellow developers and burgeoning programmers learn about new technologies and platforms. Mike’s website equips developers with tips and resources to help them get to grips with technologies including cloud, data and devices, and he produces online courses covering areas like Azure enterprise development and serverless computing. Mike is also a chronic sharer of puns, so head over to his Twitter feed if you’re after a laugh (or a groan).

BenkoBLOG by Tags


Blog Roll...
Conferences
Regional User Groups

Blog

The Right Things

@MikeBenkovich 01/05/2023

I was watching the movie "The Right Stuff" over the holiday week and was impressed by how far we've come in terms of technology and using it to help us accomplish amazing things. From the story of Chuck Yeager chasing the demon in the sky limit of Mach 1 in the Bell-X1 to how they developed the Mercury project to launch space exploration, I loved seeing how the people and technology were used to make it possible. Of course there were mistakes, but without trying how do you learn? 

Doing things right is a mindset that is a requirement if you want to get in the game anymore. It's no longer good enough to think we can just show up and get paid, we have to provide value. The value of being willing and able to make decisions and try the impossible, by reaching for the sky we don't come up with a handful of mud. But is doing enough?

Doing Things Right

In the movie Apollo 13 we see Tom Hanks play Jim Lovell as the commander of the crew that experiences what can go wrong, and we see how the team responds to see if they have what it takes to bring them home. The challenge comes when one of the oxygen tanks malfunctions and damanges the return ship on their way to the moon. The drama plays out, but ultimately by thinking outside the box the team on earth comes up with ways to repair enough of the damage to bring them home.

Doing things right means having the right people in the right places there when you need them. Knowledge of what's possible, how to do things, what tools work for which jobs, all of these are important. Knowing how and when to combine the ingredients are what separates the star baker of the week from the one who gets voted off the island. It might mean finding someone who's done it before and knows the things to avoid. Doing things right is a whole lot easier than doing it poorly and doing it again and again.

For example, in the work that I do we're talking about containers and infrastructure and cloud. It is important to understand Docker and Kubernetes, as well as DevOps and Infrastructure as Code options like Terraform or Bicep. Doing things right means combining these tools to develop and deliver solutions where we follow sound project management practices. Whenever I come across a new project there's good questions to ask so you can get an idea of where things are at.

But Because you Can Doesn't Mean You Should

With that said, does the use of these tools and technologies mean success? Should we use containers and DotNet Core with WebAPI's? Should we use Agile and 2 week sprints with daily scrum meetings? We are putting together a team and it's going to go in and solve the challenge and keep the world safe for technology!

Sometimes we immediately prescribe an answer, using our best practices and ensuring we're using the right stuff to deliver value, but we fail to hear the requirements and understand the lay of the land. We kick off the project and by hook or by crook we drive the daily scrums and manage the sprints and work like crazy. We dedicate ourselves to the task at hand and make sure everyone participates. We deliver our solution, then realize it solves the wrong problem.

Do the Right Things

We fail to ask the right questions, so we end up doing the wrong things. Who is our team, and what is their experience? How much learning do we need to do to bring people up to speed? What is the timeline and who is the audience? The consultant's answer is it depends. Who do you ask? What is the vision and how is it related to the mission we're working on? Based on this are we ready to move on to new tools and technologies? Are we ready to make smart decisions that fit the reality we are in? 

As 2023 starts out it's apparent to me that we need to make time to reflect and give some space to think before we act. Doing is good, but sometimes not doing or doing something else is better.


Using Cosmos DB for my Blog

@MikeBenkovich 04/30/2021

Have you thought of using new/different technologies to explore the impact of using new tools? I'm presenting a new session at Minnesota Developer Conference on Tuesday 5/4/2021 (Star Wars day) that will explore the technology and implementation details to make this type of implementation work.

Check it out!

Cosmos Tools for the Relational Developer

Tuesday 5/4 at 11:00 am - MDC 2021 | Minnesota Developers Conference (mndevconf.com)

Understanding how your data works is crucial to taking advantage of the capabilities and power of Cosmos DB, from setting up and migrating data, to querying to understanding performance consequences of data manipulation. These tasks become easier thanks to a growing ecosystem of tools around the Cosmos DB platform. In this session we'll look at how Cosmos DB tools available from Microsoft and 3rd parties make it easy to make the transition from the relational to Cosmos.

The topics we'll cover include:

  • Why Azure Cosmos DB
  • Provisioning a Cosmos DB from the Azure Portal
  • Code patterns for working with Cosmos
  • Data Migration
  • Data Modeling and strategies for performance and cost optimization

Some reference links:

Enjoy!


VS 2017 Launch Live Notes

@MikeBenkovich 03/07/2017

Watching the live stream of the Visual Studio 2017 launch and 20 year anniversary party…thought I’d capture some of the notes of what’s going on and share the fun.

Visual Studio 2017 release

Developer Productivity - Kasey Uhlenhuth

  • Live Unit Tests
  • Exception helper
  • Find all references
  • New intellitrace tray of options
  • Ctrl+T for goto All
  • Code suggestions
  • Code Config file - map code styles and suggestions for environment
  • Support for tuples on methods
  • Improved refactoring
  • Indent guide visibility to method code is in even if not visible

.NET Core - Beth Massi

  • .net Tools for Core 1.0 in production
  • Migrate/Upgrade to new tools easy
  • Simplified csproj format which is human readable
  • References grouped by type…i.e. nuget refs, project refs, etc.
  • Application Insights
    • New add-in experience
    • Search and graph analytics in VS

Containers Docker - Scott Hanselman

  • Add docker support in VS right click on project
  • Run in docker if selected startup project
  • Debug, edit and volume mapping realtime from vs to docker
  • Publish to Linux docker or windows
  • Automatically references other docker containers dependent on
  • Debug across containers
  • Check out Ref application http://aka.ms/MicroservicesArchitecture

Xamarin : James & Miguel

  • Tizen new OS from Samsung for IoT devices…built on Xamarin Forms
  • Visual Studio for Mac Preview 4
  • New App templates
    • Mobile App added with best practices if checkbox Azure
    • Code for clients
  • Forms Previewer
    • Works if you have JDK 1.8+ on x64 installed (settings?)
  • Improved intellisense
  • Native animations in XAML
  • Forms inspector, when connected tp android emulator
    • Layers
    • Live edit of XAML

VS Mobile Center - Keith

  • http://mobile.azure.com
  • Xamarin Test Cloud
  • Add app…pick type
  • Add nuget & register app
  • Distribute sets up a team of testers/user community for builds
  • Build service
    • Pick sln
    • Provisioning profile
    • Certificate for signed builds
    • Trigger
  • Test service …
    • run automated UI tests
    • See devices tested on
  • Crash reporting
    • Usage & crash info
    • Stack dumps grouped by count
  • Analytics
    • Custom events

DevOps - Brian Harry & Donovan Brown

  • Continuous delivery
  • "Shift Right" = delivery improvements, production is part of the plan
  • TFS 2017.1 for on Premise installs
  • http://aka.ms/tfsimportdata
  • Donovan demo - any project, any platform
    • Create project
    • Import Git repo
    • View code
    • Setup build from templates or by scratch
      • Sources - where is repo? In TS or external?
      • Test settings
      • Code Coverage
      • Build agents - windows or linux
      • Search for build task
      • Marketplace for build tasks
      • Create your own extension
      • Variables
      • Create work items on failure
      • Track history/changes to build definitions
    • Release definitions
      • Infrastructure as code
      • Approvers
    • Dashboards
  • Data Migration - Partner with Red Gate
    • In VS RedGate ReadyRoll has tools by default
    • SQL Obj explorer, make changes and save
    • Tell ReadyRoll to refresh with changes, generate migration scripts
      • Add update statements for populating default values on existing data after modification
    • Add database scripts and changes that will happen on the database
    • Add the ReadyRoll task to deploy the database task
  • RedGate included in VS 2017 Enterprise
  • Pluralsight 1yr
  • DevOps Enterprise Accelerator offer

Cloud Tip #3–Find good examples

@MikeBenkovich 03/31/2012

imageYesterday in Minneapolis we delivered the first Windows Azure Kick Start event of the series we’re running this spring to help developers learn and understand how to use the new tools and techniques for building cloud based applications. As part of that event we wrote a lot of code as a demonstration of how this stuff comes together and I’ve uploaded it to www.benkotips.com in case you’re interested in the download. The solution includes several projects including:

  • MplsKickSite - An existing ASP.NET web site that we migrated to Windows Azure, implementing the RoleEntryPoint interface and adding references to the Microsoft.WindowsAzure.StorageClient for working with storage, and Microsoft.WindowsAzure.ServiceRuntime to give us instance information. We also added cloud identity to the site using Access Control Services to secure a data entry page with data hosted in a SQL Azure database
  • WPFUpload which is a Windows application which includes logic to support drag and drop to upload files into Windows Azure Blob Storage, and if they are images to add work to a queue to create thumbnail images
  • UploadDataLib which is a class library that implements Windows Azure Table Storage logic for working with the images uploaded by WPFUpload and the ThumbMaker worker role projects.
  • ThumbMaker which is a worker role class that demonstrated working with Tables and Queues and the System.Drawing library to create thumbnail images and brand them with a custom logo message
  • PhoneApp1 which demonstrates how to use a Windows Phone Silverlight user control to handle the login conversation with ACS
  • NugetPhone which is a second example of ACS in use with devices, except that instead of spending 10 minutes to write the code like we did with PhoneApp1 we use the Nuget package manager to include a package (Install-Package Phone.Identity.AccessControl.BasePage) to perform the authentication for us and make the 4 code changes to implement the logic…2 minutes to demo

The decks and recordings of similar sessions are available on the Soup to Nuts Cloud Computing page of my site (http://bit.ly/s2nCloud). You can download the solution and project files and run every thing with the Compute and Storage Emulator, but you’ll need an active subscription to deploy to the cloud. If you don’t have Azure benefits you can activate from an MSDN Subscription you can always give the 90 day Free Trial a try.

Enjoy!

Digg This