Share via


Design your Copilot Studio production environment strategy

For customers building and deploying agents at scale, they need guidance on best practices and key considerations to design their production environment strategy in alignment with their operational goals and technical needs. A crucial decision involves choosing between a shared or dedicated production environment for their agents. This article outlines the key factors that customers should consider when developing their agent production environment strategy.

Choose between a shared or dedicated production environment

A shared production environment is where multiple agents coexist within the same production environment, while a dedicated production environment hosts a single agent. Generally, customers are advised to set up a separate production environment for each agent deployment. However, as customers expand their use of agents, they can find it burdensome to manage multiple production environments and prefer a single shared production setup that can handle several agents since agents are offered as software as a service (SaaS).

Key considerations for production environments

Designing an effective production environment strategy for Copilot Studio involves careful consideration of your operational needs, performance requirements, and security concerns. By weighing the pros and cons of shared versus dedicated environments, and monitoring key indicators, you can make informed decisions that support the success and reliability of your agent applications.

The following key factors help you decide between a shared or dedicated production environment for your agent deployments.

  • Business criticality and impact

    It's highly advisable for business-critical agents with significant value and impact to run in dedicated production environments. It helps prevent disruptions from possible changes to shared resources, such as data sources, connection references, data policies, and message allocation.

  • Data security and compliance requirements

    Customers need to consider their data loss prevention, data privacy, and geographic residency requirements when they evaluate deploying agents into shared or dedicated production environments. For example, depending on industry regulations, certain agents might handle highly sensitive data which might require dedicated environments to comply with data residency or security standards. Dedicated environments help maintain data privacy. 

  • Governance and user access control

    Usually, the best practice is to restrict production access to service principals or managed accounts. Depending on the structure of support teams and business requirements, various IT and user groups might need to access specific applications or agents in production environments. So, consideration of dedicated versus shared environments for granular permission management becomes necessary. 

  • Solution architecture

    The dependency of your agent on cross-platform solutions significantly affects your production environment strategy. For instance, if your solution includes Canvas apps utilizing a custom agent that invokes several Power Automate flows, you must ensure all solution components are hosted within the same environment. Adding several agents with numerous dependencies into shared production environments can make environment management a daunting job.

  • Application life cycle management

    Considering your organization's existing Dev Ops process is crucial. For instance, utilizing a fully automated deployment system with tools like Azure Pipelines can significantly streamline the management and support of multiple production environments, whereas relying on a manual process can present more challenges.

  • Resource allocation and storage capacity

    When managing agents in shared production environments, it's essential to consider storage requirements and usage patterns. For example, spikes causing increased message consumption, or large conversation transcript data that might affect Dataverse capacity and utilization. Assigning agents to dedicated environments facilitates the allocation of individual resources (such as agent messages or Dataverse storage) for each agent separately. This separation allows more detailed management of agent message capacity assignment at the environment level. Therefore, your production environment strategy should take the expected traffic load, message consumption, and data storage needs of your agents into consideration.

  • Reporting and monitoring

    The following factors need to be considered during the planning of the production environment strategy: - An organization's reporting and monitoring requirements - The configuration of the system's monitoring and alerts

  • Service protection limits

    Critically, your organization must consider the service protection API limits for each service utilized by their agent (such as Dataverse calls, Power Automate, customer connectors, prompt builder, and shared connections). Consider whether these limits are assessed at per user or per environment levels. For more information about Power Platform API requests limits, see Requests limits and allocations.