タグ

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

  • EKSからECSに移行して開発運用コストの削減を図る - KAYAC engineers' blog

    SREチームの長田です。 今回はカヤックで運用している「まちのコイン」というプロダクトのアプリケーション基盤を Amazon EKS(以下EKS)からAmazon ECS(以下ECS)に移行したはなしをします。 まちのコインとは coin.machino.co www.kayac.com まちのコインはカヤックが運営している、デジタル地域通貨を使ってその地域のコミュニティを活性化させるサービスです。 2019年11月から実証実験を開始し、翌年2月から正式リリースされました。 2022年9月現在、20の地域に導入されています。 一般ユーザーが使用するクライアントアプリと、導入地域の運営団体が使用するブラウザ用の管理画面、 それらにAPIを提供するRailsサーバーアプリがあります。 データベースはAmazon Aurora PostgreSQL、 その他AWSのマネージドサービスを組み合わせ

    EKSからECSに移行して開発運用コストの削減を図る - KAYAC engineers' blog
  • SREチームでポストモーテムを1年半運用してみた - KAYAC engineers' blog

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

    SREチームでポストモーテムを1年半運用してみた - KAYAC engineers' blog
  • 2021年サーバーサイドのエンジニアが使ってよかったもの10選 - KAYAC engineers' blog

    こんにちは! Tech KAYAC Advent Calendar 2021 7日目を担当する荒賀(@ken39arg) です。 カヤックのエンジニアブログには2008年にPHPを使ったガラケー関連の記事を書いたのが最初になります。 それから10年以上たち、ガラケーも弊社でのPHPプロジェクトもほぼなくなり、メンバーもかなり入れ替わり、私自身も20代だったのがついに40歳になりました。そんな私にとってこのアドベントカレンダーは私は今でもここにいるよというPingのような役割になっているため、年に一度若者に混じってアドベントカレンダーに参加しております。 例年ですと、趣味のマラソンなどに関する実績も書いているのですが、昨年同様、今年も続くコロナ禍により多くの大会が中止となったためこちらに関しては特に特記すべき実績はありません。ただ2020年に走るはずだった東京マラソンは権利は移行を続けてお

    2021年サーバーサイドのエンジニアが使ってよかったもの10選 - KAYAC engineers' blog
  • GitHub Actionsに「強い」AWSの権限を渡したい ~作戦3 - AssumeRole with Google ID Token ~ - KAYAC engineers' blog

    こんにちは。技術部の池田です。 この記事では、Github Actions上に「強い」AWSの権限を渡すために以下のことを行います。 App Runnerでお手軽にGoogle ID Token 取得するためのWeb Applicationを動かす。 Web Applicationから取得できるGoogle ID Tokenを信頼するIAM RoleにAssumeRoleする。 AssumeRoleによって得られた一時的な強い権限で、強い権限を要求する作業(Deploy, Terraform Apply)をGithub Actionsで行う。 これにより、Github Actions上にAWSのアクセスキーを置かずに、ある程度安全な方法でAWS上での強い権限を要求する操作を実行できます。 そのため、例えばGithub Repositoryに不正アクセスされてしまったとしても、AWS番環

    GitHub Actionsに「強い」AWSの権限を渡したい ~作戦3 - AssumeRole with Google ID Token ~ - KAYAC engineers' blog
  • WebGLコンテンツの開発フローと抑えどころ - KAYAC engineers' blog

    こんにちは!WebGLおじさんことふかぽんです。 WebGLの案件に関わらせていただくことが多く、「サマーウォーズTV連動特設サイト」や「シン・アリマ」などの案件でもWebGL周りを担当させていただいています。 www.kayac.com www.kayac.com 過去のアドベントカレンダーではこんなことを書きました。かれこれ4年連続の出場です。 2015 ... WebGLも怖くない!canvasライブラリを効率良く学ぶオススメの順番 2016 ... 【脱・gulp】npm-scriptsでシンプルなフロントエンド開発環境を作る 2017 ... 【WebGL】シェーダーを使って3D空間でスプライトアニメーションさせる 前置き WebGLコンテンツの開発をさせていただくことが多かったり、社内でWebGLの勉強会を開いたりもしているのですが、ある日ふと、とある技術やテクニックにフォーカ

    WebGLコンテンツの開発フローと抑えどころ - KAYAC engineers' blog
  • カレーライスを綺麗に食べる方法 - KAYAC engineers' blog

    はじめに この記事はTech KAYAC Advent Calendar 2019の19日目の記事です。 こんにちは。 技術部の中山といいます。 普段は、ぼくポケチームで、 開発・運用をする上で必要な作業の自動化をしたり、効率化できる部分を改善するという仕事をしています。 要するに仕事の無駄をなくすということをしているのですが、そういう仕事をする中で、 大学3年生のときに学で「カレーを綺麗にべる方法」というのを 研究していたことを思い出したので紹介しようと思います。 仕事の効率化もカレーを綺麗にべるのも「無駄をなくす」という点では同じです。 べ物で遊んでいるように感じる方もいらっしゃるかもしれませんが、 ここで述べる方法は「美味しく綺麗にべる」というのを大事にしています。 決して遊んでいるわけではありません。 実際の写真 まずこの画像をご覧ください。 これは、弊社が手がけるまちの

    カレーライスを綺麗に食べる方法 - KAYAC engineers' blog
  • Unityで80年代風を表現してみる - KAYAC engineers' blog

    80年代風作例。ユニティちゃんモデル及びシェーダーを使っています。© UTJ/UCL こんにちは! CL事業部の原です。 この記事は Tech KAYAC Advent Calendar 2019 の13日目です。 今回はUnityで80年代風を表現するということにチャレンジしてみました。 80年代風と言っても、レトロゲームを再現するという意味ではありません。 80年代風イラストの雰囲気を表現したいと思います。 80年代リバイバルブームとは ここ数年、80年代リバイバルな表現がファッションやデザイン、映画などでブームになっていたことはこれを読んでいるみなさんにも思い当たるところがあると思います。しかし、この現象を包括的にまとめたような記事文献は見つけることができませんでした。なので、個人的体験から80年代リバイバルブームを追ってみます。 80年代リバイバル表現との出会い:tofubeats

    Unityで80年代風を表現してみる - KAYAC engineers' blog
  • 人間の行動を操るために覚えておきたい科学 - KAYAC engineers' blog

    この記事はTech KAYAC Advent Calendar 2019の4日目の記事です。 こんにちは。技術部平山です。 この記事では、人の行動を操る、つまり、人の行動を予測したり、望みの行動を取らせるために役立つ科学について 軽く紹介いたします。プログラミングの話はございませんが、 プログラマに読みやすい味付けにはしておきました。 なお、「人を操る」とか言っていますが、実際それで思うように操れるのであれば、 私はもっと裕福だったでしょうし、高い地位を得ていたことでしょう。 理屈と実践は異なるということです。 ただ、これを知って気が楽になる方もいらっしゃるかもしれませんし、 もしかしたら、実際に何かを改善させられるかもしれません。 基的には与太話ですので、お暇な方のみお付き合いください。 予測に使える理論は、制御にも使えるかもしれない 何かしらの理論によって現象が予測できるのであれば、

    人間の行動を操るために覚えておきたい科学 - KAYAC engineers' blog
  • イケイケデザイナーになりたいので、XDを使ってVJをした - KAYAC engineers' blog

    こんにちは。KAYACクライアントワーク事業部デザイナーのちゃんちーです。(最近3Dになりました) 普段はtwitterslackっぽくするchrome拡張やインターネットの音だけで作ったビートなどを作っています。 いきなりですが、新卒一年目の僕、イケイケのデザイナーになりたいです。 「CDO」、「CXO」、「イケメンデザイナー」、「有名アートディレクター」などなど、イケイケデザイナーの像ってたくさんありますよね。 そんな僕にもなりたいイケてるデザイナー像があります...... それがこちら...... 『平日デザインして、週末にVJしてるデザイナー』になりて〜〜!!! そうなのです。平日は普通に業務をしながらも、週末はVJをして色んな人にちやほやされる。そんな思いを一度は経験したいのです。 しかし、VJなんて一度もやったことないし、VJとはなんなのか、どうやってVJしてんのかも正直わか

    イケイケデザイナーになりたいので、XDを使ってVJをした - KAYAC engineers' blog
  • Dockerで開発環境構築を10倍楽にしたはなし - KAYAC engineers' blog

    Lobi事業部 サービス基盤チームの長田です。 最近プロジェクト内で使用する開発環境にDockerを利用するようになったので、その紹介をします。 Dockerにしたってどういうこと? 公開済みのWebサービスに変更を加えて動作確認をする場合、番環境でそれを行うわけにはいきません。 ほとんどの場合はローカルマシンでWebサービスの全体または一部のコピーを動かして動作確認を行うことでしょう。 その後ステージング環境などの他の開発メンバーも触ることができる環境で動作確認やQAを行い、 問題がなければ晴れて番環境に反映、という流れが一般的かと思います。 この「ローカルマシンでWebサービスのコピーを動かす」部分にDockerを利用している、ということです。 Dockerにしてどうなった? Before 開発環境構築に1〜2日かかっていた After 開発環境構築がランチに行っている間に終わるよ

    Dockerで開発環境構築を10倍楽にしたはなし - 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
  • 突撃!隣のキーボード - KAYAC engineers' blog

    Lobiチームの長田です。 このエントリはTech KAYAC Advent Calendar 2016の8日目です。 昨日は「【DockerMySQLのフェイルオーバーをdocker-composeで構築」でした。 techblog.kayac.com 今回はゆる~く眺められる内容となっております。 皆さんキーボード使ってますよね。 他の人がどんなキーボードを使っているのか気になりますよね。 今回は何人かの社員にキーボードについてアンケートしてみました。 使っているキーボードは? そのキーボードを選んだ理由は? そのキーボードを選んでよかったことは? そのキーボードを選んで失敗したことは? ひとことコメント アンケートの回答を、実際にキーボードを使っている環境の写真と合わせてまとめてみました。 では見ていきましょう! osawa-junの場合 使っているキーボードは? Happy Ha

    突撃!隣のキーボード - KAYAC engineers' blog
  • 分散環境でユニークなidを発番するGo製プロダクト「katsubushi」のご紹介 - KAYAC engineers' blog

    Lobiチームの長田です。 今回はkatsubushiというアプリケーションを紹介します。 https://github.com/kayac/go-katsubushi katsubushiはid発番を行うアプリケーションです。 水平分割されたデータベースに対してユニークなidを発番するために作られました。 なお、記事中の「データベース」はMySQLを指します。 katsubushiの特徴 Snowflakeと同様のアルゴリズムでid発番 SnowflakeはTwitter社がかつて公開していたid発番アプリケーションです。 https://github.com/twitter/snowflake/tree/master 既にメンテナンスされておらず、masterブランチにはその旨が書かれたREADMEしか残されていません。 タグが切られているので、ソースコード等はそちらで確認できます。

    分散環境でユニークなidを発番するGo製プロダクト「katsubushi」のご紹介 - KAYAC engineers' blog
  • LobiにおけるConsul活用事例 - KAYAC engineers' blog

    Lobiチームの長田です。 今回はConsulのLobiにおける活用事例を紹介します。 Consulとは https://www.consul.io/ HashiCorp社が公開している、複数ホストを管理するために必要な機能が盛り込まれたツールです。 公式サイトには以下のように書かれています(意訳): Service Discovery サービスの登録とDNSまたはHTTPインターフェイスを用いたサービスの特定。 SaaSのような外部サービスも登録することができる。 Health Checking オペレーターがクラスタ内で問題があったことを素早く知ることができる。 Service DiscoveryはHealth Checkingと連動し、 問題のあるホストがサービス特定の対象になることはない。 Key/Value Storage 動的な設定・フラグなどをを保持するための柔軟なkey/v

    LobiにおけるConsul活用事例 - KAYAC engineers' blog
  • ファイル更新もchef実行もstretcherで!Lobiをデプロイするときにやっていること - KAYAC engineers' blog

    Lobiチームの長田です。 今回は現在運用中のLobiというサービスのデプロイについて紹介します。 Lobi Chat & Game Community Lobiについての紹介は以前のエントリを参照ください。 サーバーサイドエンジニア視点でLobiというサービスを紹介します | tech.kayac.com - KAYAC engineers' blog TL;DR デプロイ=各種ファイル更新とサービスへの反映、chefの実行 毎日十数回のデプロイを行っている デプロイ対象は数十台単位 十余名のサーバーサイドエンジニア全員にデプロイ権限がある Auto Scalingを考慮したデプロイ手段を採用している ファイル更新もchef実行もstretcherでOK まだまだ改善の余地あり おおまかな手順 番環境にデプロイするぞ!という段になると、こんな操作が行われます。 GitHub上でコードレ

    ファイル更新もchef実行もstretcherで!Lobiをデプロイするときにやっていること - 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
  • #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
  • #11 AlfredのWorkflowをgoで書くと捗る話 - KAYAC engineers' blog

    tech.kayac.com Advent Calendar 2014 11日目です。 今年の夏にカヤックはGo言語を積極的に推進していきます 宣言が出た影響で今年のAdvent Calenderはgoの話題多めとなっております。 去年辺りから周囲がにわかにgoづいてきた時に「仕事で使うようになったら勉強する(キリッ」 って言ってたらほんとに仕事で使うようになって現在勉強中の @handlenameがお送りします。 多分にもれずgo関連のはなしです。 Alfred便利 AlfredというMac用のアプリケーションがあります。 検索して候補を絞り込んで対応するアクションを実行する、というのが主な機能で、 Webで検索したり他のアプリを起動したりが素早く行えます。 基的な機能は無料で使えるのですが、 有料のPowerpackを購入すると Workflowという拡張機能が追加ができるようになり

    #11 AlfredのWorkflowをgoで書くと捗る話 - KAYAC engineers' blog
  • #4 デプロイツール・モックAPIの人柱募集のお知らせ - KAYAC engineers' blog

    ご無沙汰しております。@takihito (大先輩) です。 今月で40歳になろうという、今年のアドベントカレンダーでは最年長でしょうか。 今年つくったアプリケーションを紹介しつつ、人柱になってくれる勇気ある若者を募集しようという試みを持った4日目のエントリーになります 突然goがきたので... 突然のgo宣言が社内MLに流れたのですが、 目的なく言語を学習するタイプではないので 並列処理 クロスコンパイル がデプロイツールつくるのに良さそうだなぁと思い Archer::Plugin::Rsyncgoで再現してみることにしました Archer::Plugin::Rsyncとは何か 簡単に説明しておくとYAMLで記述した設定ファイルを元に複数サーバにソースコード等をばらまくデプロイツールです。古いモジュールですが弊社では、今も現役で使われています。 機能的にには十分なのですが、Perl

    #4 デプロイツール・モックAPIの人柱募集のお知らせ - 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