v18.04」が都内にて開催された。v18.04」が都内にて開催された。サイバーエージェント、ヤフージャパン、メルカリ、マイクロソフト、グーグル、NEC、NTTなどのエンジニアが講師として登壇し、500名を超える参加者に向けてプレゼンテーションを行った。FoundationのCTOもこのカンファレンスのために参加し、CNCFが推進するソフトウェアやそれに向かう道筋などについて解説を行った。サイバーエージェントの広告事業における事例カンファレンス冒頭のキーノートセッションに登壇したのは、サイバーエージェントのインフラエンジニア、青山真也氏だ。青山氏はサイバーエージェントのインターネット広告事業部におけるワークロードを、性能要件が非常に高く、高速な処理を要求されると語る。サイバーエージェントのエンジニアが「いつも何か新しいものに挑戦したがる」性格であることも明かした。Engine)の開発に繋がったという経緯を説明した。Swarm、Kubernetes、Mesosなどのオーケストレーションツールが覇権を競い合っている状態であったと、青山氏は振り返った。2017年の7月にはKubernetesからCinderを永続的ストレージとして利用することが可能になり、OpenStackベースのプライベートクラウドを構築しているサイバーエージェントにとっては良いタイミングであったと思われる。ここで注目したいのは、最初のAKEは2名のエンジニアによって開発されたという事実だろう。サイバーエージェントにおけるAKEの始まりインフラストラクチャーであるOpenStackの他のコンポーネントとのインテグレーションも進み、現在ではすでに本番環境として15クラスターが稼働中であるという。Hatに買収されたCoreOSが推進するTectonicなどのツールを使わずにHeatで構築したという部分の背景については、2017年12月に開催されたセミナーで青山氏が解説しているので参考にされたい。onによる拡張性が紹介された。ログの収集にはElasticsearchとKibanaが、モニタリングにはDatadogとPrometheusが、そしてKubernetesの操作をより簡単にするHelmなどが活用されていると語った。コンテナのランタイムに関しても様々な組み合わせがあり、Dockerによるランタイム、CNCFがホストするcri-o、cri-oよりも少し上の位置付けとしてCNCFがインキュベーションするContainerdやrktなどをサポートするという。コンテナランタイムに関しては、同じくサイバーエージェントからスピーカーとして参加されたインフラエンジニアである長谷川誠氏によるセッションを、別記事として紹介したい。次に登壇したのは、メルカリの山口拓真氏だ。山口氏は「私はコンテナのエンジニアではなくて機械学習のエンジニアなので」と自己紹介し、会場に集まったエンジニアが主にコンテナに興味があることを意識しながらも、機械学習のプラットフォームとしてコンテナとKubernetesが、メルカリの画像認識において本番運用されていることを紹介した。Network)について、この技術がすでに1980年代に考案されていたことを紹介した。基礎的なアイデアは以前から存在しており、GPUなどの実用的な演算リソースができたことで一気に実用に向かったことを紹介した。CNNについてはこの記事を参考にされたい。畳み込みニューラルネットワークの仕組みまたメルカリにおける機械学習について、自身が担当した画像認識における要件を紹介。これはGPUを活用した画像認識で、ユーザーが出品を行う際の品物について、撮影された画像から自動的に品物の概要や色に関する情報を付加する機能の要件となるものだ。山口氏は社内のエンジニアから「とりあえずDockerfileを用意してください」とだけ言われたと語り、結果的にGCP、AWSの2つのパブリッククラウドを活用したマイクロサービスが構築された経緯を紹介した。構築された画像認識のためのシステムはGCPとAWSをまたがるように構築され、TensorFlow、Redis、Django、Spinnaker、Datadogなどで構成された高度なマイクロサービスとも言えるもので、それを可能にしたのは東京、ロンドン、サンフランシスコに分散された開発拠点が全社的なシステムの刷新時にマイクロサービスを使う方向にシフトしたことが大きいと説明した。Dockerの使い方についても山口氏自身は「最初は全く素人でした」と説明したが、そこからKubernetesやSpinnakerを組み合わせたシステムの構築を実現したわけで、あらためてメルカリのエンジニアの底力を見せつけた形となった。山口氏は「機械学習エンジニアだけでもマイクロサービスによるシステム構築は可能である」としたうえで、特に実行環境やライブラリ、パッケージが特殊なものを要求しがちなシステムあることから、コンテナによる実装が適していると解説する。このユースケースに接したことで、ビッグデータは別系統のシステムが必要と思われがちな場合においても、マイクロサービスによるシステム構築が可能であると実証できたことはエンジニアにとっても大いに意義のあることであったように思われる。Lab)の須田一輝氏の講演は、「Yahoo!ズバトク」というヤフージャパンが展開するサービスにおけるKubernetesの利用と、その土台となったKubernetes-as-a-Serviceに関する内容だ。OpenStack上に構築された独自パッケージマネージャーとPHPによるアプリケーション開発から、KubernetesとDocker、そしてCIツールであるConcourse、開発言語としてJavaを使った新しいシステムに移行したことによって自動化が進み、巨大なヤフージャパンのデータセンターにおいて、ミスの軽減と効率化が進められたという。ズバトクを支えるプラットフォーム特に障害発生時の対応は、セルフヒーリングの機能を活用することで作業効率が向上したことを紹介した。障害発生の対応が変化ここでは作業を自動化することがインフラストラクチャーにおいては重要であり、そのための基盤としてKubernetesは十分に利用可能であることを力説した形になった。APIを拡張しているのは、先進的なユースケースとして注目すべきところだろう。CRDとカスタムコントローラーを使ったシステムの概要サイバーエージェント、メルカリ、そしてヤフージャパン各社の事例は、コンテナとKubernetesのユースケースとしては先進的なものであるが、機械学習とインフラの自動化に向けた分散システム基盤としての応用は、非常に参考になるものであった。PoCとしての利用から、クラウドネイティブなシステムによるビジネスへの直接的なインパクトに視点が移っていることを感じさせるキーノートセッションであった。この著者の記事一覧フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。ITがお届けするポッドキャストです。