OSS X Users Meeting #32「オープンソースを取り巻くエコシステム」
2021年12月9日に開催された「OSS X Users Meeting #32」。当日は多数の方にご参加いただき、誠にありがとうございました。
<OSS X Users Meeting> は、2012年にSCSK R&Dセンターが中心となり「OSSユーザーのための勉強会」として発足したもので、「旬な、注目の OSS」をテーマに、 開発コミュニティの当事者とこれからOSS を学びたい人との交流・相互理解を通じ、 共に見識を高めるための勉強会&セミナーイベントです。第32回となる今回は、オープンソースを取り巻くエコシステムをテーマに、エコシステムを通してイノベーションが促進されている事例について、この分野の第一人者をお招きしご講演いただきました。
開会・ご挨拶
まず開会にあたり、「OSS X Users Meeting」の運営コミュニティに参画されている、法政大学大学院 情報科学研究科 兼任講師の坂本寛氏にご挨拶をいただきました。
オープンソースエコシステムの戦略的活用
基調講演として「オープンソースエコシステムの戦略的活用」をテーマに、Linux Foundation 日本担当バイスプレジデントである福安徳晃氏にご講演いただきました。 近年、「企業がOSSを活用する理由は安いからではない」、とOSSを利用する目的が変化してきています。
さらに、OSSの存在が企業の事業の中核により近い位置付けになってきているトレンドも起きています。
また、事業変革のための有利なエコシステム構築にOSSを戦略的に活用することで、事業にレバレッジ効果を生み出しています。
そして企業はOSSへの貢献によって自社に有利なエコシステム構築が可能になります。
企業におけるエコシステム構築について、各業界で現在起こっている事例も取り上げています。
そして、福安氏は、今回の講演を以下のように結びました。
オープンソースエコシステムの戦略的活用:セッション資料
:セッション動画
Kubernetesのエコシステムの成り立ちと展望
続いて、ミランティス・ジャパンの代表取締役である嘉門延親氏と、CloudNative Days Tokyo 2021 共同実行委員長である青山真也氏による合同セッションとして、「Kubernetesのエコシステムの成り立ちと展望」をテーマに講演いただきました。
セッションの前半に登壇された嘉門氏は、まずミランティス社についての説明から。ミランティス社は2010年に米国で設立され、OpenStackやKubernetesを中心としたクラウドソフトウェアを提供する企業で、2019年にDocker Enterpriseの製品および事業を買収したと語ります。
続いて、Dockerが実現するコンテナ技術とKubernetesについて解説しました。
Dockerは2013年に発表されましたが、2016年にはランタイムであるcontainerdが分離されました。
その後、2017年にはMoby projectが発表され、ベンダーがコンテナシステムを構築する際に独立して再利用できるようコンポーネントを分割する、という新たなOSS戦略が示されました。
DockerのイメージはKubernetesで動き、Docker+Kubernetesは今後も(ニーズがある限り)商用環境でサポートされます。実際、開発者にはコンテナ技術を単体でも使うメリットがあり、そのようなユースケースも多く存在しています。
Kubernetesは、今後のソフトウェア基盤の中心となる技術と言われていますが、超えるべき課題も少なくありません。特に日本では、クラウドの採用が遅い、業界の特性や法律面で内製化が進まない、Kubernetesの技術的な難易度が高いなどの理由から、欧米と比較するとまだ思ったほど採用が進んでいません。 その理由は、
インフラ担当者の負担を下げるには、パブリッククラウドベンダ各社が提供しているManaged Kubernetesや Cloud Providerを活用するという手段が有効です。一方で、インストールや管理が簡単なKubernetesも弊社含めてリリースされているので、パブリッククラウドのロックインをさけるために、これらのソフトウェアを独自に使うこともできます。またアプリ開発者の負担を下げるという意味では、OSSを起点として開発者の利便性を高めるエコシステムの動きが出ています。
Kubernetesのエコシステムの成り立ちと展望(前編):セッション資料
:セッション動画
続いてセッションの後半では、Kubernetesのエコシステムを支える技術をテーマに、「CloudNative Days Tokyo 2021」の共同実行委員長である青山真也氏が登壇されました。
青山氏は普段、サイバーエージェントでKaaS(Kubernetes as a Service)の開発を行っており、プロダクトオーナーという立場にもあります。
Kubernetesは、Google Borgからインスパイアされたアプリケーション実行基盤です。Kubernetesではストレージやネットワークなどさまざまな管理対象を「リソース」として扱い、YAML形式のファイルで定義します。その宣言的に記述されたマニフェストをKubernetesに登録することで、コンテナの起動やロードバランサの作成などが行えるようになっています。
また、Kubernetesの内部ではControllerという小さなプログラムが動いており、「リソース」の状態を常に監視し、あるべき理想の状態(Desired State)になるよう制御しています。これは、Reconciliation loop(調整ループ)と呼ばれ、Observe、Diff、Actの3フェーズから成っています。Observeで現状を把握し、要求された状態と実際のステータスがどうかを見て、Diffで差分を計算。Actでその差分に対して何かしらのアクションを行います。
しかも、一定の時間が経過した後に処理を再実行するのではなく、変更を検知して効率的に処理を実行します。全ての情報がKubernetes(etcd)上にデータとして保存されており、データの変更を検知し、処理を実行するための仕組みも用意されています。
青山氏は、Controllerによる運用の自動化の事例も紹介。一般的な運用負荷の軽減はもちろん、エコシステムを通じて、ロジックの難しいステートフルなミドルウェアを運用するためのControllerが作成され、データベースの自動運用も可能になると述べました。さらには、外部システムを制御・運用するための仕組みも用意されていると言います。
Kubernetesのエコシステムの成り立ちと展望(後編):セッション資料
:セッション動画
GitHubが実現する開発者中心のソフトウェア開発の円滑化
最後のセッションでは、『GitHubが実現する開発者中心のソフトウェア開発の円滑化』をテーマに、GitHub Japan Regional Directorの山銅章太氏に講演いただきました。
まず山銅氏は、Githubの概要について説明しました。
GitHubではOSSを重要視しており、拡大するオープンソースコミュニティの継続を維持するという役目を担っています。登録している開発者は7300万人以上、オープンソースコミュニティは1000以上、Fortune 100の企業のうち84%がメインに利用しており、世界最大規模の開発プラットフォームといえます。
具体的なコミュニティ維持に関わる活動としては、大きくContributors、Commits、Commerceの3つがあります。
GitHubの2021の年次レポート(Octoverse)では、GitHubユーザーは昨年から28%増加して7300万人、このうち日本のGitHubユーザーは30%増加して170万人に達しました。この高い成長性に注目し、GitHubは日本への投資を増やしています。
開発者の生産性向上においては、自動化、コードの再利用、ドキュメンテーションなどが貢献します。GitHub Action(自動化)の活用することで、マージするPull Requestの数が36%増加し、マージにかかる時間が33%減少します。また、コードの再利用により、87%の生産性向上ができます。ドキュメンテーションによる生産性向上も50%に達します。
現在、GitHubの活動は、開発者が最高の仕事ができる環境を提供するように変化しています。たとえば、アイデア出しからユーザーへの提供まで、完全に統合されたプラットフォームを提供しています。また、GitHubのCodespacesを利用すれば、環境設定など半日かかっていた作業を10秒に短縮できます。このほか、プロジェクト全体を可視化するIssues、アイデアについて議論するDiscussions、コードを自動提案するCopilot、ワークフローを簡単に自動化するActionsなどの新機能があります。
GitHubが実現する開発者中心のソフトウェア開発の円滑化:セッション資料
:セッション動画
閉会・ご挨拶
イベントの最後にR&Dセンター センター長の杉坂浩一より閉会のご挨拶をさせていただきました。
32回目の開催となった「OSS X Users Meeting」ですが、オンラインでたくさんの方にご参加いただくことができました。次回も皆さまの参加を心よりお待ちしております。 セッション中に記録された グラフィックレコーディング