1.1K Views
November 21, 24
スライド概要
InnerSource Summit 2024
https://innersourcecommons.org/events/isc-2024/
Microsoft MVP for Microsoft Azure
InnerSource Summit 2024 Implementing All-Inclusive InnerSource Platforms for Large Enterprises Takeshi Yaegashi Technical Director Bandai Namco Studios Inc.
About the title: "Implementing All-Inclusive InnerSource Platforms for Large Enterprises" • Original title: "Implementing an All-Inclusive InnerSource Portal for Large Enterprises" • Why changed from "a Portal" to "Platforms"? • I realized that what I actually needed were all-inclusive InnerSource Platforms, each of which includes not only a single portal but also various services that are open to all potential InnerSource contributors within the organization • What I will discuss in this session: • InnerSource Platforms: requirements and implementations (InnerSource Platform Engineering) • Fragmented Collaboration Platforms: challenges specific to large enterprise • Proposed solutions and mitigations for the Bandai Namco Group 2
About me • Name: 八重樫 剛史 Takeshi Yaegashi • Title: Technical Director • Division: DX Section, Server Solution Unit, Online Technology Department, Group 3, Technical Studio • Organization: Bandai Namco Studios Inc. • Microsoft MVP for Microsoft Azure (2023, 2024) • Responsibilities as an Infrastructure Engineer: • Promoting the adoption of cloud services for internal developers • Platform engineering focused on video game development 3
InnerSource Platforms • Today’s open-source software development heavily relies on Collaboration Platforms • What are Collaboration Platforms? • Git and GitHub: The de facto standard in the industry. • Other popular platforms following GitHub: GitLab, Azure DevOps, Bitbucket, Gitea, etc. • InnerSource is based on open-source principles, and its practices assume the use of specific collaboration platforms • Examples in Git/GitHub terminology: Forks, Pull Requests, README.md, CONTRIBUTING.md, etc. • Implementing an InnerSource platform includes setting up a collaboration platform tailored for your organization • InnerSource Platform Engineering 4
InnerSource Platform Implementations • How to implement InnerSource platforms? • The book "Managing InnerSource Projects" [1] covers this topic in general. • It provides recommended strategies and configurations for using GitHub as an InnerSource Dedicated Environment. • Common assumptions about InnerSource platform implementations • A collaboration platform (specifically a GitHub-like platform) already exists within the organization. • All potential contributors to InnerSource have access to this platform. • Unique challenges for large enterprises • These common assumptions may not be applicable. [1] https://innersourcecommons.gitbook.io/managing-innersource-projects 5
Challenges in Implementing InnerSource Platforms in Large Enterprises • No single collaboration platform that can cover all potential InnerSource contributors within the enterprise • Fragmentation of collaboration platforms • Different projects adopt separate collaboration platforms (e.g., GitHub, GitLab, Azure DevOps, etc.) • Access to paid collaboration platforms is often restricted to specific professionals, such as engineers, leaving other roles without access • Why does this happen? • Specific reasons for large enterprises: size, history, and financial constraints • Per-user charges by many SaaS providers (e.g., $21/user/month for GitHub Enterprise) • Unifying collaboration platforms is challenging, especially migrating existing projects • Why is this considered harmful? • Fragmented collaboration platforms create information silos • Collaboration platforms accessible only to certain users tend to be avoided • Successful InnerSource initiatives benefit from the broadest possible participation, ideally, all employees should have access to collaboration platforms 6
Challenges in Implementing InnerSource Platforms in Large Enterprises • Multi-layered InnerSource scopes in large enterprises • Visibility control per project is often needed: "Enterprise-wide", "Corp-A-limited", "Project-A-limited" • Collaboration platforms should support fine-grained access control based on the central organization database • In many cases, scopes can be defined by something like Microsoft Entra ID groups, which reflect enterprise organizations Corp A Div A Dept A Sect A Sect B Corp B Div B Div C Div D Dept B Dept C Dept D Dept E Sect C Sect D Sect E Sect F Project A Project B Project C 7
Proposed Solutions and Mitigations for Challenges • InnerSource Platform with the following services: • InnerSource Collaboration Platform: provides an alternative collaboration platform to break down information silos, along with optional feature of Git repository mirroring from existing collaboration platforms that form silos • InnerSource Portal: offers a catalog of InnerSource projects hosted in the InnerSource Collaboration Platform • Specific requirements for large enteprises: • No user-proportional cost: self-hosted open-source software (OSS) is preferred • Universal availability: capable of accommodating all possible InnerSource contributors within the enterprise • Fine-grained access control: access is granted or denied based on user affiliations 8
InnerSource Platform Engineering for the Bandai Namco Group • Our InnerSource Platform components: • Gitea: OSS for self-hosted InnerSource Collaboration Platforms • Backstage: OSS for self-hosted InnerSource Portals that provide InnerSource Catalogs and TechDocs • Microsoft Entra ID (formerly Azure AD): IDaaS for user authentication, defining user affiliation groups, and supporting external guests • Golden path to run your own InnerSource Platform • InnerSource Platform as a Service within the enterprise • Delivers a platform instance for each organization in the enterprise with a preferred visibility scope 9
Gitea as an InnerSource Collaboration Platform • What is Gitea? https://about.gitea.com/ • OSS for a self-hosted, GitHub-like collaboration platform • Written in Go, lightweight and easy to maintain • User and group provisioning based on Microsoft Entra ID • Git repository mirroring feature • Auto-synchronize with Git repositories on another platforms • GUI allows users to manage mirroring themselves 10
Backstage as an InnerSource Portal • What is Backstage? https://backstage.io/ • Open source framework for building developer portals • Extensive integrations with other platforms, including Gitea • User and group provisioning based on Microsoft Entra ID • Core features suitable for InnerSource Portal needs • Software Catalogs: use catalog-info.yaml to describe the project • TechDocs: detect and render MkDocs document in the repository 11
Benefits of adopting Gitea and Backstage for InnerSource platfroms • No per-user licensing cost, every user within the enterprise can have access • Provides an InnerSource-specific, independent platform with appropriate visibility • Enable simplified and self-service configuration for Backstage integrations • Admins no longer need to maintain integrations with each collaboration platform; a single integration with Gitea suffices • Developers can easily set up repository mirroring from their original collaboration platform themselves using Gitea 12
Limitations, Problems Remaining Unsolved • Our solution implements the following approches of InnerSource Dedicated Environment mentioned in the book "Managing InnerSource Projects" [1] • InnerSource Catalogs (Backstage) • Dedicated [GitHub] Organization for InnerSource (Gitea) • While it helps make InnerSource projects more visible within the organization, it does not solve access issues • Developers have the following options: • Promote InnerSource activities using Gitea, which may be different from the original collaboration platform • Recruit InnerSource contributors who appear on Gitea to the original collaboration platform [1] https://innersourcecommons.gitbook.io/managing-innersource-projects/innersource-tooling/github-strategy 13
Current Status, Future Plans, Conclusions • Current: InnerSource Platform Engineering • Blueprint development and verification with Gitea, Backstage, and Microsoft Entra ID • Deploying testing instances of the proposed InnerSource Platform for large enterprises • Future: provide InnerSource Platform as a Service within our enterprise • Enable each organization within the enterprise to run its own InnerSource platform with predefined visibility scopes • Launch the beta service in the end of CY2024 • Future: develop missing features and contribute to upstream open source projects • Gitea: Enhance support for cloud native, scalable, secure deployments required by large enterprises • Backstage: Implement discovery features in the Gitea integration • Conclusions • We're at the early stages of exploring InnerSource Platform Engineering within the Bandai Namco Group • We look forward to sharing our progress and insights with you as we advance on this journey • Thank you for your attention and support! 14
Thank You!! 15