タグ

ブックマーク / techlife.cookpad.com (6)

  • MySQLを1〜2時間でスケールアウトする - クックパッド開発者ブログ

    最近、Elastic BeanstalkやECSと戦っているSREチームの菅原です。 P5をやりたいのにPS3もPS4も持っていないので指をくわえて羨ましがっている毎日です。 この記事では、突然のアクセス増に備えるために、MySQLのスレーブを1〜2時間でスケールアウトできるようにした話を書きます。 MySQL on EC2 クックパッドは周知の通りAWSを利用していますが、主要なデーターベースについてはAmazon RDSではなくMySQL on EC2を使っています。 これは以下のような理由によるものです。 歴史的な経緯: AWS移行当時、RDSが無かった。また、移行後もしばらくはTritonnを使っていたため、RDSを使うことができなかった オンラインメンテナンスの実現: VPCルートテーブルを使った仮想IPとMHA for MySQLを使ってダウンタイムゼロのマスタDBの切り替えを

    MySQLを1〜2時間でスケールアウトする - クックパッド開発者ブログ
    nurai
    nurai 2016/10/06
    そうなんだよなー。
  • 複数のクラウドサービス間でオブジェクトストレージの中身を同期する - クックパッド開発者ブログ

    複数のクラウドサービス間でオブジェクトストレージの中身を同期する こんにちは。インフラストラクチャー部の加藤(@EugeneK)です。 クックパッドのすべてのレシピやつくれぽ等の画像はAmazon Web Services(以下AWS)のSimple Storage Service(以下S3)にオブジェクトとして保存されています。 S3は99.999999999%の堅牢性と99.99%の可用性を謳っていますが、ユーザさんから預かった大切なデータを守るため、万一に備えて別のクラウドストレージにもバックアップを行っています。 今回はそのオブジェクトを準リアルタイムでGoogle Cloud Storage(以下GCS)に同期されるようにした話をします。 S3にオブジェクトが追加されたことを知る S3にはEvent Notificationという機能があります。 この機能を用いると、S3のバケッ

    複数のクラウドサービス間でオブジェクトストレージの中身を同期する - クックパッド開発者ブログ
    nurai
    nurai 2015/10/07
    ちょうどsqsにてを出し始めたとこ。
  • Docker を利用した Web アプリケーションのデプロイ - クックパッド開発者ブログ

    技術部の鈴木 (id:eagletmt) です。 クックパッドでは一部の Web アプリケーションサーバで Docker が使われており、今回はそのデプロイ方法について紹介します。 Docker で Web アプリケーションをデプロイするときには、まだまだベストプラクティスがある状況ではありません。 たとえば、どのように無停止でデプロイするか、どのようにコンテナと通信するかといった問題があります。 最初に Apache Mesos と Marathon などのツールを検証しましたが、クックパッドの環境において使いやすそうなものはなく、最終的に自前でデプロイのしくみを作ることにしました。 しかし Docker 周辺のツールは様々な新しいものが出てきている最中です。 今はまだベストなものが無いけれども、近いうちによりよいものが出てくるかもしれません。 そのため、できるだけ単純なしくみにしておく

    Docker を利用した Web アプリケーションのデプロイ - クックパッド開発者ブログ
  • クックパッドモバイルアプリの開発体制とリリースフロー - クックパッド開発者ブログ

    こんにちは、技術部モバイル基盤グループの @slightair です。 今回は、クックパッドのモバイルアプリをどのような流れで開発しているか説明したいと思います。 この記事では技術的な話ではなく、どのようにして、どのようなことを考えて僕らがモバイルアプリを開発しているかに触れたいと思います。 開発体制 クックパッドにはモバイルアプリを専門で開発するようなチームはありません。 必要に応じて、誰でもモバイルアプリ開発に取り組みます。 機能追加・修正を行ったらリポジトリにプルリクエストを送ります。 プルリクエストが来たら、アプリ開発を行うエンジニア同士でレビューします。 様々な修正をひとつのバージョンにまとめるのは、僕が所属する技術部と後述するリリースマネージャーで行います。 リリースマネージャー バージョンごとに、そのリリースの責任をもつリリースマネージャーをひとり選びます。 リリースマネージ

    クックパッドモバイルアプリの開発体制とリリースフロー - クックパッド開発者ブログ
  • RESTful Web API 開発をささえる Garage (client 編) - クックパッド開発者ブログ

    料理動画事業室の @yoshiori です。前に「RESTful Web API 開発をささえる Garage」で紹介した RESTful Web API を開発する Garage のクライアント側のライブラリを公開しました。この記事ではその使い方を紹介したいと思います。Garage の設計思想やサーバ側の実装については上記記事を御覧ください。 今回は簡単にクライアント側の挙動を知っていただくために pry を使って説明したいと思います。 アクセスするサーバは先程の記事で作成したアプリケーションを使用してみます。 サーバの準備 https://github.com/taiki45/garage-example の README にも書いてありますので簡単に進めたいと思います。 まずは下準備としてコードを github から clone してきて、ライブラリのインストールと DB のマイグレ

    RESTful Web API 開発をささえる Garage (client 編) - クックパッド開発者ブログ
  • RESTful Web API 開発をささえる Garage - クックパッド開発者ブログ

    技術部の小野(@taiki45)です。この記事では簡単なアプリケーション(ブログシステム)の実装を通して、クックパッドで作成・使用しているライブラリのGarage の紹介と Garage を使った RESTful Web API の開発をご紹介したいと思います。 Garage は RESTful Web API を開発するための、 Rails gemified plugins です。Rails プログラマは Garage を使って Rails を拡張することで素早く Web API を開発することができます。Garage は新しくアプリケーションを開発する場合にも、既存の Rails アプリケーションに組み込んで Web API を実装する場合でも使用できます。Garage はリソースのシリアライズやアクセスコントロールなど Web API の実装に必要な機能をカバーしています。 Ruby

    RESTful Web API 開発をささえる Garage - クックパッド開発者ブログ
  • 1