May 19 2020
Microsoft Edge
May 19 2020
Modernize your Windows Server apps with containers
- 7:15 pm to 7:45 pm EST
- Taylor Brown (Speaker), Muzz Imam (Demos)
- App works fine, but stuck in an older app model.
- Rewrite the whole thing.
- Try a new deployment model.
- Rewrite parts of it.
- Containerize it.
- Use a registry.
- CI/CD
- Deploy to Kubernetes cluster.
- IBuySpy
- SQL Server
- IIS
- Create a Dockerfile
- Like writing down all the steps to deploy the app.
- MSBuild commands, etc.
- Demo: Windows Admin Center (WAC) makes managing your server workloads easier.
- Announcing an extension today to write your Dockerfile for you.
- Point it to your source code.
- Define some basic properties, e.g. .NET Framework version.
- You can run it from Windows Admin Center, Pull, Push, etc.
- Give it your Azure Subscription, where to push to, e.g. Azure Container Registry, etc.
- Question: the tool is focused on web apps right now, ASP.NET, etc. Feedback will determine future capabilities.
- Question: can I modify the generated Dockerfile? Yes!
- Question: what Windows Server versions does WAC support?
- Answer: Windows Server 2019 is the focus.
- Demo: Kubernetes
- Create Kubernetes cluster in the Azure portal.
- It has already created an agentpool on Linux (default).
- We need to create one for Windows.
- Network configuration: Select Advanced.
- AKS is going to create another resource group for you.
- Just be aware of this.
- Resources:
- SQL Server
- SQL Databasse
- Kubernetes Service
- Container Registry
- Virtual Network
- Connect AKS with ACR.
- AKS can then pull images from ACR.
- He’s using Az tools (Azure CLI) from a PowerShell prompt.
- Editing Kubernetes .yaml file in VS Code.
- kubectl apply -f .\ibuyspy-lm.yaml
- kubectl get all
- He showed the app running.
- Now what do you do?
- Monitoring.
- He can get IIS and Log Viewer logs in the Kubernetes portal blade.
- “Insights”
- He can upgrade the cluster from the portal.
- You can now add an ingress controller, i.e. like a router.
- This is a Linux container.
- Deploy it through Helm.
- Demo: Modernizing your apps.
kubectl create namespace ingress-basic
helm repo add stable https://kubernetes-charts.storage.googleapis.com/
helm install nginx-ingress stable/nginx-ingress --namespace ingress-basic --set controller.replicaCount=2 --set controller.nodeSelect...
kubectl get svc --all-namespaces
- You will get a 404 until you define routes between the components.
- Added a new sections to his .yaml file for the Ingress components.
kubectl apply -f .\ibuyspy-n.yaml
- Browsed to his app again in the browser.
- Now he can perform A/B testing.
- Organizes your app easily.
- Support for Windows containers in AKS.
- Best practices and recommendations
- Question: Any plans to get Kubernetes running in Windows only?
- Answer: the community has aligned around Linux master and Windows worker model.
- Question: Support plan for GMSA (?)?
- Windows Authentication.
May 19 2020
Scott Guthrie Keynote
- Solutions built with Azure.
- 61 Azure Regions now!
- More than AWS & Google combined.
- New DCs in Israel, Mexico, Spain, Poland, New Zealand.
- Helping with COVID-19.
- Amanda Silver joined, CVP for VS Family and Developer Tools.
- Donovan Brown
- Virtual Standup – Sunrise Standup app. (Is that the name?)
- Azure Static Webapp.
- Azure Functions.
- Sunrise app.
- Azure and GitHub work together using GitHub actions to create CI/CD pipelines.
- Every commit downloads, builds, tests code and deploys it to Azure.
- You can see Deployment history from the Azure portal as GitHub Actions.
- Amanda will add functionality to map with pins using Azure Static Webapp.
- Back to Amanda.
- She’s running locally with VS Code.
- Install Azure Static Webapp extension for VS Code.
- Lightning button lets you create an endpoint and it scaffolds out an Azure Function.
- You paste in your code.
- You can also launch Full Stack app in the menu, i.e. front end and back end.
- (I think she’s on a Mac)
- VS Code Pull Request extension.
- Back to Donovan.
- He saw the notification in Teams.
- Click on the link for the PR.
- Then he can see the code running in the staging environment.
- He wants to change the theme.
- He wants dark theme, not light theme.
- Codespaces turns web browsers into development environments.
- VS Code + Extensions + Libraries.
- “Color-customized version of Bulma” theme.
- Every machine is now a developer machine with Codespaces.
- Back to Amanda
- Announcing Azure Static Web Apps today.
- Jeff Hollan
- Azure Kubernetes Service.
- Lift and shift apps to Azure.
- Azure Private Link enables private communications for your Kubernetes apps.
- Cognitive Services
- Personalizer Apprentice Mode
- Speech Voice Styles – tailor the voice in your apps.
- Enhanced Container Support – GA for Text Analytics, General Understanding (?)
- httprepl
- Uses Swagger.
- Related to CosmosDB.
- Back to Scott.
- Talking about how Starbucks uses Microsoft technologies.
- Julia White (CVP Azure Marketing) and Gerri Martin-Flickinger (CTO Starbucks).
- Rohan Kumar, CVP Azure Data Engineering.
May 19 2020
Q&A with Seth Juarez
- WSL2
- Scott Hanselman discussing.
- Windows Terminal
- Kayla Cinnamon.
- v1.0 out today!
- Scott’s tutorial on PowerLine in Windows Terminal, git branches, etc.
- winget
- New Windows Package Manager.
- Install Windows Terminal.
- Alt-Space is Run PowerToy.
- Maddy Leger
- Mirror iOS
- Hot Reload and Hot Restart
- Plugged in phone to laptop
May 19 2020
MS Build – Scott Hanselman Keynote
- FancyZones PowerToy
- Launcher is Alt-Space
- Kayla Cinnamon joined
- ASCII Azure Regions in Windows Terminal (
- Script to setup PowerToys (KC), Terminal, etc.
- Windows Package Manager: WinGet
- > winget install terminal
- He’s running Terminal 1.0.1401 (?)
- He ran gimp as part of the preview of the next release WSL2.
- Preview: Hardware accelerated workloads via GPU.
- https://aka.ms/wsl
- He (she?) made their cursors have their pictures.
- Teams: @Code Conversations bot.
- Now add code snippet, e.g. Console.WriteLine(“…”);
- Uses .NET Interactive.
- She hid files on his machine.
- Go into Linux filesystem in Windows Explorer.
- She left a file with C# snippets on his machine.
- @Code Conversations bot.
- Has a formatter included.
- Shuffled and visualized the card deck from her code.
- https://aka.ms/codeconversations
- GitHub – Nat Friedman joined
- npm
- Allison Buchholtz-Au joined
- Codespaces
- OliveTracker app
- Olive is her dog
- https://aka.ms/sh-onboard
- Click green Code button, select “Open in Codespace”.
- Takes care of all of the setup for you. (?)
- It looks like VS Code.
- Takes a while, but much faster than setting up a dev box.
- Turn on Preferences Sync.
- Still in preview.
- Syncs with VS Code!
- dependabot-preview
- Go check this out!
- Pulls release notes for you.
- Shows commits.
- You can merge a pull request.
- Run from Codespaces.
- Go to the Debug icon on the left.
- It forwards the port to your local browser.
- Private Preview: https://github.com/features/codespaces
- LiveShare extension
- Username olivef
- They are collaborating while she’s on VS 2019!
- Codespaces
- He’s got a cool VS desktop theme.
- Find out what this is.
- He’s running on his Mac. Is it available for Windows?
- New Git experience in the latest VS 2019 and Preview.
- https://dot.net/get-core-3 (not sure about this URL)
- Maddy Leger joined.
- Sent Scott a LiveShare link in the Teams chat.
- She’s showing a Xamarin iPhone mobile app.
- Also targeting Android.
- .NET Standard project.
- Xamarin Forms.
- Hot Restart to redeploy to the phone.
- Connected over a cable (I think she said).
- We can see her iPhone mirrored on the desktop.
- How did she do this?
- https://montemagno.com/screen-mirroring-for-ios-android-and-windows/
- She mentioned vertical tabs in VS.
- Look into this.
- Use <dualscreen Pane1> and <dualscreen Pane2> for multiscreen devices.
- Scott went into WSL2, ran tensorflow on Linux against GPU (Cuda).
- Seeing the performance in Task Manager. You can see memory and processor usage of his GPU.
- It detected cars in his video, etc.
- Sharing a whiteboard on Teams.
- Panos Panay joined the call.
- Scott faded out on him. It was funny!