Modern business applications bring together many strands of development. You’re no doubt most familiar with n-tier applications, building on decades of programming skills and techniques, linking UI to code and to data. They’re familiar and easy to understand. But that all changes when you start to add new technologies and approaches, constructing massively scalable distributed computing platforms that take advantage of large amounts of data and machine learning.

Much of modern machine learning builds on using analytical tools to explore data and develop rules for showing statistically significant outliers. Although specialized neural networks handle complex speech and image recognition, most problems don’t require particularly complex models—especially if you’re using predictive algorithms on streams of data from sensors or other IoT hardware. Even so it’s important to try new algorithms out on realm data before you implement them.

Introducing Azure Notebooks

Getting to grips with machine learning can be tricky. It’s hard to visualize data at scale, and harder still to understand how analytics can drive machine learning. That’s where come in, giving you a place to explore analytics using familiar languages in a playground where you can try out code and visualizations, sharing results with colleagues, and adding descriptive text around your code and results for presentations to management and your team.

Azure Notebooks is an implementation of the widely used open-source . Supporting more than 40 different languages, Jupyter Notebooks can run locally as well as on the cloud, and you can bring code that’s developed on Azure into a private Jupyter Notebook, ready for sharing on-premises—or if you need to work with cloud code on a plane.

extensions. If you need specialized libraries, such as to handle a specific mathematical or machine learning operation, or if you want to use a tool that’s in common use in your organization, you can install code from language-specific package managers via the notebook terminal.

(which is how I’ve been using them, because I’ve realized that I’ve got a large Python-shaped hole in my language knowledge), of , or even . Microsoft provides a library of notebooks to help you learn other tools, including using Python with its and building and training models.

Having a sandbox to play in is a good way to learn new techniques, especially with machine learning and other analytic techniques. But Azure Notebooks also has built-in presentation tools, so if you’ve come up with something that could work in a project, annotate your notebook code in Markdown and share it with colleagues.

Making Azure Notebooks part of your development process makes development more collaborative, letting you try out code and get comments before it’s used in your day-to-day development environment.