50 announcements of Build 2018. Part 2. Azure & Bots
Hello! In this article, we continue our story about the key announcements of the Build conference. We dedicated the last issue to hardware announcements (from the cloud to devits for developers) and development tools. Today we will tell about the cloud and bots.
In this issue:
Azure Architecture Overview by Mark Russinovich
Key announcements about Microsoft Azure
Updates in tools for interactive interfaces
Alexa and Cortana: Friendship Gum
Azure Architecture Overview by Mark Russinovich
It’s best to start this story with a traditional session from Mark Russinovich with an overview of the Microsoft cloud hardware and software architecture. If you're wondering how Microsoft manages more than 100 data centers in 50 cloud regions, providing high availability, performance and security, why we invest in “clean” energy, how we use FPGA inside and much more - see a review from Mark: ')
Key announcements about Microsoft Azure [11-33]
We tried to split the announcements about our huge cloud in ten topics, leaving the Azure IoT / IoT Edge for the next issue:
Azure Kubernetes Service Update [11]
Microservices, Containers and Serverless [12-19]
Azure Cosmos DB Update [20]
Azure Cognitive Services Update [21-25]
Azure Machine Learning Update [26-27]
Azure Media Services Update [28-29]
Announcement of Azure Blockchain Workbench [30]
Microsoft CDN Announcement [31]
Announcement of Azure Maps [32]
Announcement of Azure Confidential Computing [33]
Azure Kubernetes Service (AKS) Update [11]
AKS is a cloud service specialized in container management with Kubernetes. Below are the key news service:
DevOps project support for AKS . We have added support for working with AKS-clusters in VSTS. Now, with a few clicks, you can create a new cluster, containerize the application, deploy it through the CI / CD pipeline in the VSTS and analyze the telemetry via App Insight. All this on the basis of a single DevOps project.
Custom VNET with Azure CNI . One of the most frequent requests for new features is the ability to deploy Kubernetes nodes in an existing VNET. This is now possible through Azure CNI , including customizable IP address ranges for network components.
Monitoring the status of containers in AKS using Azure Monitor . You may already be familiar with the Azure Monitor service, which allows you to monitor the status of your virtual machines in near real time. Now you can also use this service to monitor the health and performance of the ASK cluster.
Routing for HTTP applications . KS now supports the ability to set up an application publicly using the Kubernetes Ingress controller directly, without the need to configure DNS records and server names.
AKS for Windows containers (closed preview). Many of our customers are interested in the ability to manage Windows-based containers with AKS. We started a closed preview of such a mechanism.
Azure Dev Spaces based on AKS . Many of you, for certain, faced a situation when you need to locally deploy an environment as close as possible to the combat environment in order to try to debug some kind of bug or test the operation of some new functionality. But this is all the time, the complexity of setting up the environment, the chain of assembly, dependencies, etc. Azure Dev Spaces allows you to raise the necessary environment in ASK and easily connect to it from the development environment or Azure CLI.
Updated experience in Azure Portal. We have significantly updated the interface for creating and managing AKS clusters in Azure Portal. We welcome your feedback.
In addition to the updates in AKS, we also made several announcements related to container management in general:
Microsoft Container Registry (MCR) - transition to the syndication model. As interest in the topic of containers grows, we also see an increase in the number of channels for “receiving” containers for our tasks. Ultimately, the community wants to have multiple access points, but at the same time remain confident in the reliability of each particular image. Therefore, for containers from Microsoft, we switch to the syndication model, when the final images will be available from mcr.microsoft.com (Microsoft Container Registry), and the content describing the containers will be available through familiar resources like the Docker Hub and Red Hat portals.
The Azure Container Registry (ACR) update includes:
The output of geo-replication containers in total availability.
ACR Build (preview for Linux) - allows you to customize the automatic assembly of containers from git-commits and updates to basic images, thus automating the application of patches to the OS and frameworks. We also plan to add support for assembling containers for ARM, thus allowing to speed up the update of IoT devices.
Secure default container registry. Placing containers in combat environments should ideally include scanning images from a security point of view, especially considering the potential internal dependencies of some images (own) on others (others, uncontrolled). In partnership with Aqua Security and Twistlock, we have added to ACR support for a new template for CI / CD, which checks the image before deployment.
The Azure App Services update includes:
Multi-container support - applications usually do not exist in a vacuum, they have a front end, API, caching services, etc. To increase portability and isolation, you can individually pack each of these blocks into containers, but at the same time work with them as a single unit (using the Docker Compose or Kubernetes Pod). Now you can deploy applications built from a variety of Docker containers into App Services, placing them in a single VM.
Linux in the App Service Environment (ASE) comes out in a public preview, the diagnostic capabilities in ASE are now extended to Linux web applications and Azure functions, and websites can authorize users and restrict access using Azure AD, Facebook, Google, Twitter or Microsoft accounts.
Also in the public preview are: remote debugging and support for your own SSH clients and SFTP protocol.
Updates to Azure Service Fabric include:
Azure Service Fabric Mesh is a new service, giving the usual features of Service Fabric, but eliminating the headache of cluster management and patching. The service supports containers on Windows and Linux. ( Sign up for a closed preview - aka.ms/sfmeshpreview ).
SF 6.2 brings the .NET Code runtime environment and Java code to Linux on a shared basis, along with a preview of RHEL support as an operating system.
The ability to create SF Standalone-clusters running on your servers (on-premise), directly from Azure (via the portal or CLI).
Expanding SF to IoT devices — the ability to create local clusters from SF applications deployed on end devices, which can then be managed centrally through the Azure IoT Hub.
Updates in Serverless technologies include:
Exit Durable Functions to general availability, Azure Functions options with state support and a long execution process.
Enhanced Azure Functions monitoring and diagnostic experience thanks to the development of integration with Aplication Insights and App Service Diagnostics, respectively. For example, the graphs that you see in the portal go directly from Application Insight.
Increasing the number of services supporting integration with the Azure Event Grid , including the Service Bus, Azure Media Services and in the near future the Azure Container Registry. We also added two new event handlers: Azure Storage Queues and Azure Relay Hybrid Connections.
Open standard support for CloudEvents in Event Grid for multi-cloud scenarios, as well as custom schemes for displaying fields in their own events on the Event Grid and alternative ways of endpoint validation.
New client and managers Java SDK for Event Grid , and stable SDK versions for .NET, Node.js, Python, Go and Ruby.
In Azure Stream Analytics, in addition to the existing types of windows for data analysis (Tumling / Rolling, Hopping / Jumping and Sliding / Sliding), a session window type has been added. The session window creates a time window of variable size depending on the block of incoming data, allowing, for example, filtering periods of missing data.
In the closed preview in Azure Stream Analytics , the following features also appeared: the ability to partition data at the exit of the service into a blob on any column and updated embedded ML models to detect anomalies. Sign up for a preview can be on the link: aka.ms/ASAPreview .
Public preview of Azure SignalR Services . This is a fully managed service that allows using ASP.NET Core SignalR to create real-time applications (chat rooms, live dashboards, etc.) without worrying about deploying, scaling, maintaining connections, etc.
The Azure Cosmos DB service was announced a year ago and today it is one of the fastest growing Azure services. Key announcements:
Multi-master replication protocol (in preview). The new protocol provides not only elasticity for reading, but also for writing, covering different Azure regions - 99.999% availability guaranteed low latency (at the 99-percent level). At the same time you get a huge scalability on the end points, the service is all the same, we are talking about hundreds or billions of devices, and you still choose the data consistency model, choosing what is more important for you: availability, latency or throughput.
The protocol also automatically detects potential conflicts in a masterless model and suggests several well-defined strategies for resolving them. As a demonstration of multi-master replication, we made the PxDraw demo service - this is a huge multi-user drawing board, reversed between 22-regions, and using a multi-master opportunity to reduce delays.
Overall availability for VNET Service Endpoint . This feature allows you to directly communicate with Azure Cosmos DB from within your virtual network in the cloud, allowing you to restrict access to the database only to users of your network.
Bandwidth management at the database level (preview). Until now, you could manage bandwidth at the level of an individual collection, table or graph (depending on the data model), which were internally represented as Cosmos DB container. Now you can set rules at the level of all databases (or a set of containers), thereby simplifying cost control at different levels of data storage, depending on load types.
General availability for the Bulk Executor library . The BulkExecutor library is created as an extension to the base SDK and provides the ability to do bulk (bulk) operations in Cosmos DB, on average, achieving up to 10-fold improvement in write throughput.
General availability of Asynchronous Java SDK for SQL API . The SDK uses the capabilities of the popular RxJava library to add a new set of asynchronous APIs for interacting with the database.
As part of updating the set of cognitive services in Azure, we added the following new features:
Computer Vision . Includes an improved OCR-model for English (in preview), signatures are extended to new languages.
Custom Vision . In addition to classifying images, we added the ability to define (position) objects. Models from the service can now be downloaded in three formats: TensorFlow, CoreML and ONNX.
Content Moderator . There was support for text classification, for example, to designate potentially adult, racist or offensive content. There are also human review tools for text and video.
Text Analytics . In addition to the basic capabilities of analyzing emotions, highlighting key phrases and defining a language, we added the function of identifying entities and their connection with known objects on the Internet (for example, in Wikipedia).
We also announced the launch of three new or combined services:
Azure Speech Service is a voice-integrated service that includes Speech to Text, Text to Speech and Speech Translation capabilities. All parts of the service support customization with your own data. For example, you can now create a branded voice.
Bing Visual Search is a service that allows you to search among images, find visually similar ones (for example, recognize stars, cultural objects, etc.), work with barcodes and extract text information from images.
Azure Cognitive Search is a service that allows you to enrich existing data with the help of cognitive services and do search by advanced data.
Finally, we launched the experimental cognitive services - Cognitive Services Labs :
Project Answer Search - allows you to improve the search user experience by automatically requesting and displaying well-known facts and information from the Internet.
Project URL Preview - creates a preview of web pages on the provided links, noting the presence of adult content.
Project Anomaly Finder - allows developers to automatically monitor data changes over time and detect anomalies based on statistical models.
Project Conversation Learner (by invitation) - allows you to create and train interactive interfaces based on the presented examples of dialogs.
Project Personality Chat (by invitation shortly) - allows you to add a smart agent personality that corresponds to your brand, by maintaining dialogues on common topics.
Project Ink Analysis (by invitation shortly) - allows you to "decode" the inscriptions with a digital pen and translate their content into objects and text.
Azure ML SDK for Python (preview): a single managing API for data-spinners to execute key stages of model creation based on Azure ML: resource allocation / allocation, model training, model deployment, and evaluation. All from Python, with support for many python-compatible frameworks, including: TensorFlow, CNTK, Scikit-learn, etc.
Azure ML Packages for computer vision, financial forecasting and text analytics (preview). These packages are a set of ready-made Python extensions for Azure ML (installed via pip), allowing developers to use reasonably accurate and efficient models. If necessary, you can, of course, rebuild, train and tune them.
We also introduced ML.NET (preview) - an open cross-platform ML framework for .NET developers. This is an industry library that includes the latest Microsoft machine learning developments used by the Bing, Office, and Windows teams.
At the conference, we announced a public preview of the new API version for Azure Media Service s (v3). In the third version of the API, the development model has been simplified, which makes it easier to integrate with other services (for example, Event Grid and Functions), new analytical capabilities have been added, and the set of supported SDKs for .NET, .NET Core, Java, Go, Python and Node.js have been updated .
AI for media content A year ago, we announced the launch of the Video Indexer service, which uses AI capabilities to extract meta-information from media streams and files. This year we added new features to the service:
You can now connect the Video Indexer service to your Azure subscription to use it outside of the trial period;
The new version of the API, taking into account user feedback previews;
Availability of service in three regions: West US 2, North Europe and East Asia;
Over the past 18 months, we have seen thousands of customers experimenting with blockchain solution patterns and blockchain-related tools available in Azure. A lot of interesting scenarios - from tracking counterfeit products in pharmaceuticals to working on the creation of digital national currencies.
We are pleased to announce our new tool, the Azure Blockchain Workbench , which allows us to reduce the development time of pilot blockchain solutions from months to days. Workbench helps to automatically configure the infrastructure for applications, leaving developers to direct the logic of decisions.
Technologically, Workbench uses the Azure Resource Manager (ARM) templates already familiar to developers, allowing you to not only deploy a blockchain network in the cloud, but also integrate it with other Azure services: Azure AD for user management, Azure Key Vault for secure key storage, processing events for smart contracts via Service Bus and Event Grid, interaction with existing systems and applications through Logic Apps, etc.
In addition to the existing access options through Azure to CDNs from Verizon and Akamai, we announced a public preview of Microsoft CDN - our own content delivery network running on top of the Microsoft Global Network .
On the basis of MGN, Microsoft built services such as Office 365, Bing, Xbox Live, Skype, and Windows. Now network capacities are also available to Azure users. The list of available locations added to 54 global points of presence and 16 points for the regional cache.
We also announced a public preview of using our own SSL certificates in conjunction with the CDN.
The Azure Location Based Services service has been renamed to Azure Maps .
During the conference, we announced the following new features:
Search Service. The search service allows finding real-world objects and their location. We added a search by geometry (the ability to find objects within given boundaries), a search by neighborhood (the ability to find in the vicinity of a given location) and a search along a route (the ability to find points of interest along a specified route).
Render Service. The service is used to visualize maps, including inside Azure Map Control. In the GA version, we added a new API for static images in embedded maps.
Time Zone Service. The service allows you to find out time zones and time in different locations. We have added localized time zone names in 49 languages.
Azure Map Control. Web JavaScript control for embedding maps into your applications. At GA, we have improved the accessibility of an item, making it convenient for more people. In particular, you can work with it using applications to control the screen reading (narrator).
Creating such solutions requires a combination of many factors:
Support at the level of iron . It is necessary to provide application isolation during computing and to make such functionality available at the OS level. This technology is available in the latest generation of Intel Xeon processors with Intel SGX technology. At the service testing stage, similar processors are available in the East US Azure region. You can access them from the cloud before they are widely available in their own data centers.
Computational model . We extend the Azure computing platform to make it possible to host and manage instances with TEE (Trusted Execution Environments) enabled. We introduced a new family of virtual machines (DC-series), which run on the latest versions of Intel Xeon (see item 1). Thus, you can run SGX-enabled applications in the cloud.
Development . We are actively working with our partners to make the Windows and Linux APIs consistent between different TEE implementations (software and hardware) so that the code of confidential applications is portable. We are also working on tools for developing and testing such applications. Today you can create C / C ++ applications using the Intel SGX SDK.
Certification When executing code in TEE, you need to make sure that it is valid. We work with iron manufacturers to jointly design and be able to support appraisal services that simplify verification and high availability.
Services and scripts . A virtual machine is a low-level building block that allows new secure business scenarios in the cloud. It is also important for us to understand what ready-made services we can represent. Today, we are already working in three directions: 1) protecting the confidentiality and integrity of data through SQL Server Always Encrypted, 2) creating trusted distributed networks based on our Confidential Blockchain Framework (COCO Framework), and 3) confidential combining multiple data sources to support scripts creating machine learning algorithms between multiple players.
Research . Microsoft Research works closely with the Azure team and iron producers to find and prevent potential TEE vulnerabilities. For example, we investigate advanced techniques to complicate TEE applications to leak information out of TEE, intentionally or unintentionally.
In addition to the above mentioned experimental services of Cognitive Services Labs (in particular, Conversation Learner and Personality Chat), we have updated substantially updated existing services and tools:
Bot Builder SDK (preview version 4). An updated version of our open SDK for creating bots with a focus on extensibility and modularity. The new version also facilitates the creation of directed dialogues with the provision of a set of choices or actions to users. And you can, of course, connect LUIS for more natural dialogs. We have expanded support for up to 4 programming languages: C #, JavaScript, Python, and Java. New component SDK - Bot Builder Dispatch . When creating bots, developers often use a combination of services and models to increase the overall “intelligence” level. In these situations, Bot Builder Dispatch allows you to evaluate potential conflict conflicts and overlapping responses between different services, using machine learning to create a distribution model.
Bot Builder Tools - command line tools for creating and managing bots, including integration with LUIS models, QnAMaker knowledgebases and the Bot Builder Dispatch module. Cross-platform and open tools.
Improved emulator Bot Framework (preview version 4). The updated emulator includes an improved dynamic layout model, multiple settings of bots, simplified management of bot components and the ability to inspect responses when interacting with the LUIS and QnA services.
We also added a transcript function that allows you to debug bots based on the logs of the dialogs and play them in the presentation mode. Bot Framework Emulator is open and available on Github .
Updates to Azure Bot Service . We have added to the service the ability to authenticate users based on Azure AD and a variety of OAuth providers. We also adjusted the service in accordance with the requirements of the GDPR and added an API that allows you to manage the privacy of user data.
Updates in Language Understanding (LUIS). The capabilities of the service were expanded by integrating with Text Analytics (see above in the section on cognitive services), allowing you to associate user phrases with known entities. We also made possible the pass-through “Speech to Intent”, translating speech into text and further into intents (intentions). Finally, we added two more possibilities for understanding intents: Regex entities allow you to pull objects out of statements using regular expressions, and Pattern allow you to deduce intentions from a small number of examples of statements.
During the conference, we showed how the collaboration of various digital assistants will look like the example of Alexa from Amazon and Cortana from Microsoft.