Build 2019 Recap
Eran Stiller
Chief Technology Officer, CodeValue
erans@codevalue.net
@eranstiller
https://stiller.blog
https://codevalue.net
Agenda
 Book of News
 (My) Top Announcements
 Windows
 Developer Tools
 AI & ML
 And more…
 Personal Viewing Recommendation
2
Book of News
 Centralized view of all announcements
 https://aka.ms/Build2019BookofNews
4
Windows
5
Windows Subsystem for Linux (WSL)
 Top Customer Asks
6
Windows Subsystem for Linux 2 (WSL 2)
7
Windows Subsystem for Linux 2 (WSL 2)
8
Windows Subsystem for Linux 2 (WSL 2)
 WSL 2 speed comparison test WSL 1 on a Surface laptop
9
2.5x 4.7x 3.1x
VS Code Remote
 Build, run, and debug your Linux applications
 Directly from VS Code
 Using WSL as the backend
10
Windows Subsystem for Linux 2 (WSL 2)
 What’s new with the Windows Command Line
 https://mybuild.techcommunity.microsoft.com/sessions/77293
 The new Windows subsystem for Linux architecture: a deep dive
 https://mybuild.techcommunity.microsoft.com/sessions/77003
11
The New Windows Terminal
12
https://www.youtube.com/watch?v=8gw0rXPMMPE
The New Windows Terminal
 Multiple improvements
 Tab support
 Multiple shells
 Windows Command Line, PowerShell, Bash, and others…
 Modern design
 New font, Emoji support, Smooth zooming
 Extensible
 Completely open source
 https://github.com/microsoft/Terminal
 Watch session
 https://mybuild.techcommunity.microsoft.com/sessions/77004
13
React Native for Windows
 Build native Windows apps with React
 Open Source
 https://github.com/Microsoft/react-native-windows/tree/master/vnext
 Session
 https://mybuild.techcommunity.microsoft.com/sessions/77007
14
Developer Tools
15
.NET Core 3.0 Preview 5
 A lot of talk on:
 Desktop support on .NET Core 3
 gRPC support in ASP.NET Core 3
 Blazor
 https://dot.net/get-core3
16
2014
Many
.NETs
.NET FRAMEWORK .NET CORE XAMARIN / MONO
2014 2016
Many
.NETs
.NET
standard
.NET FRAMEWORK .NET CORE XAMARIN / MONO
XAMARIN / MONO.NET FRAMEWORK .NET
2014 Next2016
Many
.NETs
.NET
standard
.NET
.NET CORE
.NET STANDARD
.NET 5
INFRASTRUCTURE
.NET STANDARD
.NET—A unified platform
DESKTOP WEB CLOUD MOBILE GAMING IoT AI
WPF
Windows forms
UWP
ASP.NET Xamarin UnityAzure ARM32
ARM64
ML.NET
.NET for
Apache Spark
Distributed analytics engine for large datasets typically terabytes or petabytes
Currently available with Scala, Java, Python and R…
…but not .NET
dot.net/spark
Spark SQL + DataFrames Streaming & interactive Speed & productivityMachine Learning
Total execution time (seconds) for all 22 queries in the TPC-H benchmark (lower is better).
Data sourced from an internal run of the TPC-H benchmark, using warm execution on Ubuntu 16.04.
.NET for Apache Spark is designed for high
performance and performs better than python on
the TPC-H benchmark tpc.org/tpch.
The TPC-H benchmark consists of a suite of
business-oriented queries.
Learn more: dot.net/spark
406 433
375
.NET PYTHON SCALA
Custom ML made
easy with AutoML
Model Builder (a simple UI
tool) and CLI make it super
easy to build custom ML
Models.
Built for .NET
developers
Create custom ML models
using C# or F# without
having to leave the .NET
ecosystem.
Extended with
TensorFlow & more
Leverage other popular ML
frameworks (TensorFlow,
ONNX, Infer.NET, and more).
Trusted &
proven at scale
Use the same ML
framework which powers
Microsoft Office, Windows
and Azure
dot.net/ml
ML.NET 1.0
An open source and cross-platform machine learning framework
dot.net/ml
Product recommendation
Recommend products based on purchase history
using a matrix factorization algorithm.
Sentiment analysis
Analyze the sentiment of customer reviews
using a binary classification algorithm.
Price prediction
Predict taxi fares based on distance traveled
etc. using a regression algorithm.
Customer segmentation
Identify groups of customers with similar
profiles using a clustering algorithm.
Spam detection
Flag text messages as spam using a binary
classification algorithm.
Image classification
Classify images (e.g. broccoli vs pizza) using
a TensorFlow deep learning algorithm.
Sales forecasting
Forecast future sales for products using a
regression algorithm.
GitHub labeler
Suggest the GitHub label for new issues
using a multi-class classification algorithm.
Fraud detection
Detect fraudulent credit card transactions
using a binary classification algorithm.
dot.net/ml
Developer Tools
 .NET Platform Overview and Roadmap
 https://mybuild.techcommunity.microsoft.com/sessions/77031
 All the Developer Things with Hanselman and Friends
 https://mybuild.techcommunity.microsoft.com/sessions/77123
27
AI & ML
28
Automated ML
29
Text features
- Word ngrams
- unigrams
- bigrams
- trigrams …
- Character ngrams
- unigram …
- vocabulary size, idf, stop-words,
casing
- word embedding
- pretrained word
embeddings
- language?
- pretrained corpus?
- dimension?
- text similarity
- embedding-based
- ngram-based
Numerical features
- Discretization:
- k-means clustering
- n_clusters (2, 3, 4,..?)
- Equal sized bins
- n_bins (2, 3, 4,..?)
- Target encoding on bin-
categories.
- Scaling
- Normalization, percentile-based,
…
- Outlier removal
Categorical features
- one hot encoding
- Target encoding
- Cross-validation
- Regularization params
- Categoricals for trees
Time series forecasting features:
- lagged features
- Frequency detection
Timestamp features
- Day of week
- Day of month
- Day of year
- Month
- Hour
- Minute
- Holiday
- Quarter
Text features
- Word ngrams
- unigrams
- bigrams
- trigrams …
- Character ngrams
- unigram …
- vocabulary size, idf, stop-words,
casing
- word embedding
- pretrained word
embeddings
- language?
- pretrained corpus?
- dimension?
- text similarity
- embedding-based
- ngram-based
Numerical features
- Discretization:
- k-means clustering
- n_clusters (2, 3, 4,..?)
- Equal sized bins
- n_bins (2, 3, 4,..?)
- Target encoding on bin-
categories.
- Scaling
- Normalization, percentile-based,
…
- Outlier removal
Categorical features
- one hot encoding
- Target encoding
- Cross-validation
- Regularization params
- Categoricals for trees
Time series forecasting features:
- y- lagged features
- Frequency detection
Timestamp features
- Day of week
- Day of month
- Day of year
- Month
- Hour
- Minute
- Holiday
- Quarter
Without automated ML: hard, combinatorial explosion
With automated ML: easy, tailored to your dataset
xgboost alone: ~ 10^10 possible parameter configurations
Compute cost > 10^5 years
Datasets
yours perform well with X ML learner
ML Ops
36
MLOps = ML + DEV + OPS
Experiment
Data Acquisition
Business Understanding
Initial Modeling
Develop
Modeling
Operate
Continuous Delivery
Data Feedback Loop
System + Model Monitoring
ML
+ Testing
Continuous Integration
Continuous Deployment
App developer
using Azure DevOps
Build appCollaborate Test app Release app Monitor app
Model reproducibility Model retrainingModel deploymentModel validation
Data scientist using
Azure Machine Learning
Code, dataset, and
environment versioning
Model reproducibility Model retrainingModel deploymentModel validation
Build appCollaborate Test app Release app Monitor app
App developer
using Azure DevOps
Data scientist using
Azure Machine Learning
Train model Validate
model
Deploy
model
Monitor
model
Retrain model
Model reproducibility Model retrainingModel deploymentModel validation
Build appCollaborate Test app Release app Monitor app
Azure DevOps integration
App developer
using Azure DevOps
Data scientist using
Azure Machine Learning
Sessions
 From Zero to AI Hero–Automatically generate ML models using Azure
Machine Learning service, Automated ML
 https://mybuild.techcommunity.microsoft.com/sessions/76975
 Breaking the Wall between Data Scientists and App Developers with MLOps
 https://mybuild.techcommunity.microsoft.com/sessions/76973
41
Small Bits 
42
Azure Blockchain Service
 Adir Ron is up next 
44
GitHub
 Azure Active Directory Support in GitHub Enterprise
 GitHub Identity Support for Azure
45
Resources
 All session videos and slide decks available here
 https://mybuild.techcommunity.microsoft.com/sessions
46
Personal Recommendation
 Inside Azure datacenter architecture with Mark Russinovich
 My personal favorite
 https://mybuild.techcommunity.microsoft.com/sessions/77002
47
Eran Stiller
Chief Technology Officer, CodeValue
erans@codevalue.net
@eranstiller
https://stiller.blog
https://codevalue.net

Build 2019 Recap

  • 1.
    Build 2019 Recap EranStiller Chief Technology Officer, CodeValue erans@codevalue.net @eranstiller https://stiller.blog https://codevalue.net
  • 2.
    Agenda  Book ofNews  (My) Top Announcements  Windows  Developer Tools  AI & ML  And more…  Personal Viewing Recommendation 2
  • 3.
    Book of News Centralized view of all announcements  https://aka.ms/Build2019BookofNews 4
  • 4.
  • 5.
    Windows Subsystem forLinux (WSL)  Top Customer Asks 6
  • 6.
    Windows Subsystem forLinux 2 (WSL 2) 7
  • 7.
    Windows Subsystem forLinux 2 (WSL 2) 8
  • 8.
    Windows Subsystem forLinux 2 (WSL 2)  WSL 2 speed comparison test WSL 1 on a Surface laptop 9 2.5x 4.7x 3.1x
  • 9.
    VS Code Remote Build, run, and debug your Linux applications  Directly from VS Code  Using WSL as the backend 10
  • 10.
    Windows Subsystem forLinux 2 (WSL 2)  What’s new with the Windows Command Line  https://mybuild.techcommunity.microsoft.com/sessions/77293  The new Windows subsystem for Linux architecture: a deep dive  https://mybuild.techcommunity.microsoft.com/sessions/77003 11
  • 11.
    The New WindowsTerminal 12 https://www.youtube.com/watch?v=8gw0rXPMMPE
  • 12.
    The New WindowsTerminal  Multiple improvements  Tab support  Multiple shells  Windows Command Line, PowerShell, Bash, and others…  Modern design  New font, Emoji support, Smooth zooming  Extensible  Completely open source  https://github.com/microsoft/Terminal  Watch session  https://mybuild.techcommunity.microsoft.com/sessions/77004 13
  • 13.
    React Native forWindows  Build native Windows apps with React  Open Source  https://github.com/Microsoft/react-native-windows/tree/master/vnext  Session  https://mybuild.techcommunity.microsoft.com/sessions/77007 14
  • 14.
  • 15.
    .NET Core 3.0Preview 5  A lot of talk on:  Desktop support on .NET Core 3  gRPC support in ASP.NET Core 3  Blazor  https://dot.net/get-core3 16
  • 16.
  • 17.
  • 18.
    XAMARIN / MONO.NETFRAMEWORK .NET 2014 Next2016 Many .NETs .NET standard .NET .NET CORE .NET STANDARD
  • 19.
    .NET 5 INFRASTRUCTURE .NET STANDARD .NET—Aunified platform DESKTOP WEB CLOUD MOBILE GAMING IoT AI WPF Windows forms UWP ASP.NET Xamarin UnityAzure ARM32 ARM64 ML.NET .NET for Apache Spark
  • 20.
    Distributed analytics enginefor large datasets typically terabytes or petabytes Currently available with Scala, Java, Python and R… …but not .NET
  • 21.
    dot.net/spark Spark SQL +DataFrames Streaming & interactive Speed & productivityMachine Learning
  • 22.
    Total execution time(seconds) for all 22 queries in the TPC-H benchmark (lower is better). Data sourced from an internal run of the TPC-H benchmark, using warm execution on Ubuntu 16.04. .NET for Apache Spark is designed for high performance and performs better than python on the TPC-H benchmark tpc.org/tpch. The TPC-H benchmark consists of a suite of business-oriented queries. Learn more: dot.net/spark 406 433 375 .NET PYTHON SCALA
  • 23.
    Custom ML made easywith AutoML Model Builder (a simple UI tool) and CLI make it super easy to build custom ML Models. Built for .NET developers Create custom ML models using C# or F# without having to leave the .NET ecosystem. Extended with TensorFlow & more Leverage other popular ML frameworks (TensorFlow, ONNX, Infer.NET, and more). Trusted & proven at scale Use the same ML framework which powers Microsoft Office, Windows and Azure dot.net/ml ML.NET 1.0 An open source and cross-platform machine learning framework
  • 24.
    dot.net/ml Product recommendation Recommend productsbased on purchase history using a matrix factorization algorithm. Sentiment analysis Analyze the sentiment of customer reviews using a binary classification algorithm. Price prediction Predict taxi fares based on distance traveled etc. using a regression algorithm. Customer segmentation Identify groups of customers with similar profiles using a clustering algorithm. Spam detection Flag text messages as spam using a binary classification algorithm. Image classification Classify images (e.g. broccoli vs pizza) using a TensorFlow deep learning algorithm. Sales forecasting Forecast future sales for products using a regression algorithm. GitHub labeler Suggest the GitHub label for new issues using a multi-class classification algorithm. Fraud detection Detect fraudulent credit card transactions using a binary classification algorithm.
  • 25.
  • 26.
    Developer Tools  .NETPlatform Overview and Roadmap  https://mybuild.techcommunity.microsoft.com/sessions/77031  All the Developer Things with Hanselman and Friends  https://mybuild.techcommunity.microsoft.com/sessions/77123 27
  • 27.
  • 28.
  • 30.
    Text features - Wordngrams - unigrams - bigrams - trigrams … - Character ngrams - unigram … - vocabulary size, idf, stop-words, casing - word embedding - pretrained word embeddings - language? - pretrained corpus? - dimension? - text similarity - embedding-based - ngram-based Numerical features - Discretization: - k-means clustering - n_clusters (2, 3, 4,..?) - Equal sized bins - n_bins (2, 3, 4,..?) - Target encoding on bin- categories. - Scaling - Normalization, percentile-based, … - Outlier removal Categorical features - one hot encoding - Target encoding - Cross-validation - Regularization params - Categoricals for trees Time series forecasting features: - lagged features - Frequency detection Timestamp features - Day of week - Day of month - Day of year - Month - Hour - Minute - Holiday - Quarter
  • 31.
    Text features - Wordngrams - unigrams - bigrams - trigrams … - Character ngrams - unigram … - vocabulary size, idf, stop-words, casing - word embedding - pretrained word embeddings - language? - pretrained corpus? - dimension? - text similarity - embedding-based - ngram-based Numerical features - Discretization: - k-means clustering - n_clusters (2, 3, 4,..?) - Equal sized bins - n_bins (2, 3, 4,..?) - Target encoding on bin- categories. - Scaling - Normalization, percentile-based, … - Outlier removal Categorical features - one hot encoding - Target encoding - Cross-validation - Regularization params - Categoricals for trees Time series forecasting features: - y- lagged features - Frequency detection Timestamp features - Day of week - Day of month - Day of year - Month - Hour - Minute - Holiday - Quarter Without automated ML: hard, combinatorial explosion With automated ML: easy, tailored to your dataset
  • 32.
    xgboost alone: ~10^10 possible parameter configurations Compute cost > 10^5 years
  • 34.
    Datasets yours perform wellwith X ML learner
  • 35.
  • 36.
    MLOps = ML+ DEV + OPS Experiment Data Acquisition Business Understanding Initial Modeling Develop Modeling Operate Continuous Delivery Data Feedback Loop System + Model Monitoring ML + Testing Continuous Integration Continuous Deployment
  • 37.
    App developer using AzureDevOps Build appCollaborate Test app Release app Monitor app Model reproducibility Model retrainingModel deploymentModel validation Data scientist using Azure Machine Learning
  • 38.
    Code, dataset, and environmentversioning Model reproducibility Model retrainingModel deploymentModel validation Build appCollaborate Test app Release app Monitor app App developer using Azure DevOps Data scientist using Azure Machine Learning
  • 39.
    Train model Validate model Deploy model Monitor model Retrainmodel Model reproducibility Model retrainingModel deploymentModel validation Build appCollaborate Test app Release app Monitor app Azure DevOps integration App developer using Azure DevOps Data scientist using Azure Machine Learning
  • 40.
    Sessions  From Zeroto AI Hero–Automatically generate ML models using Azure Machine Learning service, Automated ML  https://mybuild.techcommunity.microsoft.com/sessions/76975  Breaking the Wall between Data Scientists and App Developers with MLOps  https://mybuild.techcommunity.microsoft.com/sessions/76973 41
  • 41.
  • 43.
    Azure Blockchain Service Adir Ron is up next  44
  • 44.
    GitHub  Azure ActiveDirectory Support in GitHub Enterprise  GitHub Identity Support for Azure 45
  • 45.
    Resources  All sessionvideos and slide decks available here  https://mybuild.techcommunity.microsoft.com/sessions 46
  • 46.
    Personal Recommendation  InsideAzure datacenter architecture with Mark Russinovich  My personal favorite  https://mybuild.techcommunity.microsoft.com/sessions/77002 47
  • 47.
    Eran Stiller Chief TechnologyOfficer, CodeValue erans@codevalue.net @eranstiller https://stiller.blog https://codevalue.net

Editor's Notes