DevRelという仕事
――IBMのデベロッパーアドボケイトとして、現在どのような活動をされていますか。
IBMのデベロッパー・アドボカシー事業部のミッションは、「開発者が現実社会の問題を『賢く』『素早く』『一緒に』解決できるようにする」というものです。これは私たちの事業部がグローバル共通に定めたもので、このミッションに基づき私もエンジニアが必要としている情報を提供しています。具体的には、オフラインではセミナーを始め、お客様を訪問しての開発者との対話、ハッカソンのサポート、コミュニティの支援。オンラインではウェビナーの開催、ブログやソーシャルメディアを通してのコンテンツ配信があります。特にTwitterを通じたコミュニケーションと、オープンソースコミュニティへの貢献の二つには力を入れています。
KubernetesあってのOpenShift
――IBMがRed Hatの買収を完了したのが2019年の7月。この手続き完了で、IBMとRed Hatはどのようにビジネス連携することになったのでしょうか。IBM社員としてどんな変化を実感していますか。
Red HatとIBMは独立性を保った形で存在していて、同じオフィスで働いているわけではありません。とは言え、IBM Cloud上でRed Hatのテクノロジーを使うことにとどまらず、IBM Cloud Paksのような新しいサービスも登場していますし、IBMのお客様にとっては選択肢が増えていると言えるでしょう。
IBM Cloudで何ができるかを学んでもらう場として、私たちはIBM Developer Dojoも週に一度開催していますが、今年の秋はOpenShiftへのニーズの高まりから週2回の頻度になりました。集客もIBMのオフィシャルサイトからではなく、開発者のカルチャーに合わせてconnpassを使っていますし、DojoではIBM社員枠も設定していて、社外の人やお客様と共に学ぶ場にもなっています。
――IBMからOpenShiftに関する情報発信の機会が増えているわけですね。ここで改めてOpenShiftがどんなプロダクトなのかと、Kubernetesとの違いについて確認させてもらえますか。
とてもよく聞かれる質問ですが、二つを比べるのは適切ではないと思います。Kubernetesはオープンソースで展開されているコンテナテクノロジー。一方のOpenShiftはKubernetesの運用管理を容易にするためにRed Hatが提供しているテクノロジーです。OpenShift はKubernetesありきの存在ですから、並列に比較することはできません。
どちらを選ぶべきかという意味では、二つの違いを理解する必要があると思います。まず、KubernetesはOSS(Open Source Software)ですから無料で使うことができますが、アプリケーションの数が増えるに従い、死活管理やメンテナンスが複雑になるという問題があります。また、Kubernetesのセキュリティについては脆弱性の問題も指摘されていますし、3か月に一度のバージョンアップごとに、コンテナの上のアプリケーションの動作検証が必須です。対照的にOpenShiftでは、使用料金あるいはライセンス料金を支払う必要があるものの、Kubernetesの場合に運用担当者が担うべき負担の軽減をRed Hat側がサポートしてくれるという利点があります。
さらに、Kubernetesでアプリケーションをデプロイする時は、YAMLという言語で設定ファイルを記述しなくてはなりません。これらのYAMLの記述やYAMLファイルの管理は大きな負担となり「YAMLの壁」と呼ばれています。対照的に、OpenShiftのWebコンソールはとても良くできていて、YAMLでの詳細な記述は必要ありませんし、コマンド慣れしていない方にも使いやすく、かつデプロイの自動化を促進する統合ツールが最初から用意されているという特徴があります。