Windows CE App Container on Windows 10 IoT Core

Microsoft is providing a way to “modernize” older Windows CE applications by moving these onto Windows 10 IoT Core using a new feature called Windows CE App Containers.
This is certainly well-intended, but customers should really double-check their use case, if it really makes sense to follow down that path, just to avoid ending in a cul-de-sac.
As a former Windows Embedded MVP and Windows Embedded Silver Partner, I am very aware of the variety of CE applications existing and only in rare cases I would feel good with recommending to containerize an existing CE app to a customer.


If you feel the need to modernize an existing Windows CE system, there are several options you should consider first, depending on the nature of your application.

Here is a quick list of options that comes to my mind:

  • Hard real-time systems written in C or C++
    • Windows 10 IoT Core nor Enterprise are hard real-time-capable, due to Windows 10’s preemptive scheduler
    • Have a look into alternative hardware and operating systems from other vendors, or, quite interesting, Azure Sphere from Microsoft that supports hard real-time and is security hardened for IoT at the same time.
      It also includes support for the ThreadX real-time operating system (also recently acquired by Microsoft).
  • Normal UI or service applications written in C, C++, Java or .NET Compact Framework
    • Check, if these applications can be modernized by a new design leveraging Cloud technology!
      Candidates would be Azure IoT, Azure IoT Edge as well as serverless approaches such as Azure Functions and Logic Apps, looking at the Microsoft Azure ecosystem.
      Have in mind that nearly always, when modernizing applications, it does not make sense just to adapt to the newest technology level! Think about redesigning your processes, architecture and streamline end user experiences leveraging modern Cloud technologies!
    • Move your application onto cross-platform technologies such as .NET Core and ASP.NET Blazor!
      This often shakes off the chains of being bound to a certain hardware/OS combination and you ideally are able to grow a family of devices using the same software across different hardware devices and OSes.
    • Use a Cloud native, distributed architectural approach to be able to grow and advance your solution organically
    • Change the communication strategy in your solution from connected, directed calls (as it often is to be found in older applications) towards asynchronous, message based communication.
      This will add a lot of robustness and extensibility to your system!
  • Applications using certain Windows CE Apps or desktop features
    • Port your application to Windows IoT Enterprise, this will be the only path to be future proof, as App containers as well as IoT Core are going to be end of life at the end of this century.
    • There may be rare cases justifying a transition via CE App Container as a transition/bridge solution, but these must be thoroughly analyzed!
      App Container support is not just lift and shift and comes with at least “some” porting effort.
      Check if this effort really is as small, as the marketing department says, against possible porting/redesign efforts explained above.
      I always recommend 20% of the estimated porting costs as a threshold. If the to be expected containerizing effort is higher, go for redesign.
    • Keep in mind, that containerizing is only buying you time, you will need to port the app anyway!
  • Really large and complex applications, which are expensive to port
    • OK, the first mistake is to put such a large and complex application on a small embedded device running Windows CE!
      I am pretty sure, with this kind of application, you are having other troubles, such as performance and resource management problems on the device, as well.
    • The best thing is to port your application to a capable Windows 10 IoT Enterprise embedded PC system, right away.
      Do not waste money on a bridge solution, as it may cause additional problems and is not really suited to solve the existing ones.
      Redesign is a must, to make your app more manageable and fix existing issues!

Yes, there certainly are more approaches and arguments, but I think the ones laid out above cover most of the ground of this discussion.


If you need some ideas how to handle the transition in your specific use case or if there are other questions, just drop me a line and we will find a way to help you out!

Alexander

Preview – Selective Disk Backup for Azure VMs

Sometimes, it is the small things that make life as an IT-Professional easier!

Anybody who had to move and restore huge virtual disks knows what I am talking about. There are quite often two types of data on a disk: Unimportant data, easily restorable or always included in a base image, and important data, which normally is the business data for the user.
In the past one could not separate this data easily, but was forced to go with the heavy lifting on virtual disk level.

Selective Disk Backup, exactly will help us out here, giving us a finer level of control on what to backup and restore.

What makes it interesting is that:

  • You can save a lot of storage space, as business data normally is much smaller
  • Restore times are shortened significantly due to the smaller volume

As stated in headline, the service is in preview!
Just the right time to take for a test drive! 🙂

Alexander

Cloud News 2020 / 07

The July release of Wechsler Consulting Cloud News sheds some light on WVD and Security Center, the new FHIR API that helps to save lifes, the Well-Architected Framework for Azure, Hashi Corp Consul Service as SaaS, and OpenIDConnect support in App Services and Functions. Focus topic is Time Series Insights Gen 2.

Please find the links to topics featured in video, below:

WVD and Security Center

https://azure.microsoft.com/de-de/blog/protecting-windows-virtual-desktop-environments-with-azure-security-center

IOT Connector for FHIR

https://azure.microsoft.com/en-us/blog/microsoft-azure-iot-connector-for-fhir-now-in-preview

Well-architected Framework

https://azure.microsoft.com/en-us/blog/introducing-the-microsoft-azure-wellarchitected-framework

HashiCorp Consul Service

https://azure.microsoft.com/en-us/blog/fully-managed-hashicorp-consul-service-generally-available-on-azure-today

OpenID Connect support for App Service and Functions

https://docs.microsoft.com/en-us/azure/app-service/configure-authentication-provider-openid-connect


Focus Topic
Time Series Gen 2

https://azure.microsoft.com/en-us/blog/azure-time-series-insights-gen-2-leading-the-next-generation-of-industrial-iot-analytics-solutions/

Courses

Azure IOT Telemetry Jumpstart

OPC Unified Architecture – Getting Started

Posts

July is Azure IOT learning month!

Generally Available: Private Endpoint for Azure SignalR

Generally Available: Private Endpoint for Azure SignalR

SignalR. at least to me is an absolutely underrated technology, when it comes to real-time messaging.
Disclaimer for my embedded readers: yes, at least, if you do not require millisecond response times – but that is seldom the case in standard applications.

Private endpoints for SignalR give developers the possibility to send messages, out of a completely separated Azure VNet, through Azure SignalR (PaaS). These can be notifications, positions, informations or alarms, just as required.

What I really appreciate with this service is is the pub/sub messaging approach, which scales great and reduces dependencies between client and publisher to a minimum.
All coming as PaaS in a serverless fashion! This is definitely worth a look!

Alexander

July is Azure IOT learning month!

A bunch of really great content is made available by the Azure IOT team to provide the fundamental information required working with Azure IOT. They have declared July to IOT learning month!

This sets you off to a great start and we are strongly encouraging everybody to join this effort!

If you have any more sophisticated questions or you need help with your IOT solution, we at Wechsler Consulting are always ready to help you out!


Alexander

Taking the pain out of infrastructure as Code

Having your infrastructure a code in the Cloud is certainly the way to go! Unfortunately it still feels like working close to the metal in Azure. Microsoft has recognized these problems and they are striving to provide more comfort and tooling, as Mark Russinovich states in his interesting blog post to the topic.


This is great news, especially looking at the tool support with VS Code. However, in enterprise scenarios Visual Studio is still the tool of choice and could use some love here, as well. As a VS enterprise licence is not cheap, this would be well deserved.

🙂
Alexander

Cloud News 2020 / 06

The June episode of Wechsler Consulting Cloud News is here!
Bringing news and updates on Azure Shared Image Galleries, Visual Studio Web Live Preview, Azure Security and as special focus topic Anomaly Detection.

Here are the links to our Cloud News topics:

Shared Image Gallery (specialized images, scale sets)

https://azure.microsoft.com/de-de/updates/shared-image-gallery-improvements

Shared Image Gallery – preview (Capture VMs, BYOK, image copy)

https://azure.microsoft.com/de-de/updates/shared-image-gallery-new-features

Web Live Preview
https://devblogs.microsoft.com/aspnet/introducing-web-live-preview/

Azure Security Best Practices
https://www.youtube.com/watch?v=mntOLLNejUo

Main topic: anomaly detection

https://docs.microsoft.com/en-us/azure/cognitive-services/anomaly-detector/overview


Check out our current Wechsler Consulting Cloud Campus courses and posts, as well!

Courses

Azure IOT Telemetry Jumpstart

OPC Unified Architecture – Getting Started

Posts

Live Video Analytics

Free Blazor Training with Carl Franklin!

Live Video Analytics

Quite often new and innovative solutions require at least some technical effort. IOT systems e.g. need to be deployed , calibrated, provisioned with network and power, which requires quite some effort.
Depending on the use case Live Video Analytics, a feature of Azure Media Services, might be able to reduce this effort. All you need is a camera and, ideally, an IOT Edge device connected to it. This is especially helpful in dynamic environments, such as delivery entrances, machine ports or storage racks, where a lot of different things are going on simultaneously. In these dynamic environments dedicated sensors are often hard to calibrate and locate.
Video Analytics use AI models to detect motion, things and can even go down to detecting and reading text, such as numbers on license plates, addresses on parcels, etc. .
Microsoft describes some of the interesting possibilities and scenarios quite good in this recent blog post.

Detect workers and cargo in a video stream

What I like is that the AI video analytics models can be run on an edge device. This saves a lot of bandwidth and also keeps your eventually sensible video material on-premise! There are models available for use, but you can also build custom ones and thus create, adapt and fine tune the detection for a use case. Existing video streams also can be used for processing, which, in some cases, enables you to start right away focusing on implementing the IOT Edge solution,
As the analytics models are able to create events to be consumed by an EventHub, they can be used as a publisher of triggers to build business solutions on.
Use Azure Serverless capabilities and you have a sophisticated video analytics system for your use case up and running in days, or even only hours.

Alexander

Free Blazor Training with Carl Franklin!

Get more efficient and productive creating web apps with Microsoft’s new Blazor technology!
Carl Franklin is a long-time coding veteran on the Microsoft platform and has seen some frameworks come-and-go throughout his career.
Interesting to see that Blazor caught his attention and even more, his excitement!
Carl is a renowned speaker, coach and trainer. Therefore, you should not miss his free “Blazor Train” course series! In this course, he is providing a first hand impression, on how it is to use C# and .NET Core across the complete stack of your solution.

More, than worth a look!

Cloud News 2020 / 05

In episode 5 of Wechsler Consulting Cloud News, we talk about the top news from Microsoft Build 2020 and especially Azure Digital Twins, which have truly made an incredible leap in functionality.


Here are the links to topics mentioned in the video:

Azure Digital Twins
https://docs.microsoft.com/en-us/azure/digital-twins/about-digital-twins

Azure IOT Edge
https://docs.microsoft.com/en-us/azure/iot-edge/about-iot-edge

Windows IOT 10 – Linux Runtime
https://docs.microsoft.com/en-us/windows/wsl/install-win10

IOTHub – Private Link
https://azure.microsoft.com/en-us/updates/azure-private-link-is-now-available-for-multiple-new-azure-services/

IOT Plug & Play
https://azure.microsoft.com/en-us/blog/intelligent-edge-innovation-across-data-iot-and-mixed-reality/

Azure RTOS – GA
https://azure.microsoft.com/en-us/services/rtos/

Azure Sphere updates
https://azure.microsoft.com/en-us/services/azure-sphere/

Sphere and RTOS can work together
https://docs.microsoft.com/en-us/azure-sphere/app-development/applications-overview

IOT Central
https://docs.microsoft.com/en-us/azure/iot-central/core/overview-iot-central