見出し画像

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」の運営コミュニティに参画されている、法政大学大学院 情報科学研究科 兼任講師の坂本寛氏にご挨拶をいただきました。

「<OSS X Users Meeting>は、開発コミュニティの当事者とこれからOSS を学びたい人との交流・相互理解を通じ、共に見識を高めていく勉強会&セミナーイベントで、今年で10年目を迎えました。今回はオープンソースを取り巻くエコシステムをテーマに、業界を牽引する有識者の方々にご登壇いただきます。皆さまには、存分に楽しんで聞いていただければと思います」

オープンソースエコシステムの戦略的活用


Linux Foundation
日本担当バイスプレジデント
福安 徳晃氏

基調講演として「オープンソースエコシステムの戦略的活用」をテーマに、Linux Foundation 日本担当バイスプレジデントである福安徳晃氏にご講演いただきました。 近年、「企業がOSSを活用する理由は安いからではない」、とOSSを利用する目的が変化してきています。

「以前はコスト低減、ベンダーロックインの回避を目的にOSSの活用を考えていた企業が多かったのに対し、今では自ら優位性のあるビジネスを創る、そのための開発手段としてOSSが用いられるようになっています」

さらに、OSSの存在が企業の事業の中核により近い位置付けになってきているトレンドも起きています。

「製品、サービスを開発するうえでOSSの重要度が増しています。特にDXの推進においては、活用の広がるOSSを自社のサービスや製品に吸収していかなければなりません。OSSの重要性が増すにつれ、自社内にOSSを専門に扱う部署を設置するなど、組織的・戦略的な管理も必要となります。今回のセミナーのテーマであるエコシステムは、企業のOSSマネジメントの中でも重要な要素のひとつと言えます」

また、事業変革のための有利なエコシステム構築にOSSを戦略的に活用することで、事業にレバレッジ効果を生み出しています。

「現在はDX、コロナ禍、脱炭素などの要素に合わせ、事業環境の急激な変化が求められる時代です。その中で既存の事業を大変革し、ビジネスを成功へ導くためには、製品そのものの開発以上に自社ビジネスにとって有利なエコシステム構築が欠かせません。そのためにはOSSの戦略的活用が必要です。エコシステムを端的に説明すると、企業の事業にレバレッジ効果を生み出す力です。自社の小さな力で、より大きな製品、サービス、収益を生み出すテコになる部分がエコシステムだと私は考えています。ここで言う、エコシステムとは、ソフトウェア、連携製品、対応ハード、標準技術、開発者、パートナー、サプライヤーなどを指します」

そして企業はOSSへの貢献によって自社に有利なエコシステム構築が可能になります。

「OSSの活用+エコシステム構築が成功への近道となり得る理由は、自社単独で取り組むのと比べ、開発速度、要素技術、開発リソースについて、圧倒的なレバレッジが得られるからです。OSSと企業の事業戦略との関係についてお話しすると、OSSへの貢献度など関わりの深さが増せば、該当する技術への影響力も高まるため、自社の事業に有利なエコシステムの構築が可能になります。言い換えれば、大きなコミットは、大きなリターンにつながるということです」

企業におけるエコシステム構築について、各業界で現在起こっている事例も取り上げています。

「トヨタ自動車は今を100年に一度の大変革と位置付け、モビリティカンパニーへの転換を進めています。この変革を1社で進めることは非効率であることから、自動車企業の枠に囚われないコネクテッドカーエコシステム構築に取り組み、車載端末、クラウドサービス、データストレージなどの面で他企業との協業を進めています。 また、通信業界においては、5G導入に伴う爆発的な通信トラフィック需要に対応するため、柔軟なインフラ構築への投資が必要とされており、AT&TやChina Mobileが中心となり、5Gインフラと技術的エコシステムの構築、標準化に取り組んでいます。 電力業界でも自動車業界と同様の大変革が起こりつつあります。電力業界はエコシステム構築が急務となっているため、関連する企業には大きなビジネスチャンスが見込まれると考えます。」

そして、福安氏は、今回の講演を以下のように結びました。

「OSSの戦略的利用はエコシステムを構築する上で非常に重要ですが、その実現のためには企業内におけるOSSリテラシーの向上が必要となります。Open Source Program Officeの設置なども一つの手法であり、採用する企業も増えてくると考えられます」

オープンソースエコシステムの戦略的活用:セッション資料
:セッション動画

Kubernetesのエコシステムの成り立ちと展望

Regional Director /ミランティス・ジャパン株式会社代表取締役
嘉門 延親氏

続いて、ミランティス・ジャパンの代表取締役である嘉門延親氏と、CloudNative Days Tokyo 2021 共同実行委員長である青山真也氏による合同セッションとして、「Kubernetesのエコシステムの成り立ちと展望」をテーマに講演いただきました。

セッションの前半に登壇された嘉門氏は、まずミランティス社についての説明から。ミランティス社は2010年に米国で設立され、OpenStackやKubernetesを中心としたクラウドソフトウェアを提供する企業で、2019年にDocker Enterpriseの製品および事業を買収したと語ります。

続いて、Dockerが実現するコンテナ技術とKubernetesについて解説しました。

「コンテナと仮想環境との比較ですが、コンテナはVM(仮想マシン)に似ていますが、アプリ間でOSを共有できる分離特性を持っています。そのため軽量であり、基盤のインフラから分離されているので、クラウドやOSディストリビューションを超えて移動できます。さらに、Kubernetesというオーケストレーションツールを入れることで、管理を軽減・自動化し、アプリ開発に高い柔軟性を提供することができるようになります」

Dockerは2013年に発表されましたが、2016年にはランタイムであるcontainerdが分離されました。
その後、2017年にはMoby projectが発表され、ベンダーがコンテナシステムを構築する際に独立して再利用できるようコンポーネントを分割する、という新たなOSS戦略が示されました。

「今ではKubernetesはDockerなしでも動作可能になりました。一方でこれにより、Dockerコンテナは使えなくなるのか、Dockerは必要ないのかと聞かれれば、答えはNoです」

DockerのイメージはKubernetesで動き、Docker+Kubernetesは今後も(ニーズがある限り)商用環境でサポートされます。実際、開発者にはコンテナ技術を単体でも使うメリットがあり、そのようなユースケースも多く存在しています。

「Dockerから普及が始まったコンテナ技術は、さまざまなベンダーが集まってできたOCI、CNCFで発展。そしてKubernetesをGoogleがCNCFへ移管し、オープンになったDockerやKubernetesがビジネスで活用されたことで、コミュニティが活性化するという良い循環が生まれています」

Kubernetesは、今後のソフトウェア基盤の中心となる技術と言われていますが、超えるべき課題も少なくありません。特に日本では、クラウドの採用が遅い、業界の特性や法律面で内製化が進まない、Kubernetesの技術的な難易度が高いなどの理由から、欧米と比較するとまだ思ったほど採用が進んでいません。 その理由は、

「技術面でいうと、インフラ担当者の視点ではインストールや運用が難しい、アプリ開発者の視点ではアプリケーションを載せて動かすことが難しいという2点が挙げられます」

インフラ担当者の負担を下げるには、パブリッククラウドベンダ各社が提供しているManaged Kubernetesや Cloud Providerを活用するという手段が有効です。一方で、インストールや管理が簡単なKubernetesも弊社含めてリリースされているので、パブリッククラウドのロックインをさけるために、これらのソフトウェアを独自に使うこともできます。またアプリ開発者の負担を下げるという意味では、OSSを起点として開発者の利便性を高めるエコシステムの動きが出ています。

「当社も『Lens』というKubernetesの各種リソースをGUIで可視化し、操作できるツールをOSSで提供しています。さらに、国内でもトレーニングやコミュニティイベントなどの情報が充実してきました。こうした動きに伴い、OSSを起点としてエコシステムが育ち、商用活用されるサイクルが回り始めています。これによりKubernetes導入や運用の負荷が下がってきています」

Kubernetesのエコシステムの成り立ちと展望(前編):セッション資料 
:セッション動画 

CloudNative Days Tokyo 2021
共同実行委員長
青山 真也氏

続いてセッションの後半では、Kubernetesのエコシステムを支える技術をテーマに、「CloudNative Days Tokyo 2021」の共同実行委員長である青山真也氏が登壇されました。

青山氏は普段、サイバーエージェントでKaaS(Kubernetes as a Service)の開発を行っており、プロダクトオーナーという立場にもあります。

「多くの方はKubernetesと聞くと、複数のDockerホストを管理し、その上でコンテナを起動するための基盤というイメージを持たれていると思います。しかし、Kubernetesはただのコンテナ実行基盤ではありません。そこで今回は、Kubernetesがなぜ流行し、コア部分がどのような仕組みで動いているかをお話しします」

Kubernetesは、Google Borgからインスパイアされたアプリケーション実行基盤です。Kubernetesではストレージやネットワークなどさまざまな管理対象を「リソース」として扱い、YAML形式のファイルで定義します。その宣言的に記述されたマニフェストをKubernetesに登録することで、コンテナの起動やロードバランサの作成などが行えるようになっています。

また、Kubernetesの内部ではControllerという小さなプログラムが動いており、「リソース」の状態を常に監視し、あるべき理想の状態(Desired State)になるよう制御しています。これは、Reconciliation loop(調整ループ)と呼ばれ、Observe、Diff、Actの3フェーズから成っています。Observeで現状を把握し、要求された状態と実際のステータスがどうかを見て、Diffで差分を計算。Actでその差分に対して何かしらのアクションを行います。

「Kubernetesの中には複数のControllerがあり、それぞれでReconciliation Loopが働くようになっています。これを利用し、人が考えること(運用ロジック)をプログラムに落とし込んで運用を自動化することができます。つまり、運用をKubernetesに任せることができるのです」

しかも、一定の時間が経過した後に処理を再実行するのではなく、変更を検知して効率的に処理を実行します。全ての情報がKubernetes(etcd)上にデータとして保存されており、データの変更を検知し、処理を実行するための仕組みも用意されています。

「Kubernetesでは非常に多くのControllerが動いており、これらのControllerが非同期に動作することで、一つの分散システムとして成り立っているのです」

青山氏は、Controllerによる運用の自動化の事例も紹介。一般的な運用負荷の軽減はもちろん、エコシステムを通じて、ロジックの難しいステートフルなミドルウェアを運用するためのControllerが作成され、データベースの自動運用も可能になると述べました。さらには、外部システムを制御・運用するための仕組みも用意されていると言います。

「繰り返しになりますが、Kubernetesはただのコンテナの起動基盤ではありません。よって、Kubernetesを実行基盤として選択したときには、上に載せる拡張機能・エコシステムと向き合いつつ、愛着を持って育てていく覚悟も重要です。アプリケーション(サービス)のみならず、それを支えるアプリケーション実行基盤も進化させ続けることで、ビジネスを成功へ導くことが重要になってくるのです」

Kubernetesのエコシステムの成り立ちと展望(後編):セッション資料 
:セッション動画 

GitHubが実現する開発者中心のソフトウェア開発の円滑化

GitHub Japan
Regional Director
山銅 章太氏

最後のセッションでは、『GitHubが実現する開発者中心のソフトウェア開発の円滑化』をテーマに、GitHub Japan Regional Directorの山銅章太氏に講演いただきました。

まず山銅氏は、Githubの概要について説明しました。

「GitHubはオープンソースを開発しているわけではありません。開発者同士を結び付けてコラボレーションを円滑にできるようにするプラットフォームです。そして最近では、エンジニアのための共有サイトから、開発の生産性を高め少ないリソースで早く安全に作成するためのプラットフォームへと変化しています」

GitHubではOSSを重要視しており、拡大するオープンソースコミュニティの継続を維持するという役目を担っています。登録している開発者は7300万人以上、オープンソースコミュニティは1000以上、Fortune 100の企業のうち84%がメインに利用しており、世界最大規模の開発プラットフォームといえます。

具体的なコミュニティ維持に関わる活動としては、大きくContributors、Commits、Commerceの3つがあります。

「Contributors(貢献者)では、2008年のスタートから2021年までの間に7300万人のアカウント登録者を獲得しました。当初の米国中心から世界各国に拡大し、2030年には現在の発展途上国にも広がると見込まれています。才能のある開発者がオープンソースで繁栄し、成功するキャリアを持つことを可能にする必要があるでしょう。また、Commits(ちょっとした貢献)は、ネットワーク効果を加速させるものです。つまり、すべてのコミットは、他の人が学んで、構築できるビルディングブロックになるということです。その意味でオープンソースはopportunity(チャンス)と言えます。Commerce(商業化)については、オープンソースがもたらすeconomicインパクトがあります。2030年までには8520万人の技能者が不足し、その経済損失は8.4兆ドルと言われています。多くの学生がオープンソースの重要性を認識しながら、そこへの貢献に二の足を踏んでいるのです。そこで、より多くの開発者の道を開くためのサポート、スポンサー、メンターを通じて支援していく予定です」

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の側でもエンジニアの方々のへの貢献、企業への貢献を継続して行っていく方針です」

GitHubが実現する開発者中心のソフトウェア開発の円滑化:セッション資料 
:セッション動画 

閉会・ご挨拶

イベントの最後にR&Dセンター センター長の杉坂浩一より閉会のご挨拶をさせていただきました。

「今回のテーマであるOSSのエコシステムは、私たち一人一人が主役にとなることができる仕組みであると感じています。さまざまなOSSを通じてご自身の知見を広げ、深め、さらには社会課題の解決に挑戦するご自身の姿がイメージできましたら、主催者としても大きな喜びです」

32回目の開催となった「OSS X Users Meeting」ですが、オンラインでたくさんの方にご参加いただくことができました。次回も皆さまの参加を心よりお待ちしております。 セッション中に記録された グラフィックレコーディング

セッション中に記録された グラフィックレコーディング