2021/02/12 OSAKA NDS Embedded Linux Cross Online Forum #12「今、OSSで起こっていること、OSSで実現できること」

2021/02/12
ワイズプランニング

吉田 行男©Y’s Planning 2021. All rights reserved.

自己紹介◆ 【経歴】– 入社当時は、金融端末のソフトウェア開発に従事。
– 2000年頃から、Linux/OSSのビジネス開発を担当。
– 2012年から、オープンソース専門組織に所属。
– 2019年、定年退職により独立。

◆ 【現在の業務】– OSSを活用したビジネス構築のための支援•新しい技術/OSSの発掘・評価検証•ビジネス・ソリューションの立ち上げ支援– OSSコンプライアンス管理•ガイドライン作成、社内プロセス構築支援(*)2018/11 : 北東アジアOSS推進フォーラムにて「OSS貢献賞受賞」– 各種講演、執筆©Y’s Planning 2021. All rights reserved.

1

https://www.atmarkit.co.jp/ait/articles/2008/17/news012.html

https://www.atmarkit.co.jp/ait/articles/2009/15/news003.html©Y’s Planning 2021. All rights reserved.

2

今、OSSで起こっていること©Y’s Planning 2021. All rights reserved.

3

「オープンソースソフトウェア」解釈をめぐって◆ 「オープンソースソフトウェア」を俺流解釈する人が増えている？

「ソースコードをOSSライセンスで公開するだけではOSSと呼べない」「GitHubでプルリクを募るなど開発体制もオープンであるものがオープンソースだ」「GitHubに公開されていればライセンスが無くてもOSS」「OSSだからどう使っても自由」

OSSを正しく理解し、正しく活用したい©Y’s Planning 2021. All rights reserved.

4

新型コロナ感染症関連◆ 「コード・フォー・ジャパン」が、東京都新型コロナウイルス感染症対策サイトを開発➢ 2020年3月：東京都から委託され、患者数、検査実施件数などのデータを一覧にまとめた「新型コロナウイルス感染症対策サイト」を公開。
➢ 開発したソースコードをGitHubでオープンソースとして公開➢ 全国に展開。派生サイト：現在６２サイト◆ 新型コロナウイルス接触確認アプリ「COCOA」をリリース➢ オープンソースプロジェクト「Covid19Radar」をベースに開発された➢ 「Covid19Radar」がMPLであるため、「COCOA」のソースコードもGitHubにて公開©Y’s Planning 2021. All rights reserved.

5

新型コロナ感染症関連（海外)◆ Linux Foundationの取り組み➢ COVID19に対応しメンターシップ プログラムを拡充✓ COVID-19のために休業しているインターンを支援し、世界で需要や報酬が高い仕事に就くために新しい技術を習得する機会を提供✓ オープンソース プロジェクトを強化し、有能で多様な開発者の人材プールを構築しながら、開発者がオープンソース コミュニティを体験・学習し、コミュニティへの貢献ができるようになる➢ 新型コロナAPI採用アプリ拡大支援イニシアティブ「LFPH(Linux Foundation Public Health)」立ち上げ✓ プレミアメンバーとしてCisco、doc.ai、Geometer、IBM、NearForm、Tencent、Vmwareの7社が参加。
✓ 米Appleと米Googleが4月に発表した曝露通知API「Google Apple Exposure Notification（GAEN）」を採用する2つのオープンソースソフトウェア、カナダの接触通知アプリ「COVID Shield」とアイルランドの「COVIDGreen」をホスト✓ GAENを採用したアプリ：オーストリア（「Stopp Corona」）、デンマーク（Smittestop）、ドイツ（Corona-WarnApp）、ジブラルタル（Beat COVID）、アイルランド（COVID Tracker）、イタリア（Immuni）、日本（COCOA）、ラトビア（Apturi Covid）、サウジアラビア（Tabaud）、スイス（SwissCovid）など©Y’s Planning 2021. All rights reserved.

6

「CentOS Project」が開発方針を変更◆ 「CentOS Project」が開発方針を変更「RHEL(*1)」互換からフォーカスを「CentOS Stream (*2) 」に移し、「CentOS Linux 8」は2021年に終了

・CentOSのオリジナル共同開発者が「RockyLinux」を開始、CentOS Linuxの後継目指す・米CloudLinux、CentOSの代替目指す「ProjectLenix」を発表→「AlmaLinux」ベータ版リリース

レッドハットがCentOSでの批判を受け、開発・小規模本番ワークロード向けの無償RHELを用意

CenｔOSユーザはどうすれば？
サイバートラスト、CentOS 8を2029年まで延長サポートするサービスなどを提供
デージーネット、CentOS 8のアップデートパッケージ提供サービスを受付開始(*1)RHEL:Red Hat Enterprise Linux(*2)CentOS Streamは2019年に公開されたディストリビューション。RHELの開発ブランチのスナップショット©Y’s Planning 2021. All rights reserved.

7

OSSライセンス関連①◆ Redis、MongoDB、 Kafkaがライセンスを変更(2018年8月)
変更前

変更後

Redis

AGPL

Commons Clause条項付きのApache 2.0ライセンス

MongoDBAGPL

SSPL(Server Side Public License)

Kafka

Apache 2.0「Confluent Community License」

CockroachDB

Apache 2.03年間の期限付き「Business Source License 1.1」

◆ ライセンス変更の詳細➢ Commons Clauseは既存のオープンソースソフトウェアライセンスに条件を加えることで、開発者の権利の保護を図るもの。土台のオープンソースライセンスの条件はそのままに、商用での販売に制限を設定➢ SSPLはAGPLをベースとするが、機能を追加したり修正を行ったMongoDBをサービスとして提供する場
合にもソースコードの公開を求める条項を追加。→実質的に商用サービス化を制限することに！
➢ Confluent Community License：SaaSプロバイダによるコンポーネントの使用制限➢ Business Source License 1.1：商用サービスでの利用を制限(MariaDBも採用)©Y’s Planning 2021. All rights reserved.

8

OSSライセンス関連②◆ ライセンス変更の主旨➢ クラウド事業者(AWSなど)へのフリーライド対策✓ AWSが新DBサービス「Amazon DocumentDB」発表。(2019/01/10)
MongoDB互換のマネージドデータベース、MongoDB3.6互換のAPIを提供。
(最新のMongoDBは、バージョン４)✓ AWS、オープンソースベンダのライセンス変更による商用サービスの制限は「顧客を見ていない」と反論(2019/12/16)

AWS vs OSS?
◆ Googleが、オープンソース企業7社と戦略的連携(2019/04/10)➢ Confluent(Kafka)、DataStax(Cassandra)、Elastic(elasticsearch)、InfluxData(InfluxDB)、
MongoDB(MongDB)、Neo4j、Redis Labs(Redis)。
➢ Google Cloudのコンソールからオープンソースソフトウェアベンダのサービスを導入・管理可能に！
➢ OSS開発元企業への利益還元を重視したパートナーシップ©Y’s Planning 2021. All rights reserved.

9

OSSライセンス関連③◆ Elastic vs AWS➢ AWS、OSSだけで構成される「Open Distro for Elasticsearch」公開(2019/3/19)✓ Elasticsearchはオランダに本社を置くElastic社が中心となり、OSSとして開発されている検索エンジン。
✓ Elasticsearchの追加機能である「X-Pack」のコードを公開することを2018/02に発表• X-Packのオープンソース化ではなく、商用ライセンスのままでコードをGitHubに公開しオープンに• オープンソース部分もプロプライエタリ部分も顧客やコミュニティーとともにオープンに開発していく。

AWSの逆襲➢ AWSをElasticが名指しで非難。ElasticsearchとKibanaのライセンスを、AWSが勝手にマネージドサービスで提供できないように変更へ（2021/01/15)✓ Apache License 2.0から、「 SSPL」と「Elastic License」のデュアルライセンスへ変更➢ AWS、商用サービス化を制限するライセンス変更に対抗し「Elasticsearch」をフォーク、独自のオープンソース版へ（2021/01/22)©Y’s Planning 2021. All rights reserved.

10

OpenChain のISO化承認①◆ OpenChain Projectとは？
➢ 目的：✓ OSSが信頼性と一貫性のあるコンプライアンス情報とともに提供される、ソフトウェアサプライチェーンの実現➢ 沿革：✓ 2013年：ARM, Qualcomm, Samsung, SanDisk, Wind Riverにより設立。
✓ 2016年：「OpenChain1.0」の仕様をリリース。
✓ 2017年12月:ソニー、トヨタ、日立の３社が中心となって「OpenChain Japan WG」を設立• 国内70社/170名以上(2019年12月時点)が参加し、国別WGのモデルケースに7つのSub WGが活動中「日本語で議論し、英語でアウトプット」• 日本の他にも、ドイツ、インド、韓国、台湾、英国にWGあり。

✓ 2018年：事実上の初の正式バージョンとなる「OpenChain1.2」仕様リリース。
✓ OpenChain Automotive WG• 2019年7月にトヨタの呼びかけで設立したグローバルな業種別WG• 日米欧韓の12の自動車会社を含む100名以上がメンバー登録✓ 2020年12月： 「OpenChain2.1」がISO/IEC 5230:2020に登録。
✓ 2020年12月：トヨタ自動車が、 「OpenChain2.1」の認証取得©Y’s Planning 2021. All rights reserved.

11

OpenChain のISO化承認②◆ OpenChain のポイント➢ OSSポリシーの作成及び周知✓ OSSに対する方針✓ ユースケースでの手続きの規定✓ コントリビューションに対する考え方及び手続きの制定
etc➢ 上記ポリシーを推進するための組織作りと責任者の設定➢ プロセスの定義✓ ソースコードや帰属告知、著作権表示等の必要なすべての情報・ドキュメントが、ソフトウェアと共に頒布されるためのプロセスについて定義する✓ BOM(Bill of Materials)の作成する
etc➢ 適合認証は、「自己認証」と「第三者認証」あり。ちなみに有効期間は18ヵ月。
©Y’s Planning 2021. All rights reserved.

12

OpenChain のISO化承認③

https://thinkit.co.jp/article/18061©Y’s Planning 2021. All rights reserved.

13

OSSで実現できること©Y’s Planning 2021. All rights reserved.

14

『これから』のオープンソース
OSSの利活用度・企業競争力[2000年]-Unix → Linux-アンチ Windows OS-RedHat 市場拡大牽引-サーバH/W市場拡大

OSS利活用の意義
デジタルトランスフォーメー
ションのドライバ[2010年]- 仮想化技術- 非構造化データ増大- クラウドサービスの利用拡大

今後のOSS推進
コスト削減
ベンダロックインからの解放[2015年]-クラウド前提のシステム連携・開発-ビジネス部門とITの直結-BigDataやIoT、AIなど新分野でのOSS適用

旧来のOSS推進

適用領域・成熟度
主領域

OS領域

ミドル領域

アプリ・サービス領域

主導

情報システム部門

事業部門

企業体

目的

改善活動

IT化速度向上

市場創成、革新、企業競争力向上

企業間

コスト競争

協業・連携

エコシステム化

基盤

物理・仮想

単一クラウドマルチクラウド、IoT、M2M©Y’s Planning 2021. All rights reserved.

デジタルトランスフォーメーション(DX)とは？
◆ デジタルトランスフォーメーションとは？
➢ 企業がビジネス環境の激しい変化に対応し、データとデジタル技術を活用して、顧客や社会のニーズを基に、製品やサービス、ビジネスモデルを変革するとともに、業務そのものや、組織、プロセス、企業文化・風土を変革し、競争上の優位性を確立すること(*)◆ DXを進める基盤としてITシステムに求められる主要な要素① データをリアルタイム等使いたい形で使えるか② 変化に迅速に対応できるデリバリースピードを実現できるか③ データを、部門を超えて全社最適で活用できるかOSS(クラウドネイティブ技術)の活用(*)https://www.meti.go.jp/press/2019/07/20190731003/20190731003-1.pdf©Y’s Planning 2021. All rights reserved.

16

クラウドネイティブ技術①◆ クラウドネイティブ技術とは？
➢ 2015年に創設されたLinux Foundation傘下のCloud Native Computing Foundation（CNCF）が推進➢ 「クラウドネイティブ技術は、パブリッククラウド、プライベートクラウド、ハイブリッドクラウドなどの近代的でダイナミックな環境において、スケーラブルなアプリケーションを構築および実行するための能力を組織にもたらす。」➢ このアプローチの代表例✓ コンテナ✓ サービスメッシュ✓ マイクロサービス✓ イミューダブルインフラストラクチャ✓ 宣言型API©Y’s Planning 2021. All rights reserved.

17◆ CNCFの主なプロジェクト➢ containerd ... dockerから派生したコンテナランタイム➢ CoreDNS … golang実装なDNS➢ Envoy … L7プロキシ➢ etcd … 分散KVS。
➢ Fluentd … ロギングのためのデータコレクタ➢ Harbor … コンテナイメージレジストリ。ロールベースのアクセス制御を行う。
➢ Helm … kubernetes設定を吐き出してくれるパッケージ管理ツール➢ Jaeger … 分散トレーシングシステム➢ Kubernetes … コンテナオーケストレーションシステム➢ OpenPolicy Ageny … 軽量かつ汎用的なポリシーエンジン➢ Prometheus … サービスモニタリングシステム➢ Rook … クラウドネイティブなストレージオーケストレータ。
➢ TiKV … Rust実装の分散Key-Valueストア。ACID準拠のトランザクショナルなAPIも備える。
➢ TUF … The Update Framework。ソフトウェアアップデートをセキュアにするためのフレームワーク。
➢ Vitess … MySQLをスケールアウトさせるためのクラスタシステム©Y’s Planning 2021. All rights reserved.

18

クラウドネイティブ技術②◆ システムアーキテクチャの変化
仮想化以前

仮想化
AP

AP

AP

AP

AP

AP

コンテナ化
AP

Bin/Library

Bin/Library

APAP

AP

Operating System

Operating System

Bin/Library

Bin/Library

Bin/Library

Virtual Machine

Virtual Machine

Container

Container

Container

Hypervisor

Container Runtime

Operating System

Operating System

Operating System

HardwareHardwareHardware©Y’s Planning 2021. All rights reserved.

19

クラウドネイティブ技術③◆ コンテナ化のメリット➢ アジャイルアプリケーションの作成とデプロイ➢ 継続的な開発、インテグレーションとデプロイ➢ 開発者と運用者の関心を分離➢ 開発、テスト、本番環境を越えた環境の一貫性➢ クラウドとOSディストリビューションの可搬性➢ アプリケーション中心の管理➢ 疎結合、分散化、拡張性、柔軟性のあるマイクロサービス➢ リソースの分割➢ リソースの効率的な利用

コンテナは便利だけれど
管理が必要

管理ツール(Kubernetes)の登場©Y’s Planning 2021. All rights reserved.

20

クラウドネイティブ技術④◆ Kubernetesとは？
➢ Googleの社内で利用されていたコンテナクラスタマネージャの「Borg」をアイデアの元にして作られたOSS。
➢ 2014年6月にローンチされ、2015年7月にバージョン1.0となったタイミングでCNCFに移管。
➢ CNCFには著名な開発者、エンドユーザ、大手クラウドプロバイダなどのベンダーが参加しており、現在はCNCFが主体となり中立的な立場で開発が進められている。
➢ 2018年3月にCNCFがkubernetesを「卒業プロジェクト」に認定。
➢ クラウドサービスや商用ディストリビューションが提供済✓ Amazon Elastic Kubernetes Service✓ Azure Kubernetes Service (AKS)✓ Google Kubernetes Engine✓ Red Hat OpenShift Container Platform✓ Cisco Container Platform (CCP)✓ 「vSphere with Tanzu」 等

クラウドサービス

商用ディストリビューション

©Y’s Planning 2021. All rights reserved.

21

クラウドネイティブ技術⑤◆ Kubernetesで実現できること➢ 複数のコンテナを連携させ組み合わせ利用する機能➢ 負荷に応じてコンテナ数を増減するスケールアウト機能➢ 無停止でアプリケーションを更新するロールアウト＆ロールバック機能➢ ストレージ装置の論理ボリュームをコンテナにマウントする永続ストレージ機能➢ 障害等によって失ったコンテナを自己修復する機能➢ クラスタを論理的に分割して、共存環境同士が影響しない様に、リソース使用量の上限を制御する機能➢ クラスタを構成するノード間を横断的にアクセスできるクラスタ・ネットワーク機能➢ 稼働状態を見守るCPU使用時間、メモリ使用量、通信量などメトリックスとログの集中管理機能

Kubernetesが次世代の「OS」に！
©Y’s Planning 2021. All rights reserved.

22

Kubernetes活用事例①◆ デンソーがKubernetesを自動車に載せる「Misaki」発表、OSSで公開予定➢ アプリケーション実行環境としての自動車をクラウドを中心としたネットワーク化された分散アプリケーション環境のエッジと位置づけ、その基盤をKuberenetesで実現➢ 自動車向けアプリケーションがコンテナで開発、実行可能に➢ またMisakiが提供するサービスメッシュ機能により、アプリケーションは自動車の不安定なネットワーク環境を意識せずに開発できる➢ アプリケーションの自動車へのデプロイやアップデート、削除なども集中管理可能©Y’s Planning 2021. All rights reserved.

23

Kubernetes活用事例②◆ Misakiのアーキテクチャ① ユーザーインターフェイスでデプロイしたいアプリケーションのHelm Chartを選択するとGoで作られたAPIが呼び出される。
② Manifestファイルが生成され、それがEclipse dittoで作られたデジタルツインに展開。

マスターノード

ワーカーノード③④nodemaster②①

Kubernetesクラスタ③ マスターノード上にはMisakiのエージェントが稼働しており、デジタルツインのステートが変化すると、それを反映してManifestファイルを取得④ Manifestファイルに従って、自動車の上で稼働している
Kuberntesのワーカーノードがアプリケーションをデプロイ©Y’s Planning 2021. All rights reserved.

24

Kubernetes活用事例③◆ リソースの柔軟で効率的な管理① 高性能なECUを搭載した自動車では、エッジでの実行が可能② コンピューティングリソースの乏しい自動車でのアプリケーション実行時には、自動車のECUでは実行出来そうにないワーカーノードをクラウド上で実行することで、全体としてアプリケーションの実行を可能に①②©Y’s Planning 2021. All rights reserved.

25

Kubernetes活用事例④◆ サービスメッシュ➢ ネットワークが不通の時には自動的に通信内容をキューイングし、接続が可能になれば自動的に転送を行うように©Y’s Planning 2021. All rights reserved.

26

まとめ

©Y’s Planning 2021. All rights reserved.

27

まとめ

◆オープンソースの活用領域が広がり、重要性も増加◆オープンソースを活用には、まだまだ問題も(特にライセンス）◆エッジからクラウドまで、オープンソースの活用で新しい世界が！

ご清聴ありがとうございました©Y’s Planning 2021. All rights reserved.

28

END
「今、OSSで起こっていること、OSSで実現できること」

2021/02/12
ワイズプランニング

吉田 行男©Y’s Planning 2021. All rights reserved.