Working with Dapr in WSL2 Remote VSCode and Ubuntu 20.04 distro
Dapr is a portable, event-driven runtime that makes it easy for any developer to build resilient, stateless and stateful applications that run on the cloud and edge and embraces the diversity of languages and developer frameworks.
Developer language SDKs and frameworks
To make using Dapr more natural for different languages, it also includes language specific SDKs for Go, Java, JavaScript, .NET and Python. These SDKs expose the functionality in the Dapr building blocks, such as saving state, publishing an event or creating an actor, through a typed, language API rather than calling the http/gRPC API. This enables you to write a combination of stateless and stateful functions and actors all in the language of their choice. And because these SDKs share the Dapr runtime, you get cross-language actor and functions support.
I’m using Windows Insider Build version 21277-RS with Docker for Windows Edge and Visual Studio Code.
Docker for Windows Edge Version Running.
Because Docker for Windows Edge support WSL2 Engine and Visual Studio Code too, brought me to an idea to build dapr into Ubuntu 20.04 WSL Distro on my Windows Insiders 21277 RS version on my Surface Book 3. There for you must activate the WSL2 integration with my default WSL distro Ubuntu-20.04.
Dapr init ( in the Ubuntu-20.04 WSL2 Linux distro )
Here you find the Dapr dev environment installation types for Dapr init, I did the standalone version. Dapr makes then the following containers :
Dapr Containers.
Then we have the following running :
Dapr Dashboard
Zipkin
Zipkin is a distributed tracing system. It helps gather timing data needed to troubleshoot latency problems in service architectures. Features include both the collection and lookup of this data.
Zipkin Traces
Dapr Dashboard
Now we have Dapr running in the WSL2 Ubuntu-20.04 distro, you can use Visual Studio Code on Windows Insiders using Remote WSL and work with your favourite dapr SDK like the list above 😉
From here you can work with your dapr application.
In this guide dapr is running with Docker containers, but you can also install it on Kubernetes or K8s, AKS, Azure any where, see this overview :
Dapr with Kubenetes Containers.
Dapr Overview.
Important Note : Dapr is still in preview and not ready yet for production. But as a developer, DevOps, AzOps, you can start with it and Build and Test your own microservices and Container apps ! Hope you are having fun with it too 😉
It’s a year full of misery with the Covid-19 virus around the world. People who lose their loved one, It’s a very sad time for all of us! Microsoft technologies are still going on strong with new features in Azure Cloud Services but also supporting the people who are working in the healthcare, data analytics, Microsoft Teams for Collaboration and much more. But what I want to say to all HealthCare people over the world : THANK YOU SO MUCH FOR ALL THE WORK YOU DO 👍
I have deep respect for you all !
Community, Microsoft Product Teams, MVP Lead, WIndows Insiders, I wish you and your family happy holidays and a Healthy 2021 with lot of Success! 🎄😍
With 30+ Community talks, learning sessions, and skill-building activities exploring Minecraft, MakeCode, Visual Studio, AI, Azure, and more, there is something here for every student and every level of experience!
If you like to test the new features of Windows 10 and give feedback to the Microsoft product team, then the Windows Insiders Program is the place to Join. Here you can become a Windows Insider
I’m a Windows Insider since 2014 and a Windows Insider MVP since July 2019 and I love the collaboration with the Community and with the Microsoft Product Team to make a better product like Windows 10 together.
On my windows Insiders Build version 19613, I like to have my tools and Apps installed like :
I’m in the Microsoft Windows Insiders FAST Ring, and I want to test everything like Windows 10 operating system but my Tools must also be working on every new Windows Insiders Build.
Installing WSL 2 and Windows Terminal on Windows Insider Build version
When both dism commands are successfully completed, you have to restart your machine.
wsl –set-default-version 2
Now you have set WSL 2 version in the basic, but you have to install a Linux distro where you can find here in the Microsoft Store
I installed Kali Linux distro from the Microsoft Store.
Enter a New User name and password.
Kali Linux distro is now running on WSL 2 on my Windows Insiders Build.
One of the Cool features in Windows Insiders Build version 19613 is that you can use your File explorer for Kali Linux 😉
Linux in Windows Insider Explorer.
Exploring Kali Linux
And of course updating the Kali Linux distro with
Sudo apt-get update
And at last…….
sudo apt-get upgrade
The Next tool is Windows Terminal (Preview) from the Microsoft Store
Just Click on Get ( in the Microsoft Store)
Click on Launch
This Windows Terminal Preview version on Windows Insiders can run :
Command Prompt
Powershell
Kali Linux distro (WSL 2)
Azure CloudShell
From here I can Manage and Install Microsoft Azure Cloud Services with Cloud Shell running on my Windows Insiders Build
for testing all the new features and this goes really easy :
Click next to PowerShell in the pulldown bar on Azure Cloud Shell and copy the Code
into the next URL https://microsoft.com/devicelogin
Enter here your Code from Windows Terminal.
Done you are logged-In Azure via Windows Terminal on Windows Insiders Build.
Azure Cloud Shell in Windows Terminal 😉
Conclusion
The Windows Insiders Program is Awesome to join when you like to test the Newest features of Windows 10 but also the Tools and applications running on the newest Windows Insiders Build version are Cool. When you work with Fast ring releases and Preview versions of tools you can hit a bug, or something is not working. That’s the moment you give feedback in the Windows Insider Feedback HUB to support the Microsoft Windows Insiders Product Team to fix the Bug.
Together we are building for the future of Windows 10 !
Windows Insider Program Feedback Hub.
And as a Windows Insider you can earn Badges for your Support 😉
Azure Kubernetes Service (AKS) makes it simple to deploy a managed Kubernetes cluster in Azure. AKS reduces the complexity and operational overhead of managing Kubernetes by offloading much of that responsibility to Azure. As a hosted Kubernetes service, Azure handles critical tasks like health monitoring and maintenance for you. The Kubernetes masters are managed by Azure. You only manage and maintain the agent nodes.
Azure AKS Kubernetes Services in Resource Group.
When you go to settings of your Azure AKS Kubernetes Cluster and then to Upgrade, there you can see your version of Kubernetes and the New versions of Azure AKS Services. Before you upgrade :
Important : Never skip an Upgrade version of Azure AKS Kubernetes.
You can Upgrade from here by clicking on version 1.15.5 and click on Save at the top.
Azure Activity log.
When the first upgrade is succeeded you can do the next version upgrade.
With Azure Monitoring Insights you can view the live data and see what’s going on.
Azure Monitoring Container Insights.
When the upgrade is completed, you want to see if your new Azure AKS Cluster Services is Healthy.
This Health (Preview) feature is handy to see if all Services are running good.
Azure Monitoring Insights Health of the AKS Kubernetes Services.
The Upgrades are of course also possible via Microsoft Azure Cloud Shell with Azure CLI
As a DevOps person you like to work with Microsoft Visual Studio Code
Deploying and managing your Azure AKS Kubernetes Cluster services from there with the right extensions.
Here you see also that the KubeProxyVersion is v1.15.7
The extension for developers building applications to run in Kubernetes clusters and for DevOps staff troubleshooting Kubernetes applications.
Features include:
View your clusters in an explorer tree view, and drill into workloads, services, pods and nodes.
Browse Helm repos and install charts into your Kubernetes cluster.
Intellisense for Kubernetes resources and Helm charts and templates.
Edit Kubernetes resource manifests and apply them to your cluster.
Build and run containers in your cluster from Dockerfiles in your project.
View diffs of a resource’s current state against the resource manifest in your Git repo
Easily check out the Git commit corresponding to a deployed application.
Run commands or start a shell within your application’s pods.
Get or follow logs and events from your clusters.
Forward local ports to your application’s pods.
Create Helm charts using scaffolding and snippets.
Bootstrap applications using Draft, and rapidly deploy and debug them to speed up the development loop.
Upgrade Azure AKS Kubernetes Services is Done 😉
When you manage and monitor your Azure AKS Kubernetes Cluster Services, have also a look at Microsoft Azure Advisor for new features and security issues :
Azure Advisor recommendations for Kubernetes services.
The cool thing is that Microsoft also give you the solution to solve a high risk :
Remediation steps.
Conclusion :
Microsoft Azure AKS Kubernetes is a managed services and made upgrading for customers really easy to do. You can monitor the upgrades and see the Health status of the Azure AKS Kubernetes services. You get free advise to improve the Services and this all keeps you in control and your business running.
Watch live as technology leaders from across industries share the latest breakthroughs and trends, and explore innovative ways to create solutions. After the keynotes, select Microsoft Build sessions will stream live—dive deep into what’s new and what’s next for developer tools and tech.
Discover and experience new ways to build, modernize, and migrate your applications. Get hands-on experiences with tools like Azure Kubernetes Service (AKS) that can help you dynamically scale your application infrastructure.
Quickly and easily build, train, and deploy your machine learning models using Azure Machine Learning, Azure Databricks, and ONNX. Uncover insights from all your content—documents, images, and media—with Azure Search and Cognitive Services.
Join Microsoft for hands-on learning to discover how tools like Visual Studio live share can help you collaborate with your peers instantly.
Come learn how to build an end-to-end continuous delivery pipeline that is fast and secure with Azure DevOps technologies. Spend less time maintaining your toolset and more time focusing on customer value.
Understand how frameworks like Xamarin and .NET can help you reach customers on all platforms. Learn how to use the same languages, APIs, and data structures across all mobile development platforms.
Learn how mixed reality helps you bring your work and data to life when you need it, and where you need it. Start building secure, collaborative mixed reality solutions today using intelligent services, best-in-class hardware, and cross-platform tools.
Learn to connect your devices to the cloud using flexible IoT solutions that integrate with your existing infrastructure. Collect untapped data and form valuable insights that help you create better customer experiences and generate new streams of revenue.
Configure continuous integration (CI) and continuous delivery (CD) for your IoT Edge application with DevOps Projects. DevOps Projects simplifies the initial configuration of a build and release pipeline in Azure Pipelines.
In the following steps you can see how easy it is to build your Continuous integration and continuous deployment to Azure IoT Edge with DevOps Project :
Select Simple IoT
Click on Next.
From here you set your Azure DevOps organization to your Azure IoT Hub. Click on additional settings
In additional settings you can set :
Azure Resource Group
Location ( region)
Container Registry
Container Registry name
Container registry SKU
Container Location
IoT Hub of Edge Devices
IoT Hub Location
Select Container Registry Plan
Azure Container Registry allows you to store images for all types of container deployments including DC/OS, Docker Swarm, Kubernetes, and Azure services such as App Service, Batch, Service Fabric, and others. Your DevOps team can manage the configuration of apps isolated from the configuration of the hosting environment.
More information about Azure Container Registry and pricing
Azure DevOps Project will do the rest of the deployment.
Of course Infrastructure as Code (IaC) is possible by ARM JSON Template.
Save the template for later.
here you got your ARM Templates.
Later you will see when you complete the deployment, that your JSON ARM template is in Azure DevOps Repo.
You can connect your Azure DevOps Repo via the portal but also via Visual Studio and Visual Studio Code.
The resources coming into myiotpipeline-rg
MyIOTPipeline-IoTHub is created.
MyIOTPipelineACR Container Registry is created.
MyIOTPipeline with Azure DevOps is created 🙂
Your Continuous integration and continuous deployment to Azure IoT Edge is deployed and active. Now you have your Azure Pipeline in place to continuously update your IoT Device App. From here you can go to Azure DevOps Project Homepage.
Via Agent phase you can see all the jobs of the deployment.
Azure DevOps Pipeline Release
here we have Azure DevOps Repos
Azure DevOps Services includes free unlimited private Git repos, so Azure Repos is easy to try out. Git is the most commonly used version control system today and is quickly becoming the standard for version control. Git is a distributed version control system, meaning that your local copy of code is a complete version control repository. These fully functional local repositories make it easy to work offline or remotely. You commit your work locally, and then sync your copy of the repository with the copy on the server.
Git in Azure Repos is standard Git. You can use the clients and tools of your choice, such as Git for Windows, Mac, partners’ Git services, and tools such as Visual Studio and Visual Studio Code.
All the Azure Resources for the IoT Edge Pipeline with Azure DevOps.
When you have your Azure DevOps Pipeline with IoT Edge devices running, you can monitor your pipeline with Analytics inside Azure DevOps.
Click Next.
Click on Install Analytics.
Select the right Azure DevOps Organization for your IoT Edge Pipeline.
Done !
Analytics is now active, you can make automated test plans in Azure DevOps and see the results via Analytics.
Azure DevOps Overview Dashboard.
There are a lot of predefined Analytics Views for you shared.
An Analytics view provides a simplified way to specify the filter criteria for a Power BI report based on the Analytics Service data store. The Analytics Service provides the reporting platform for Azure DevOps. More information about Analytics in Azure DevOps here
Easy to start with Powerbi and Azure DevOps Connector.
Planned manual testing
Plan, execute, and track scripted tests with actionable defects and end-to-end traceability. Assess quality throughout the development lifecycle by testing your desktop or web applications.
More information about making your testplan for your IoT Edge Devices Azure DevOps Pipeline
Conclusion :
When you connect Microsoft Azure IoT Edge – HUB with your Internet of Things Devices and combine it with Microsoft Azure DevOps Team to develop your Azure IoT Pipeline, then you are in fully control of Continuous integration and continuous deployment to Azure IoT Edge. From here you can make your innovations and Intelligent Cloud & Edge with Artificial Intelligence and Machine Learning to your Devices. You will see that this combination will be Awesome for HealthCare, Smart Cities, Smart Buildings, Infrastructure, and the Tech Industry.
In this Microsoft article, you learn how to use the built-in Azure IoT Edge tasks for Azure Pipelines to create two pipelines for your IoT Edge solution. The first takes your code and builds the solution, pushing your module images to your container registry and creating a deployment manifest. The second deploys your modules to targeted IoT Edge devices.
First of all Thank you for following me and Sharing Microsoft Cloud and Datacenter Management content on Social Media 🙂 Sharing & Learning Together is Better.
Welcome 577 New Followers on Twitter of the 5904 Followers 🙂
More then 2.807.000 Tweet impressions in One year !
Started with Friday is MVPbuzz Day for Education to get Azure Cloud in the Classroom, working together with Teachers and Students in my Free time.
Working with Microsoft Learn in Teams for the Students.
Meetings and Speaking for Education, all about Azure and AzureStack Technologies.
Conferences, like the Global MVP Summit 2018, DevOps Amsterdam, Community Group meetings.
Microsoft Ignite, Microsoft Build, Microsoft Connect events.
Almost every week Microsoft Product Group Intervention (PGI) sessions Online.
Sharing the News every Day via Twitter, Facebook, LinkedIn, Microsoft Tech Community, Blog
But what is coming in 2019 ?
Rocking with Azure in the Classroom !
I will continue every day sharing knowledge with the Community and continue my Free work on MVPbuzz Friday for Education to get Azure Cloud Technology in the Classroom for Teachers and Students.
The trend I see for 2019 is more Infrastructure and Security by Code with Microsoft Azure DevOps
and of course you have to be in Control with Microsoft Azure Monitor
I will write a blogpost in January 2019 about Microsoft Azure Hub-Spoke model by Enterprise Design 4 of 4: Optimize your Azure Workload.
More Items in 2019 to come :
Microsoft Azure Security Center for Hybrid IT
Windows Server 2019 in combination with Azure Cloud Services.
More on Containers in the Cloud
Azure Stack and ASDK
Integration with Azure Cloud.
API Management
Azure DevOps Pipelines and Collabration
Azure IoT for Smart Cities and Buildings combined with AI Technology
2019 will be a Great year again with New Microsoft Technologies and Features for your business.
Azure DevOps Services is a cloud service for collaborating on code development. It provides an integrated set of features that you access through your web browser or IDE client. The features are included, as follows:
Git repositories for source control of your code
Build and release services to support continuous integration and delivery of your apps
Agile tools to support planning and tracking your work, code defects, and issues using Kanban and Scrum methods
Many tools to test your apps, including manual/exploratory testing, load testing, and continuous testing
Highly customizable dashboards for sharing progress and trends
Built-in wiki for sharing information with your team
The Azure DevOps ecosystem also provides support for adding extensions and integrating with other popular services, such as: Campfire, Slack, Trello, UserVoice, and more, and developing your own custom extensions.