タグ

ブックマーク / techblog.kayac.com (29)

  • SREチームでポストモーテムを1年半運用してみた - KAYAC engineers' blog

    SREチームの藤原です。今回は、SREチームが主導してポストモーテムを書く取り組みを、社内で1年半ほど運用してみたという話です。 ポストモーテムとは? 「ポストモーテム」(postmortem=事後検証)とは、システムにインシデントが発生したことによる影響、緩和や解決のために取られた行動、インシデントの原因、再発防止策などをまとめた文書です。 カヤックのSREチームは、各メンバーがそれぞれのプロダクトに参加し、他のエンジニアとともに開発と運用を行う、いわゆる「Embedded SRE」という形態を取っています。そのため、SREチームのメンバーでも自分が関わっていないプロダクトで発生したインシデントについては詳しく把握できないことがありました。SRE以外で運用に携わっている、プロダクト専任のサーバーサイドエンジニアにはなおさら困難でした。 また、インシデント発生時に実際に手を動かす人がどうし

    SREチームでポストモーテムを1年半運用してみた - KAYAC engineers' blog
  • AWS Lambda Node.js runtime の EoL に疲れたので Go にしていっている話 - KAYAC engineers' blog

    SREチームの藤原です。Tech Kayac Advent Calendar Migration Track 19日目の記事です。いよいよ年も押し詰まってきましたね…! AWS Lambda、使ってますか?最近はサーバーレスという文脈で取り上げられることも多い Lambda ですが、カヤックではそこまでサーバーレスにこだわることはせず、主にイベントドリブンな処理に適切なユースケースに使用しています。 Lambda のリリース当初に用意されていたランタイムは Node.js のみでした。カヤックで最近使うことが多い言語である Go, Ruby のランタイムがサポートされたのが比較的最近だったということもあり、Node.js の Lambda function が比較的多く存在している状況でした。 Node.js EoL (End of Life) ところで、技術基盤チームのリポジトリで「La

    AWS Lambda Node.js runtime の EoL に疲れたので Go にしていっている話 - KAYAC engineers' blog
    toritori0318
    toritori0318 2019/12/19
    ほんとそれ、という言葉しかない…
  • redash + Google Colabによる分析環境 - KAYAC engineers' blog

    ゲームコミュニティ事業部のデータエンジニア(β版)の池田です。 この記事は、Tech KAYAC Advent Calendar 2019 の7日目です。 今回もredash周りの話で、Lobiでの分析事例の話をしていきたいと思います。 (ブログではredashおじさん化していますね。 ) Lobiでの分析環境の概要 ゲームコミュニティ事業部では主要サービスとして Lobi を開発・運営しています。 現在のLobiにおける分析環境は、以下の図のようになっています。 分析環境の図 アプリケーションが行動ログやアクセスログを出力し、それをFluentdやKinesis Data Firehoseを使ってS3バケットへ転送しています。その後@fujiwaraさんのrinを使ってRedshiftにロードしています。この周辺に関しては、ソーシャルゲーム事業部での記事と同様ですので、詳しくはそちらを

    redash + Google Colabによる分析環境 - KAYAC engineers' blog
  • Software Design 2月号のDocker特集に記事を寄稿しました - KAYAC engineers' blog

    あけましておめでとうございます! @acidlemon です。 2017年1月18日発売のSoftware Design 2017年2月号の第一特集「いまはじめるDocker」に記事を寄稿しました。第5章の「導入事例で見えてくるDockerの使いどころ」を私と同僚の矢吹 (@Konboi)で書きました。 ソフトウェアデザイン 2017年 02 月号 [雑誌] 出版社/メーカー: 技術評論社発売日: 2017/01/18メディア: 雑誌この商品を含むブログ (1件) を見る 執筆の話をいただいたきっかけは過去に書いたDockerで開発環境を上げ下げするmirageの記事でした。今回の特集はプログラマー向けのDocker入門ということで、プログラマー向けであれば番環境のデプロイの話よりもまず自分の開発環境からDockerを使い始めて便利さを感じていく内容がよいであろう、ということで開発現場で

    Software Design 2月号のDocker特集に記事を寄稿しました - KAYAC engineers' blog
  • スケーラブル tail -f | grep on AWS - KAYAC engineers' blog

    こんにちは。組長こと @fujiwara (id:sfujiwara) です。 早速ですが皆さん、ログは見ていますか? 当然見ていますよね。tail -f で追いかけるとか大好きですよね。という前提で話を進めましょう。 この記事は Tech KAYAC Advent Calendar 2016 の24日目の記事です。 TL;DR 多種多様なホストから発生するログの末尾を tail -f で追いかけたい fluentd + ローカルファイルで行うのはちょっと面倒 Amazon Kinesis + Lambda を使ってスケーラブルな仕組みを考えてみた kinesis-tailf というツールも作った 既存の仕組みと問題点 techblog.kayac.com 弊社の Lobi とソーシャルゲームでは、この記事で紹介されたような Fluentd を活用したログ集約の仕組みを整備しています。この

    スケーラブル tail -f | grep on AWS - KAYAC engineers' blog
  • ソーシャルゲームのカスタマーサポートを支える行動ログとredash - KAYAC engineers' blog

    この記事はTech KAYAC Advent Calendar 2016の21日目の記事です。 こんにちは、ソーシャルゲーム事業部のぼくらの甲子園!ポケットのサーバサイド開発・運用を担当しておりますマコピーことid:mackee_wです。 ↑のヘッダ画像の人物はワタクシ、という噂があります。みなさま答えはあっていましたでしょうか。 ぼくらの甲子園!ポケットとは 2014年9月にリリースされた共闘スポーツRPGのスマートフォン向けゲーム 現在3年目でございます!!! 甲子園をモチーフにしてプレイヤーとプレイヤーが協力して別のチーム(CPUではない)と対戦して甲子園の頂点を目指す チーム(高校)の部員がプレイヤー9人揃わなければ試合が始まらない縛りとかも特徴です そんな感じで運営しておりますので興味を持たれましたらこちらからダウンロードのほどよろしくお願いしますm( )m。 ちなみにこの記事は

    ソーシャルゲームのカスタマーサポートを支える行動ログとredash - KAYAC engineers' blog
  • AWS Lambdaを使ってベンチサーバー無しで社内ISUCONを運営したはなし - KAYAC engineers' blog

    新人研修担当の長田です。 今年も新人研修の締めとして社内ISUCONを行いました。 昨年はプログラミング基礎の講師をやったのですが、 今年はその実績を買われて(?)社内ISUCONの出題を担当することになりました。 過去のISUCON準備の様子を傍から見ていた身としては、 準備を始める前から「とにかく大変そうだ・・・」というイメージを持っていました。 問題を作りこむ以上、どうしてもISUCON当日ぎりぎりまでかかってしまうのでしょう。 ぎりぎりになるのはまあ準備する人が頑張ればいいとして、 ぎりぎりになった結果競技自体の進行が危ぶまれるのは避けたい! ということで、いくつか効率化という名の妥協策をとることにしました。 効率化できるところは? 毎回新規に出題するのはしんどい! 社内ISUCONは過去2回実施していますが、 どちらも新規に高速化対象のWebアプリケーションを作成していました。

    AWS Lambdaを使ってベンチサーバー無しで社内ISUCONを運営したはなし - KAYAC engineers' blog
  • 社内IRCをSlackに移行した時にやったこと - KAYAC engineers' blog

    藤原です。 カヤック社内では長らく社内のチャットシステムとして、Skype と IRC を併用してきました。Skype には一応全員アカウントを持っているのですが、IRCと比較すると botでの自動化が難しい 過去ログを参照しづらい 自分以外にだれもオンラインになっていないと発言できない (深夜の障害対応などで致命的) という特性のため、エンジニアを中心に好んで IRC を使用していたチームも多く、分断されていた状態でした。 今年は Slack が一気に世間的に広まったこともあり、ここはひとつ全社のチャットシステムを Slack に移行しよう!という気運が盛り上がり、現在自社サービスのすべてと一部のクライアントワークチームが Slack に移行完了しています。 (以前から Skype を使用している部署はまだ移行し切れていないので、全社統一は来年の課題です) このエントリでは、IRC から

    社内IRCをSlackに移行した時にやったこと - KAYAC engineers' blog
  • #24 mirageがDockerの中で走るようになりました、その他開発秘話 - KAYAC engineers' blog

    この記事は tech.kayac.com Advent Calendar 2014 24日目です。 tech.kayac.com アドベントカレンダー、いかがでしたか? こんにちは、@acidlemon です。今日はクリスマスイブ! 今年のtech.kayac.com Advent Calendar はお楽しみいただけたでしょうか? Unityあり、Golangあり、Rubyあり、Javascript/ECMAScriptあり、Perlありとバラエティに富んだ内容でしたね。個人的にはSwiftがなかったのが心残りなのですが…。まぁ来年若者にがんばってもらいます。 また、1日目でご紹介した、ぼくがノリで11月末にIKEAで買ってきたリアルアドベントカレンダーも無事ぼくの手元に帰ってきました。チョコおいしいです。 ※心に余裕がなかったらしく、「書いたら」が「買いたら」になっている… さて、今年

    #24 mirageがDockerの中で走るようになりました、その他開発秘話 - KAYAC engineers' blog
  • #17 うわさのdatabase.ymlをどうしているか カヤックCW編 - KAYAC engineers' blog

    こんばんは。クライアントワーク(受託開発)チームのnobu_ohtaです。 この記事は tech.kayac.com Advent Calendar 2014 17日目です。 この記事では、弊社クライアントワーク(受託開発)チームで production 環境で Railsdatabase.yml と secrets.yml をどう運用しているかを紹介したいと思います。 この話題最近ちょくちょく見かけますが、@mirakuiさんがやっているPodcastの Admins Bar #3: Fluentd, Rails, ActiveRecord でも取り上げられています。 なぜ機密情報をハードコードしないほうがいいか Rails 4.1からsecrets.ymlやdatabase.ymlで機密情報は直書きせずに環境変数から読む設定ファイルが生成されるようになりました。 アプリのリポジト

    #17 うわさのdatabase.ymlをどうしているか カヤックCW編 - KAYAC engineers' blog
  • #10 Consulと連携するpull型デプロイツール stretcher - KAYAC engineers' blog

    tech.kayac.com Advent Calendar 2014 10日目担当の @fujiwara です。 最近書いている stretcher というデプロイツールの紹介をしたいと思います。 長いので3行で push型デプロイはホスト台数が増減しやすい環境に適さない 各種問題を解決するpull型デプロイツールを書いた Consul と連携するよ 中央ホスト配布(push)型デプロイの問題点 カヤックの自社サービスでは久しく Archer というツールを利用し、中央ホストから各デプロイ対象ホストrsync でファイルを配布する形のデプロイを行っていました。ここではこれを push 型と呼びます。 push型のデプロイは、ホスト台数が頻繁に増減する環境で以下のような問題があります。 新しくホストが起動してきた場合に、中央ホストからデプロイを行ったあとでないと (古い状態で起動してい

    #10 Consulと連携するpull型デプロイツール stretcher - KAYAC engineers' blog
  • Dockerで非エンジニアでも開発環境を上げ下げできる、mirageというツールを作りました - KAYAC engineers' blog

    いやー今年もISUCONの予選参加募集がはじまりましたね! 昨年は出題側だったので胃が痛かったですが、今年は参加側ですので大変楽しみにしております。@acidlemonです。 Docker使ってますか? さてみなさん、Docker使ってますか? 使ってる? 使ってない? ぼくは使ってませんでした。えー今どきBlue-Green Deploymentやってないの? Immutable Infrastuctureじゃないの? と言われそうですが、世の中にはいろんなしがらみとかもあってなかなか簡単にエイヤーでコンテナに移行できるわけでもないのは皆さんなんとなく感じているのではないでしょうか。 とはいえ、最近これだけ話題になっているDockerですので、そろそろ使ってみたいなぁ…ということで、まずは開発環境をDockerで上げられるようにしました。 Dockerでコンテナを作るときには2つのアプロ

    Dockerで非エンジニアでも開発環境を上げ下げできる、mirageというツールを作りました - KAYAC engineers' blog
    toritori0318
    toritori0318 2014/08/28
    あとでためす
  • #9 「openresty の紹介」 tech.kayac.com Advent Calendar 2013 - KAYAC engineers' blog

    こんにちは、@tkuchiki です。 このエントリーは tech.kayac.com Advent Calendar 2013、9 日目のエントリーです。 エントリーでは、弊社で主に利用している Web サーバ (Nginx) の bundle OpenResty について簡単に紹介したいと思います。 OpenResty OpenResty (ngx_openresty) は、lua-nginx-module を始めとする多数の 3rd party module を内包した Nginx です。 作者は、lua-nginx-module のメンテナを務める agentzh さんです。 lua-nginx-module Nginx を Lua / LuaJIT で処理するためのモジュールです。 API は 全て Non-Blocking I/O で書かれています。 使用したモジュール 以下

    #9 「openresty の紹介」 tech.kayac.com Advent Calendar 2013 - KAYAC engineers' blog
  • vagrant-configspecを使ってプロビジョニングする - KAYAC engineers' blog

    @nobu_ohtaです。 teck.kayac.com Advent Calender 2013 19日目のエントリです。 今回、advent calendarを口実にvagrant-configspecをリリースしました。 インストールは vagrant plugin install vagrant-configspec です。 コード自体は https://github.com/ankoromochi/vagrant-configspec で公開しています。 動機 configspecを触ってみたかった。 mizzyさんのブログで紹介されているように、immutable infrastructureという文脈で出てきた、冪等性や依存関係をあまり気にしない感じのconfiguration management tool。 同じくmizzyさんが作者のサーバの状態のテストを行うserve

    vagrant-configspecを使ってプロビジョニングする - KAYAC engineers' blog
  • #17 煩悩と苦しみについて - KAYAC engineers' blog

    どうも。退職者です。@kenjiskywalkerです。 teck.kayac.com Advent Calender 2013 17日目のエントリです。 前日は、@handlename先輩のプライベート情報を得るべく@SOMTDさんと必死になって質問していたら 何故か@handlename先輩が@damele0n氏のプライベート情報をペラペラとしゃべりだすという流れ玉を受けた @damele0n氏の#16 Leap Motionでおっぱいを揉む でした。 相変わらず揺らしてますね。最高です。 さて、去年は「「おちこんだりもしたけれど、私はげんきです」というエントリで tech.kayac.com Advent Calendar 2012の1日目を担当したのですが、誰の琴線にも触れませんでした。 そもそも退職者という身分でありかつ、ファッションの最先端、 南青山のサマリーで勤務しているとい

    #17 煩悩と苦しみについて - KAYAC engineers' blog
    toritori0318
    toritori0318 2013/12/19
    学びがある
  • #11 MySQL Master HA を AWS で動作させる場合のフェイルオーバー支援ツール MHA::AWS のご紹介 - KAYAC engineers' blog

    こんにちは、@fujiwara です。 2013年を振り返ると、春の新卒研修での社内ISUCON、秋のISUCON予選と選でずっとISUCONをやっていたような気がしていまして、さてそれ以外になにか……そういえばインフラ回りの仕事もしていましたね。 カヤックのサーバインフラ全体としては、Amazon Web Service(AWS) への移行が進んだ1年でした。いままで自社サーバでやっていたソーシャルゲームや、比較的アクセスが多いとある自社サービス(これは後ほど事例公開されるかも知れません) を、AWS上で構築したり移行したり、という仕事が多かったです。 AWSでサービスを構築する場合、MySQL については RDS を利用する EC2 インスタンス上に MySQL サーバを稼働させる というどちらかの手段を取ることになります。 RDSはフェイルオーバーやバックアップを自動でやってくれま

    #11 MySQL Master HA を AWS で動作させる場合のフェイルオーバー支援ツール MHA::AWS のご紹介 - KAYAC engineers' blog
    toritori0318
    toritori0318 2013/12/12
    すごそう
  • 2013年の新卒研修と社内ISUCONやりました - (2) ISUCON死闘編 - KAYAC engineers' blog

    技術部新卒研修担当の fujiwara です。 前回の記事「2013年の新卒研修と社内ISUCONやりました - (1) 研修編」に引き続き、新卒研修の最後を飾るイベント、社内ISUCONについて詳しく振り返ります。 社内ISUCONとは レギュレーションはこちらです。 各チーム1台ずつ使用できる仮想マシン上で、お題のアプリケーションを動作させる 外部からベンチマークを行って処理できたリクエスト数をスコアとする アプリケーション、OS、ミドルウェアなど、どのようなチューニングを行ってもよい ベンチマークスクリプトはデータの整合性をチェックするロジックが組み込まれており、アプリケーションとして不整合を起こしていることを検出するとFAIL(スコアなし) 10:00〜17:00 までの作業中には適宜ベンチマークを実行できる 作業終了後の最終計測でのスコアが高いものが優勝 (FAILしたら失格。1

    2013年の新卒研修と社内ISUCONやりました - (2) ISUCON死闘編 - KAYAC engineers' blog
    toritori0318
    toritori0318 2013/04/22
    すごい
  • 2013年の新卒研修と社内ISUCONやりました - (1) 研修編 - KAYAC engineers' blog

    4月になり、新人が入ってくる季節になりました。技術部新卒研修担当の fujiwara です。 これまで弊社技術部では特に技術部としての研修というものを行っていなかったのですが、今年は何かやりたいねということで人事部に7日間確保してもらい、主に acidlemon と2人で新卒8人に研修をすることになりました。 研修の資料などは GitHub でプライベートリポジトリを作って作業しており、それをまとめたものを GitHub上で kayac/newbie-training として公開しています。 どのような内容にするかは事前に昨年度の新卒を含めたエンジニア陣で(社内勉強会でビールを飲みながら)話し合い、 現場で実務に追われてしまうと身につきにくい基礎的な内容 コードを書ける人は多いけどLinuxサーバの操作は不慣れな人が多いので、そのあたりを底上げする内容 をメインに構成してみました。また、7

    2013年の新卒研修と社内ISUCONやりました - (1) 研修編 - KAYAC engineers' blog
    toritori0318
    toritori0318 2013/04/22
    素晴らしい
  • #21 「CS対応にマジ便利!! 行動ログ閲覧ツール "伊右衛門" の話」 tech.kayac.com Advent Calendar 2012 - KAYAC engineers' blog

    こんにちは、@hisaichi5518 です。 今年のクリスマスこそは、彼女とイチャイチャしながら有意義に過ごしたかったので、こういうのを作ったりしましたが、女の子から告白される気配がありません。クソが。 CS対応 と 行動ログ閲覧ツール「伊右衛門」 CSとは、カスタマーサポートの事で、 CS対応は、ユーザーさんのお問い合わせの調査の事をここでは指します。 例えば、ソーシャルゲームを運営していると「アイテムを使ってないのになくなっている!」なんてお問い合わせはよくあると思います。 そういう時にアイテムを使ったログが残っていなかったり、検索しにくかったら大変な事になります。 なのでカヤックは、fluentdとMongoDBを使ってユーザーさんの行動ログを保存しています。 その行動ログをブラウザで見えるようにしたのが、伊右衛門です。 → https://github.com/hisaichi5

    #21 「CS対応にマジ便利!! 行動ログ閲覧ツール "伊右衛門" の話」 tech.kayac.com Advent Calendar 2012 - KAYAC engineers' blog
    toritori0318
    toritori0318 2012/12/24
    ちょろっと動かしてみた。よさげ
  • #10 2012年に作ったものを振り返りつつProcletマジ便利 - KAYAC engineers' blog

    2012年も残すところあと20日ほどとなりましたが皆様いかがお過ごしでしょうか。@fujiwara です。 このエントリは tech.kayac.com Advent Calendar 2012 10日目の記事です。 テーマが「私の中のマイイノベーション 2012」ということで、まずこの1年に作ったものを自分の blog エントリから振り返ってみますと… Perl から Fluentd にログ出力 - Fluent::Logger リリース 今年一番話題になったミドルウェアといえば fluentd でしょうか。その fluentd に Perl からログを出力するためのモジュールです Parallel::Benchmark というモジュールを書きました 並列にプロセスを起動して負荷を掛けるベンチマークを簡単に作るためのフレームワークです。弊社の主にソーシャルゲーム案件で、リリース前の負荷テ

    #10 2012年に作ったものを振り返りつつProcletマジ便利 - KAYAC engineers' blog