タグ

ブックマーク / ameblo.jp/principia-ca (9)

  • 『運用型広告【A.J.A.】の紹介と高速化の工夫』

    技術部メディア広告開発室のこまはらです。 A.J.A.という運用型広告システムの開発・運用を担当しています。 A.J.A.では、現在、アメーバブログ、Spotlight、by.Sといった自社メディアに、インフィード広告を中心とした広告を配信しており、配信先を順次拡大しています。 様々な種類の広告を配信していますが、すべてひっくるめると1日に10億impression前後の配信規模になっています。 今回は、A.J.A.の概要編ということで、前半で基的なシステムの構成についてご紹介し、後半に高速なレスポンスを実現するための工夫について書かせていただきます。 基構成A.J.A.の広告システムは、 ユーザの広告リクエストを受け、広告を返す配信サーバ数ある広告の候補から最適なものを選択するレコメンデーションAPIサーバ配信設定や実績のレポーティングを行うための運用管理画面配信実績のリアルタイム

    『運用型広告【A.J.A.】の紹介と高速化の工夫』
    okinaka
    okinaka 2016/04/05
  • 『画像システムの車窓から』

    2年半くらい画像システムを担当していたのですが、3月イッパイで異動することになりましたokzkです。 異動記念ということで、とりとめもなくエンジニアブログを書いてみます。長いです。よろしくお願いいたします。 画像システムのこれまでのストレージ事情最初にアメブロ(以下、単にブログ)のユーザ投稿画像関連でのストレージの歴史をアレコレをまとめてみようと思います。なお、以下swiftと書いたらOpenStack Swiftのことです。流行のプログラミング言語のことではありません。 はるか昔の状況昔は単純にWebDAVを複数台並べ、イッパイになったら更に次の世代のWebDAVを追加する、というような構成で、参照時に画像URLパスに含まれる年月ベースで適切な世代のWebDAVにルーティングしていました。 (参考:画像URLのパスの例) /user_images/20160401/00/shibuya/

    『画像システムの車窓から』
    okinaka
    okinaka 2016/03/24
  • 『自動購読課金について【iOS編】』

    はじめに AWAサーバサイドエンジニアの辻(jun06t)です。 今回はiOSとAndroidの月額課金のための実装について書かせていただきます。 形式として読み物と言うよりドキュメントっぽくなっています。 理由は私が実装しようとした際に実装方法についてまとめて書かれた記事が少なく、「検証時に使えるフィールドはどれだろう?」「昔はこうだったけど、今は違う?」「Androidではできるけど、iOSではできない(逆も然り)」など、色々と分からない部分が多くとても困ったためです。 やや長い記事となったため、iOSの実装を前編、Androidの実装を後編として説明させていただきます。 注意事項 ※1:開発中にプラットフォーム側の仕様変更があったなど、記載している内容は情報が古い可能性があります。 ※2:記載している動作は十分に調査できていないものも含んでいるため、内容が不正確である可能性があること

    『自動購読課金について【iOS編】』
    okinaka
    okinaka 2015/09/17
  • 『第6回テックヒルズでアメーバピグにおけるJenkinsの活用例を発表しました。』

    はじめまして。 アメーバ事業部でアメーバピグの開発/運用を担当しております、丸山と申します。 去る6月18日、CROOZ株式会社主催の勉強会テックヒルズにて第6回はJenkinsをテーマにして開催されました。そこでアメーバピグにおけるJenkinsの活用事例について登壇の機会を頂きました。 当日は、すでにローンチして2年以上経った状態でのアメーバピグにおいて、 * コード品質管理 * バッチ制御 * オペレーションの自動化 の3点をJenkinsを利用して如何に実現してきたかを実例を交えて話させていただきました。 が、あまりにも内容が赤裸々すぎたので後で会社から怒られないか若干心配です。 なお、発表時の資料をslideshareに上げておりますので、これからJenkinsを導入する方にとってで少しでも参考になれば幸いです。

    『第6回テックヒルズでアメーバピグにおけるJenkinsの活用例を発表しました。』
  • 『redis、それは危険なほどのスピード』

    どうも、プラットフォームDivでエンジニアをやっている Wataru です。 最近3人目の子供が産まれて、産後自宅勤務をさせてくれた弊社はとてもいい会社だと思います。出産予定のあるエンジニアのかたは是非弊社に転職を。 さて、今回はRedisの紹介をさせて頂きたいと思います。 Redisってすごくマイナーなわけではないのですが、めちゃくちゃ便利なのにあまり注目されていないなーという印象があるので、これを機会に是非使ってみてもらえると嬉しいです。 Redisって何?Redisとは「remote dictionary server」から名前が付けられたオープンソースのkey-valueデータストアです。 MemcacheDB等のKVSとの最大の違いは、格納するバリューがデータ構造というところです。 つまり、リスト・セット・ハッシュなどのデータ構造で格納できるのでバリューに対してアトミックな操作が

    『redis、それは危険なほどのスピード』
  • 『はじめての RabbitMQ』

    アメーバ事業API 基盤グループでプログラマをしている @na_ga です。 API 基盤グループでは、弊社の様々なサービスから利用される共通 API の開発・運用を行なっております。今回は、私が担当した API でメッセージキューとして利用した RabbitMQ を紹介させていただきたいと思います。 はじめにAPI 基盤グループで提供している API には、リクエストをリアルタイムに処理する必要がないものもあります。例えばメール配信 API や、投稿内容の有人監視 API などが挙げられます。 これらの非同期処理が可能な API では、大量のリクエストを受け取るためにメッセージキューを使用しています。 メッセージキューを使用した構成では、リクエストを受け取るプログラムが、受け取ったリクエストから生成したメッセージをキューに格納します。キューに格納されたメッセージは、メッセージを処理

    『はじめての RabbitMQ』
  • 『ターミナル再入門 on Windows』

    昨年12月に中途で入社しました増田と申します。現在は大規模サービスのオペレーションエンジニアとして業務に携わっております。自分の開発環境を整えていくのが好きなこともあり、いろいろ使ったうえで今のところ安定して動いているCygwin+mintty環境下による「ターミナル再入門 on Windows」に関して書いてみたいと思います。 なぜWindows? OSに対するこだわりといったものがないわけではないのですが、個人的に「どのOSにおいても大きな差がないように動作する」という環境を保ちたいため、WindowsにおいてもどのOSにおいてもシームレスなターミナル環境を作りたいという思いがあります。勉強会などを見ている限り、Macユーザも多く、Linuxと変わらないターミナル環境が既にある方も多いかと個人的には思いますが、それでも一定の割合でWindowsからコマンドプロンプト以外のソフトウェアを

    『ターミナル再入門 on Windows』
  • 『OSSのカスタマイズと、実環境への反映をGitで行う運用について考えてみる』

    はじめまして、2011年9月に入社した 前田 です。アメーバのサービス向けのサーバや、開発環境向けサーバを提供するプライベートクラウドを運用・構築を行うクラウドチームで仕事をしています。このエンジニアブログにも何度か登場している”Maeda”さんと同じチームに所属しているので、社内では”こうへい”と呼ばれています。前田姓は珍しくありませんが、個人的には今まで身近なところで被ることはあまりなかったので、家族以外から日常的にファーストネームで呼ばれるのは結構新鮮な体験です。 さて、今回のブログは、技術ネタをと依頼されたので、入社してからやっている亊や入社前にやってきたことに絡めた話を紹介したいと思います。このエンジニアブログを読まれている皆さんは普段オープンソースソフトウェアを使って、バグがあったり機能が足りなかったら、パッチをモリモリ書いて、Upstream(開発元)にフィードバックされてい

    『OSSのカスタマイズと、実環境への反映をGitで行う運用について考えてみる』
    okinaka
    okinaka 2012/01/19
  • 『サーバの構築作業やシステム管理を自動化する「Chef」』

    皆様、はじめまして。2010年9月に入社した並河です。 インフラ周りの話題を・・・ということで、今回はサーバの構築やシステム管理作業を楽にしてくれるツールである「Chef」について紹介します。 ■ Chefとは「Chef」は、サーバOSでのインストール・設定・各サービスの状態管理等、諸々のシステム構築や運用作業を自動化してくれるRuby製のシステム管理ツールで、オープンソースとして公開されており、既に、37signalsやEngine Yard、RightScaleなどでも使われており、利用実績も出始めています。 Ruby製のシステム管理ツールといえば「Puppet」を思い浮かべる方も多いのではないでしょうか。ChefはPuppetの競合ソフトウェアとなる位置付けで、出来ることだけでいうと、特別大きな差はないと感じていますが、Puppetは外部DSLとして設定を記載するのに対し、Chefは

    『サーバの構築作業やシステム管理を自動化する「Chef」』
    okinaka
    okinaka 2011/04/27
  • 1