タグ

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

  • 7年続いたサービスをEC2構成からECS構成へ乗り換えた話 - KAYAC engineers' blog

    この記事は Tech KAYAC Advent Calendar 2021 の20日目の記事です。 こんにちは、バックエンドエンジニアの @commojun です。今年のTech KAYAC Advent Calendarは3度めの参戦です!よろしくお願いいたします! 日の記事は、昨年の記事の続きで、Amazon EC2のプロダクトをAmazon ECS構成へと乗り換えた話になります! techblog.kayac.com 目次 目次 背景 Amazon Linuxのサポート終了 ついでにPerlのバージョンもあげた 苦労したポイント 1,デプロイ方法がめっちゃ変わる デプロイのために都度コンテナイメージを焼く 2階建て作戦 2,batchサーバどうするの問題 sqsjfr + SQS + sqsjkr 作戦 3,泥臭い戦い ecspressoの存在 非エンジニアにもわかってもらおう 「

    7年続いたサービスをEC2構成からECS構成へ乗り換えた話 - KAYAC engineers' blog
    ikosin
    ikosin 2021/12/20
  • DynamoDB から Redshift へデータ移送する話 (RedshiftのSUPER型の利用事例) - KAYAC engineers' blog

    こんにちは。技術部のSRE所属の池田です。 この記事では、昨年の2020年12月にPreviewが発表されたRedshiftの汎用データ型 SUPER の利用事例として、DynamoDBからRedshiftへデータ移送する話をします。 汎用データ型SUPERは、2020/12/9に 『Amazon Redshift が、ネイティブ JSON と半構造化データ処理のサポートを発表 (プレビュー) 』という記事が公開され、2021年04月時点でもPreview状態です。 このSUPER型は、ログやDynamoDBストリームに見られるJSONおよび半構造化データと非常に相性がよく、使い始めてみると【素晴らしい!】と言う感想を得るので、皆様も是非使ってみてください。 背景 2021年4月現在では、Tonamel という大会プラットフォームサービスのデータ基盤 構築業務・整備を行っております。 To

    DynamoDB から Redshift へデータ移送する話 (RedshiftのSUPER型の利用事例) - 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
    ikosin
    ikosin 2019/12/19
  • 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
  • 人間の行動を操るために覚えておきたい科学 - KAYAC engineers' blog

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

    人間の行動を操るために覚えておきたい科学 - 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
  • 2017年度 新卒技術部研修 〜社内ISUCON参加編〜 - KAYAC engineers' blog

    はじめまして、技術部新卒の池田です。 毎年、カヤックの技術部の新卒研修では、研修の最後に『社内ISUCON』を行います。 このエントリーでは、今年の研修最後の社内ISUCONについて新卒参加者サイドから振り返ります。 社内ISUCONのお題とチームについて ISUCONのルールとしては与えられたサーバーで稼働しているWebApplicationを『いい感じにスピードアップする』という競技で、競技時間は10:00 ~ 17:00の間の7時間です。 お題 今年の社内ISUCONのお題は、ボケてlikeな JokerというWebApplicationです。 ボケて(bokete)  クローン RubyのSinatraで作成 DBにはMySQLを使用 KVSにはRedisを使用 ログイン・ログアウトがある 画像のUpload機能がある 等、WebApplicationの基のたくさん詰まったお題で

    2017年度 新卒技術部研修 〜社内ISUCON参加編〜 - KAYAC engineers' blog
  • 2017年度 新卒技術部研修 〜講義編〜 - KAYAC engineers' blog

    はじめに 新卒技術部研修にするにあたって昨年の研修を振り返り フロントエンジニア、フロントエンジニア(Unity)、サーバーエンジニア、と様々な職能の新卒メンバー全員が受ける研修でGo言語を使うのは配属後に使わない人がいるのでもったいない 各講義毎にそれぞれ異なったお題を出すと、講義で学んだことがどのように関係してくるのか関係性を把握するのが大変そうだった という反省がでました。 そこで今年は カヤックではサーバー構築にChefを使用しているため、配属先がRuby以外の言語で開発していてもRubyを使う機会があり無駄にはならないということからRubyを使用する 与えられたお題のWebApplicationを段階を踏んで作っていく体系的に学べるカリキュラムにする ということになりました。 実際の研修ですが、以下の流れで研修をすすめていきました。 アプリを作る上で必要なgit,Rubyの基礎的

    2017年度 新卒技術部研修 〜講義編〜 - 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
  • チャットメッセージの即時反映を支える技術 - KAYAC engineers' blog

    Lobiチームの長田です。 今回はLobiの根幹であるチャットサービスの、Streaming APIについて紹介します。 多くのチャットサービスがそうであるように、 Lobiでも新しいチャットメッセージが画面リロードの必要なく表示されるようになっています。 チャットメッセージをデータストリームとしてクライアントに送信するためのAPIがStreaming APIです。 LobiのチャットサービスはiOS・Android・Webブラウザで利用することができ、 これら全てでStreaming APIを使ったチャット画面の自動更新を実現しています。 即時反映の実装方法としては Polling Long Polling Web Socket など複数の方法が挙げられますが、LobiではHTTPリクエストのLong Pollingをベースにした 独自のフォーマットを使用しています。 仕組み app -

    チャットメッセージの即時反映を支える技術 - KAYAC engineers' blog
  • AWS Lambdaを使ってベンチサーバー無しで社内ISUCONを運営したはなし - KAYAC engineers' blog

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

    AWS Lambdaを使ってベンチサーバー無しで社内ISUCONを運営したはなし - KAYAC engineers' blog
  • 今年の新人研修はgoでした - KAYAC engineers' blog

    新人研修のgo担当だったhandlenameです。 昨夏、Go言語を積極的に推進していきます。という宣言を出しましたが、 この一環として新人研修で扱う言語としてgoが選ばれました。 研修では何をやったのか Webサービスの開発・運用に関わる要素を対象としました。 goの研修に使える時間は合わせて10時間程度と限られていたこともあり、 かなり内容を絞っています。 開発環境の準備 研修に入る前に、受講者それぞれに開発環境の準備をしてもらいました。 brew install go 環境変数の設定 エディタの設定(保存時にgofmt自動実行) 幸いここで躓いた受講者はいなかったようです。 Tour of Go プログラミングは全くの未経験、という受講者はいなかったので、 いきなりTour of Gogoのコードを書いてもらいました。 基文法/制御構文/データ構造/並列処理 の4つのセクションに

    今年の新人研修はgoでした - 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
  • #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
  • Golang 製の Android 向けテストアプリ配信ツール「alphawing」を公開しました - KAYAC engineers' blog

    昨年の Advent Calender ぶりの登場です。@m0t0k1ch1 です。 表題の件につきまして、実は 7/31 に公開された こちらの記事 の実績一覧の一番上に載せていただいてもいたのですが、改めてこちらで報告させていただきたいと思います。 alphawing とは https://github.com/kayac/alphawing TestFlight が 2014/3/21 をもって Android のサポートを終了 してしまったので、それを代替するためのツールとして開発したのが、この alphawing です。簡単に表現すると、「Android 用の TestFlight」です。表題の通り、サーバーサイドは Golang で記述されています。 アプリケーションの詳しい起動方法などについては README をご参照ください。 アプリケーションの概要 アプリケーションにひも

    Golang 製の Android 向けテストアプリ配信ツール「alphawing」を公開しました - KAYAC engineers' blog
  • #16 Leap Motionでおっぱいを揉む - KAYAC engineers' blog

    どうも。退職者です。@damele0nです。 teck.kayac.com Advent Calender 2013 15日目のエントリです。 前日は、まったく恨んではいないのですが僕のプライベートな情報を社内でリークした @handlename 先輩の #15 SublimeTextでも使い捨てファイルを開きたい でした。まったく恨んではいないのですが。 さて、去年は「JavaScriptでおっぱいを動かす」というエントリでtech.kayac.com Advent Calendar 2012の2日目から世間様に苦言を呈されたという事態を踏まえつつ そもそも退職者という身分でありかつ、渋谷のディストピアこと闇リエで勤務しているということをわきまえながら Leap Motionでおっぱいを揉みたいと思います。 Leap Motionって? もはや説明不要でしょうか。 [公式サイト] 今年(

    #16 Leap Motionでおっぱいを揉む - KAYAC engineers' blog
    ikosin
    ikosin 2013/12/17
  • #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
    ikosin
    ikosin 2013/12/11
    “深淵な理由で EC2 上に MySQL を構築する場合”
  • ISUCON3出題の裏側 - KAYAC engineers' blog

    acidlemonです。今日はもうなんだかいろんなところに記事を書かなきゃならなくててんてこまいとなっております。 さて、最初に告知です。 毎週カヤック技術部では金曜日の夜に技術部勉強会を行っています。今週末はISUCON3の優勝チームのtagomorisさんとkazeburoさんをゲストにお迎えして、出題担当のfujiwaraとともに今回のISUCONを振り返ってもらい、せっかくだから外部の人をバンバンよんで酒のみながらLTとかもしてもらっちゃおう! みたいな感じになっています。 追記(2011/11/11 20:15): kazeburoさんのスケジュールも確認取れましたので追記しました ということで、ISUCON3反省会というイベントを立てましたので参加希望の方はこちらから参加表明をおねがいします。費用はカヤック持ちで参加無料となっておりますので好きなだけビール飲んでいってください!

    ISUCON3出題の裏側 - KAYAC engineers' blog