Blog Post

Apps on Azure Blog
3 MIN READ

Azure Container Apps dynamic sessions general availability, and more

AnthonyChu's avatar
AnthonyChu
Icon for Microsoft rankMicrosoft
Nov 19, 2024

Python code interpreter and custom dynamic sessions are now generally available. New: JavaScript code interpreter is in public preview. Azure Container Apps dynamic sessions powers Microsoft Copilot.

With Azure Container Apps dynamic sessions, your applications have instant access to compute sandboxes for running untrusted code at scale. Each session is protected by industry standard Hyper-V isolation.

Today, we’re excited to announce:

  • General availability of Python code interpreter and custom container dynamic sessions
  • Public preview of JavaScript code interpreter dynamic sessions

Microsoft Copilot uses Azure Container Apps dynamic sessions

Microsoft Copilot, available to over 1 billion users, includes a powerful Advanced Data Analytics feature that performs user tasks such as creating visualizations, solving complex math problems, analyzing data, and modifying files and images. It accomplishes these tasks by generating and running Python code in real-time.

Because the code is generated based on untrusted user input and requires an immediate response, Microsoft Copilot relies on the fast, secure, and scalable code interpreter in Azure Container Apps dynamic sessions to execute it. Each user conversation uses its own Hyper-V isolated session.

Microsoft Copilot uses over 400,000 dynamic sessions per day and the usage continues to grow rapidly.

With Container Apps dynamic sessions, you can take advantage of the same battle-tested technology in your own applications.

Generally available: Python code interpreter and custom container sessions

Dynamic sessions is available in two modes: Python code interpreter and custom container — both are now generally available.

Python code interpreter sessions

Dynamic sessions provides fast and easy access to built-in Python code interpreter sandboxes without the need to manage containers.

To build advanced AI agents or copilots, large language models (LLMs) are often paired with a code interpreter to extend the agent’s abilities to perform complex tasks such as solving mathematical and reasoning problems, analyzing data, and generating graphics and charts. Dynamic sessions’ Python code interpreter provides sandboxes to securely execute LLM-generated code in production.

You can leverage dynamic sessions in your LangChain, LlamaIndex, and Semantic Kernel agents by adding a few lines of code.

In other applications that need to run untrusted Python code, you can integrate with Python code interpreter sessions using an HTTP API.

Learn more about code interpreter sessions.

Custom container sessions

In addition to the built-in Python code interpreter, dynamic sessions can run any custom container. You can use custom container sessions to create a code interpreter for your specific needs, such as preinstalling dependencies or supporting a different language.

You can also use custom container sessions to run any application that requires secure sandboxed environments for each end user or tenant. Some example scenarios include:

  • A web-based code editor
  • A SaaS application that can be extended by end users with custom code snippets
  • A hosted Jupyter Notebook service

Custom container dynamic sessions now supports managed identity. The session pool can use a managed identity to pull images. In advanced scenarios, the session can also authenticate with Azure services using a managed identity.

Learn more about custom container sessions.

Public preview: JavaScript code interpreter sessions

Today, we're also announcing that in addition to Python, Azure Container Apps dynamic sessions also supports JavaScript. The new built-in JavaScript code interpreter sessions is in public preview.

Use JavaScript code interpreter sessions in your applications to run untrusted code on the Node.js runtime.

You can get started by creating a Node.js session pool in the Azure portal.

Updated Nov 19, 2024
Version 1.0
No CommentsBe the first to comment