2024.12.10
“放置系”なのにサイバー攻撃を監視・検知、「統合ログ管理ツール」とは 最先端のログ管理体制を実現する方法
リンクをコピー
記事をブックマーク
藤門千明氏(以下、藤門):先ほどからのつなぎになりますが、90以上のリリースができた3つめもう1つの理由。技術への投資があります。
先ほどもいくつか伝えましたが、この90以上のサービスでこのコロナ関連特集や混雑情報の可視化、旅行、飲食、イベントの支援といったさまざまなサービス開発を独自で我々はやってきましたが、これを担当したエンジニアに対して「なんでみんなこんなに早くサービスをローンチできたの? リリースできたの?」と、ヒアリングをしています。
結果、すべての開発者に共通して出てきたワードが実は3つありました。CI/CDの導入。CIはContinuous Integration、テストの自動化やアプリケーションのビルドの自動化。加えてCDです。Continuous Delivery、これはリリースの自動化が進んでいたからというのが1つ。
2つ目がYahoo! JAPANの開発環境。先ほど東日本大震災の時は物理サーバーの確保に奔走していたと伝えましたが、クラウドネイティブな環境を自ら構築して、開発したいときにすぐサーバー環境に入らせるようにしていたのが2つ目。
そして3番目は、2番目と関連しますが、クラウドネイティブな環境で動作させていれば、その中で動くサービスプラットフォームを組み合わせることで、よりリッチなサービス体験を提供できるようになっていたから。この3つがあったからこそ、サービスが早くリリースできたとみんな口を揃えて言っていました。
じゃあこれはいつ頃から着手していたのかですが、実はかなり前からです。早いものだと2014年ぐらいから実は着手をしていて、今この環境がすべて整っています。今日はまず、どういう技術投資をしてきたか、3つのポイントを伝えられればと思っています。まず、CI/CDの導入です。
私が2015年にCTOに就任してから、ヤフーで初めて、すべてのエンジニア、デザイナーを集めて「これからのYahoo! JAPANはどういう技術開発、サービス開発をしていくんだ」という集会、オールハンズをしました。この時に、Yahoo! JAPANは今度CIを導入してテストを自動化しようと。しかも、それを半年以内にやり遂げて、テストが自動化できる会社に変えようとしたがこの2015年12月の話です。
なぜテストを自動化するのか。これは、よいサービスをユーザーに早く届けるためにテストをしているんだと。全従業員に朝礼など、いろいろな場所で繰り返し伝えています。これがどうして今のコロナ禍において機能しているかというと、よいサービス、よい機能がユーザーに待たれているから作りたい。
ただ、今動かしているサービスに、どうしても手を加えて変更しなければいけない。もし変更して間違ったらユーザーに適切な情報を届けられないかもしれない。ただテストを自動化していれば「大丈夫、僕は大丈夫。なぜならテストを自動化しているから。ソースコードを修正してもし間違っていても、必ずテストでそれが発見できる。だからよいサービスを作るために、ワイルドにソースコードに手を入れて機能開発できるようになる」ということです。
実際に半年でCI/CDの仕組みを立ち上げて、Yahoo! JAPAN開発サイクルもどんどん早まってきています。加えて、このCI/CDのプロセスがYahoo! JAPANにとって非常に大事なものになってきていて、Yahoo! JAPANの開発環境や、サービス規模により最適なCI/CDのツールを作ったほうが、更に私たちの開発サイクルを早められると思いました。
CI/CDのツールも、今は自分たちで作っています。具体的にはアメリカのYahoo!とベライゾンメディアとヤフーがの共同で作った、ScrewdriverというオープンソースでCI/CDツールを公開していますが、自らこのCI/CDのツールを作って、Yahoo! JAPAN上でテストやリリースの自動化を今しております。
今現在どうなっているのかがこのグラフです。これは始まってから今までの話ではなく、実は2019年と比べてどうだったか、1年間の差分だけでもこれだけ違うことを今日は伝えられればと思っています。例えばCIに関して言うと、1年で1日のビルド回数は1万回以上増えていて、トータルでいっても1.5倍のビルドの回数。アプリの変更の回数は、CIの導入によってどんどん増えてきています。
加えてCD、Continuous Deliveryです。青いグラフがリリースの数ですが、1年を通じて倍増しています。加えて、黄色の折れ線グラフ。
これはサービスを開発しようと思って手を加えてから、実際に世に出るまでの時間を表しています。このChange Lead Timeがどんどん下がっている。ほぼ半減するところまで来ています。ユーザーのみなさんにとって価値のある課題解決を、ものすごい早さでできるようになったのが、このCI/CDの導入によるものだと私は思っています。
そして2つ目。クラウドネイティブな開発環境を自ら作っていったこと。これが早くリリースできた2つ目の技術投資のポイントです。現在自社で開発しているヤフーのクラウドネイティブな環境は3つあります。上から、Platform as a Service、PaaSというもの。そして真ん中が、コンテナ技術を使ったContainer as a Service。
そして最後、2017年4月にいわゆるサーバーレスという、サーバーを使わない技術ですが、Function as a Service。この3つをYahoo! JAPANの新しいクラウドネイティブな環境として構築し、今多くのサービスがこの環境下で動いています。どうしてこのPaaS、CaaS、FaaSを使うとサービスの開発スピードが速くなるのか。
これはPaaSの例ですが、Yahoo! JAPANには、大きく分けてアプリケーションを作るエンジニアとインフラを作るエンジニアがいます。サービスを作るエンジニアがユーザーのタッチポイント。ブラウザやアプリなど、ユーザーとコミュニケーションするアプリケーションを書くエンジニアが、このサービスクリエイターという職種です。サービスクリエイターのみなさんには、やってほしいことがある。
それは何かというと、ユーザーの課題解決だけにフォーカスしてほしい。一方で、例えば物理サーバーを買ってしまうと、サーバーのOSの設定やストレージの設定、ネットワークの設定を全部やらないといけません。ただ、私たちがサービスクリエイターにやってほしいところはそこじゃない。PaaSの右側の青い部分だけを一生懸命やってもらうと、本質的な開発業務に集中できると。
サービス開発、機能開発に集中してもらって、90以上のサービス開発につなげられます。Yahoo! JAPANで開発しているContainer as a Service、みなさんが大好きなLinuxコンテナを使った開発環境の利用状況ですが、社内サービス開発当時はグラフの一番左側です。
たった5クラスタから始めましたが、Yahoo! JAPANのサービスがこのクラスタの環境を利用することで、今現在では130倍に成長しています。多くのヤフーサービスがこのコンテナ上で今動くようになり、結果として素早い開発ができるようになったのが、Yahoo! JAPANの2番目、クラウドネイティブな開発環境の話になります。
最後、3つ目のポイント。クラウドネイティブな環境で動作するプラットフォームに対する技術投資をして、サービス開発のスピードが速くなった話です。Yahoo! JAPANの開発環境の上で、クラウドネイティブな環境で動作するサービスのプラットフォーム。ここに全部は書いていませんが、例えばこういうものがあります。
例えば「Yahoo! 〇〇」というサービスを立ち上げようとしたとき、何か機能を加えようとしたとき。キュリティのフレームワークを入れたいと思ったら、一番の左にあるセキュリティのフレームワークをプラットフォームとして導入し、サイト内で検索エンジンを作りたいと。
そういう場合は、右の上の検索エンジンのプラットフォームを使えば簡単に作れます。AIを使って、ユーザーに何かおすすめの記事を出したり、おすすめの商品をレコメンデーションしたい場合は、左下のAIのプラットフォームを使えばすぐ簡単に作れるようにYahoo! JAPAN上ではなっています。
例えば、マイクロソフトのAzureや、AmazonのAWSを想像してもらえればわかるかと思いますが、その社内版がYahoo! JAPANには構築されていて、多くの従業員がこれを使ってYahoo! JAPANのサービスを作れるようになっています。
まとめると、Yahoo! JAPANはこのクラウドネイティブな環境で動作するアプリケーションを実は作っているから、この真ん中の雲で書いてあるサービスのプラットフォームを使うことで、よりリッチなユーザー体験を作れる。開発の効率もどんどん上がるので、サービス開発のスピードがどんどん速くなっていく、というのがYahoo! JAPANの特徴になっているのです。
(次回につづく)
関連タグ:
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
2024.12.09
国内の有名ホテルでは、マグロ丼がなんと1杯「24,000円」 「良いものをより安く」を追いすぎた日本にとって値上げが重要な理由
2024.11.29
「明日までにお願いできますか?」ちょっとカチンとくる一言 頭がいい人に見える上品な言い方に変えるコツ
2024.12.09
10点満点中7点の部下に言うべきこと 部下を育成できない上司の特徴トップ5
2024.12.04
いつも遅刻や自慢話…自分勝手な人にイラっとした時の切り返し 不平等な関係を打開する「相手の期待」を裏切る技
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.12.03
職場の同僚にイライラ…ストレスを最小限に抑える方法 臨床心理士が語る、「いい人でいなきゃ」と自分を追い込むタイプへの処方箋
2024.12.06
嫌いな相手の行動が気になって仕方ない… 臨床心理士が教える、人間関係のストレスを軽くする知恵
2024.12.05
「今日こそやろう」と決めたのに…自己嫌悪でイライラする日々を変えるには
PR | 2024.12.04
攻撃者はVPNを狙っている ゼロトラストならランサムウェア攻撃を防げる理由と仕組み