When working with PowerShell using Visual Studio Code it’ll default to the old PowerShell terminal. By using $PSVersionTable we can see it’s running PowerShell 5.1 but we’ll want 6.2. Also I wan’t to test using PowerShell Core on both Windows and Linux. To use .NET Core and PowerShell Core together and test cross platform development we’ll need to install PowerShell Core and the .NET Core SDK on Windows 10 and also within the Windows Subsystem for Linux (WSL).
The combination of Docker Desktop, Windows Subsystem for Linux (WSL), and Visual Studio Code with extensions is extremely powerful!
I seen that a lot of software developers use Mac, and I’ve used Macs too. However now that Microsoft has a focus on open source, everything has changed. Windows 10 can leverage many Linux distros with the WSL. Using PowerShell and the Bash Shell natively is amazing. We will still leverage virtualization on Windows utilizing Hyper-V for Linux Docker containers, however we can still use the WSL with Docker Desktop. There’s extra configuration needed to make it work. This is due to limitations of WSL not being able to run daemons as a service. Regardless this is the best development experience I’ve seen as I can run locally just as easily as in the cloud and I know though my testing it’ll work the same. The portability of containers solves a lot of challenges.
Here I’ll show you the essentials of preparing your Windows 10 computer for modern applications development in the cloud.
Well, it’s been a while since I posted hasn’t it. A lot has changed in the 5 years since I last posted. Back then I was working with defense contractors developing a lot of on-prem infrastructure tools with PowerShell. Moved into cloud computing and doing Serverless development and DevOps automation for Continuous Integration and Continuous Deployment using AWS services. This has revolutionized the ways in which I look at computing. In the process I’ve gone back and forth on what development environments and languages to work with. There’s just so many options. Since I was working with PowerShell and .NET I used PowerShell ISE and VisualStudio primarily. I moved from enterprise Windows environments to then using Linux/Unix first with traditional virtualization, then containerization, and functions. Further abstracting away from the physical systems to focus working with services and my code that runs it. What I really care about is if someone is making a request for information or submitting information how can I retrieve the data and present that information to them as quickly, reliably, and securely as possible.
In the future posts I’ll be comparing development environment and patterns for cloud native applications. As I’m utilizing AWS services this will be focused on their development tools.