> Markdown version of [/videos/187-develop-enterprise-ready-applications-for-microsoft-teams-with-azure-resources-on-modern-web-technologies?t=1987](https://www.wearedevelopers.com/videos/187-develop-enterprise-ready-applications-for-microsoft-teams-with-azure-resources-on-modern-web-technologies?t=1987). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Develop enterprise-ready applications for Microsoft Teams with Azure resources on modern web technologies Tired of managing fragile password chains in your Teams extensions? Discover how to build enterprise-ready Node.js applications securely using Azure Key Vault and Managed Identities. - **Speakers:** Markus Möller - **Event:** World Congress 2021 - **Published:** June 29, 2021 - **Duration:** 43:26 - **URL:** https://www.wearedevelopers.com/videos/187-develop-enterprise-ready-applications-for-microsoft-teams-with-azure-resources-on-modern-web-technologies ## Summary Developing enterprise-ready applications for Microsoft Teams demands robust architecture, especially when handling dynamic configuration data, authentication workflows, and secure credentials. This session provides a practical roadmap for building custom Teams extensions using open-source, modern web technologies like Node.js, TypeScript, and the Yeoman generator. Moving beyond basic application setups, the demonstration highlights how Teams applications are essentially sophisticated web endpoints that gain powerful context and access to Microsoft 365 environments natively via the Microsoft Graph API—allowing organizations to deliver specific files, ERP entries, or custom data directly into collaborative messaging channels. A core challenge in enterprise development is securely managing runtime settings and access tokens without hardcoding secrets or maintaining insecure configuration files. To eliminate the anti-pattern of storing passwords in web configurations, developers can split application settings intelligently. Azure App Configuration is used to maintain basic, self-service settings (like specific SharePoint site or list IDs), while Azure Key Vault protects highly sensitive credentials. More importantly, instead of maintaining a fragile chain of passwords, Azure Managed Identities allow the App Service to authenticate against the Key Vault natively—eliminating password handling entirely and seamlessly bridging local debugging with secure cloud production states. To complete the enterprise development lifecycle, the session illustrates automated continuous deployment using Azure DevOps pipelines. By leveraging CI/CD methodologies via declarative YAML, developers can push updates automatically to Linux-based Azure App Services. Ultimately, this approach showcases how modern Microsoft development has shifted away from tightly coupled, proprietary ecosystems; developers can now rely on standard, evergreen open-source tools to build manageable, highly secure organizational tools. **Keywords:** microsoft teams app development, azure app configuration, azure key vault secrets, microsoft graph api integration, azure managed identity authentication, enterprise application architecture, azure devops ci/cd pipelines, single sign-on implementations, yeoman teams generator, node.js backend integration, ms teams messaging extensions, passwordless secret management, evergreen software automation, cloud credential storage ## Chapters 1. **Introduction to modern Microsoft Teams development** (00:03) — Developing enterprise applications for Microsoft Teams requires adopting Azure cloud resources beneath modern web configurations. 1. **Core elements of Microsoft Teams development** (02:45) — Standard extension points for virtual environments include custom browser tabs, bot communication channels, and centralized graph APIs. 1. **Querying documents with custom messaging extensions** (06:43) — A customized messaging tool fetches internal enterprise documents and formats the resulting payloads into interactive adaptive display cards. 1. **Implementing secured configuration vaults via Azure** (10:38) — Migrating sensitive application settings into isolated cloud storage vaults effectively prevents critical passwords from remaining exposed. 1. **Fetching application credentials through code integration** (13:42) — A node.js application securely retrieves configuration settings from cloud endpoints using managed client libraries. 1. **Eliminating passwords using Azure managed identities** (19:32) — Assigning distinct managed identities to independent cloud endpoints eliminates the ongoing requirement to manage static authentication secrets. 1. **Triggering local execution with environment variables** (22:50) — Testing application logic safely from a workstation relies on environmental variables to generate valid authorization tokens. 1. **Attaching remote diagnostics to cloud servers** (27:33) — Cloud-hosted enterprise software utilizes managed identity permissions to securely fetch access configurations during remote debugging sessions. 1. **Automating deployment procedures via remote controllers** (31:09) — Pushing code snapshots into remote version repositories activates automated background sequences designed to rebuild affected application architectures. 1. **Shifting ecosystem standards toward free tooling** (33:07) — Microsoft's evolving developer ecosystem provides completely free deployment environments and related tooling to support comprehensive open-source workflows. 1. **Reviewing business values and integration hurdles** (37:37) — Simplifying ongoing token exchanges presents a primary practical obstacle when attempting to expand custom enterprise integration platforms. 1. **Demonstrating practical release pipelines with YAML** (39:37) — Declarative build pipelines orchestrated through configuration files package completed application artifacts onto target production hosting environments. ## Related Moments - [Questions on architecture typing and team organization](https://www.wearedevelopers.com/videos/318-destructuring-frontend-monoliths-with-microfrontends) (from "Destructuring Frontend monoliths with MicroFrontends") - [Transitioning toward DevSecOps with dynamic scanning and secrets management](https://www.wearedevelopers.com/videos/83-enabling-automated-1-click-customer-deployments-with-built-in-quality-and-security) (from "Enabling automated 1-click customer deployments with built-in quality and security") - [Architecting the platform with modern cloud and mobile technologies](https://www.wearedevelopers.com/videos/64-shared-mobility-for-everyone) (from "Shared mobility for everyone!") - [Introduction to cloud-native application developer security](https://www.wearedevelopers.com/videos/416-capture-the-flag-101) (from "Capture the Flag 101") - [Maintaining team excitement and mitigating enterprise technical debt](https://www.wearedevelopers.com/videos/1107-the-future-of-developer-experience-with-genai-driving-engineering-excellence) (from "The Future of Developer Experience with GenAI: Driving Engineering Excellence") - [Adopting modern authentication strategies within software development teams](https://www.wearedevelopers.com/videos/714-going-beyond-passwords-the-future-of-user-authentication) (from "Going Beyond Passwords: The Future of User Authentication") ## Related Articles - [What Are The Top Skills Required For Azure Developers?](https://www.wearedevelopers.com/magazine/77-what-are-the-top-skills-required-for-azure-developers) - [Exploring AI: Opportunities and Risks for Developers](https://www.wearedevelopers.com/magazine/522-exploring-ai-opportunities-and-risks-for-developers) - [How we Build The Software of Tomorrow](https://www.wearedevelopers.com/magazine/120-how-we-build-the-software-of-tomorrow) - [Dev Digest 120 - Apple and peers](https://www.wearedevelopers.com/magazine/455-dev-digest-120-apple-and-peers) ## Related Jobs - [Senior Cloud DevOps Engineer](https://www.wearedevelopers.com/jobs/ext/1271985-senior-cloud-devops-engineer) at **ZEISS Group** - [(Senior) Cloud DevOps Engineer](https://www.wearedevelopers.com/jobs/ext/1246433-senior-cloud-devops-engineer) at **ZEISS Group** - [Senior Cloud DevOps Engineer](https://www.wearedevelopers.com/jobs/ext/1599094-senior-cloud-devops-engineer) at **ZEISS Group** - [Principal Software Engineer, Identity](https://www.wearedevelopers.com/jobs/ext/1469181-principal-software-engineer-identity) at **GitHub** - [Principal Software Engineer, Enterprise AI Platform](https://www.wearedevelopers.com/jobs/ext/1467292-principal-software-engineer-enterprise-ai-platform) at **GitHub** - [Cloud Engineer (Tenant)](https://www.wearedevelopers.com/jobs/48331-cloud-engineer-tenant) at **Riverty**