メルカリにおける、継続的なアプリケーション改善を支える技術 - Retty Tech Cafe #5 2016/03/12
少し前に,Facebookのロードバランサが話題になっていた. blog.stanaka.org このエントリを読んで,各種Webサービス事業者がどういったロードバランスアーキテクチャを採用しているのか気になったので調べてみた. ざっくり検索した限りだと,Microsoft, CloudFlareの事例が見つかったので,Facebookの例も併せてまとめてみた. アーキテクチャ部分に注目してまとめたので,マネジメント方法や実装方法,ロードバランス以外の機能や最適化手法といった部分の詳細には触れないことにする. 事例1: Microsoft Azure 'Ananta' MicrosoftのAzureで採用されている(いた?)ロードバランサのアーキテクチャは,下記の論文が詳しい. Parveen Patel et al., Ananta: cloud scale load balancing
MacでのVagrantによる仮想環境構築の情報は多くありますが、Windowsマシンで実現するためのTipsを記述します。 1. 環境構築 1-1. 仮想化支援機構の有効化 VirtualBoxでの仮想化のため、PCの「仮想化支援機構(Virtualization Technology)」を有効化しておく。 手順はPCのメーカー・機種ごとに異なるので、Webサイト等で確認すること。 以下はHP ProBook/EliteBookの場合。 PCの電源ON直後、「F10 Setup」と表示されている時点でF10キーを押下 BIOS画面が表示されたら、[システムコンフィグレーション]-[デバイス構成]に遷移 「Virtualization Technology (VTx)」にチェックし、保存 1-2. VirtualBoxのインストール https://www.virtualbox.org/w
AWS のようなクラウドサービスが一般に浸透したことにより、仮想環境を前提とした開発が一般的になってきました。必要になったときに必要な構成のリソースにアクセスできるクラウドの強みを活かすため、オンデマンドで仮想環境を構築し直す機会が以前よりも増えてきています。このような状況では、仮想環境をより効率的に構築する必要があります。本記事のシリーズでは効率的な仮想環境構築の手段の一つとして、Vagrant と Chef というツールで環境構築を自動化する方法を紹介します。 はじめに 最初に Vagrant と Chef を使った環境構築の概要、および今回構築する仮想環境についてご紹介します。 仮想環境構築の自動化が求められる背景 クラウドが一般に浸透した現代では仮想化技術を利用することが当たり前となっています。仮想環境では、物理的な制約がないため、環境を廃棄したり、必要なときに再構築することが容易
AWS のようなクラウドサービスが一般に浸透したことにより、仮想環境を前提とした開発が一般的になってきました。必要になったときに必要な構成のリソースにアクセスできるクラウドの強みを活かすため、オンデマンドで仮想環境を構築し直す機会が以前よりも増えてきています。このような状況では、仮想環境をより効率的に構築する必要があります。本記事のシリーズでは効率的な仮想環境構築の手段の一つとして、Vagrant と Chef というツールで環境構築を自動化する方法を紹介します。第 1 回 VirtualBox 編に続く、第2回である本記事はAWSでの環境構築方法を紹介します。 はじめに 本記事では第 1 回 VirtualBox 編で構築した仮想環境と同じものを AWS 上に構築します。環境構築対象が異なり、設定ファイルの記述が異なりますが、Vagrant や Chef の概要、基本的な使い方は共通です
概要 Vagrantのセットアップ VirtualBoxにCentOS7の環境を構築する AWSのEC2インスタンスの環境を構築する Vagrantについては、公式サイトのチュートリアルを読むと、より正しい知識が手に入ります。 記事作成時のソフトウェアバージョンは以下の通り. Vagrant 1.7.2 Vagrant-aws 0.6.0 VirtualBox 4.3.26 ruby 2.2.2 Vagrantってなに? VirtualBoxやAWSなどに対して「仮想環境の構築、起動、削除」などの共通インターフェースを提供する。(と私は理解しました) Vagrant単体では面白いことはなくchefなどと組み合わせると効果を発揮します。 Vagrantのインストール Vagrantの公式サイトからインストーラをダウンロードして、インストールします。 インストールすると、ターミナルからvagr
用途にもよりますが、通信の暗号化を目的とするのであれば、ドメイン認証型で十分です。例えば HTTP/2 でWEBサーバを動かすには、事実上SSL/TLSが必須になりますので、そういった用途でも普及しそうですね。 Let's Encrypt の証明書取得方法Let's Encrypt クライアントソフト(コマンド)をインストールして、証明書取得用のコマンドを打つだけです。 冒頭にも書きましたが、Let's Encrypt での証明書取得の手続きは、他の認証局のものと大きく異なります。Let's Encrypt のサイトに行って「CSRを送信する申請フォームはどこだろう?」と探したのは、私だけではないはずです(^^;) 参考までに、一般的なドメイン認証型の証明書発行の流れは、以下の通りです。 (1) 秘密鍵を作成(2) 秘密鍵を元に、CSR(証明書を発行するための署名要求)を生成(3) 認証局
この文章は、サーバサイドのウェブアプリケーション開発において、社内実績の少ない新しい言語を採用したときにインフラ面で考慮したことを社内向けにまとめたものです。 はてなでは、長らくPerlでウェブアプリケーション開発を続けてきた一方、ここ数年で社内でScalaまたはGoの採用事例も増えてきました。 今後開発が始まるプロダクトにおいても、Perl、Scala、Goもしくは他の言語を採用するかどうかを開発開始時に選ぶことになるでしょう。 新言語を採用するときに、考慮すべきことの一つとして、「インフラ」への影響があります。 新言語に関する雑談をしていると、ウェブアプリケーションエンジニアに「インフラ」への影響について聞かれます。 もしくは、ウェブオペレーションエンジニアから考慮するポイントを伝えることもあります。 ScalaやGo以外に、Node.jsやサーバサイドSwiftはどうかというのも雑談
アプリ自体のコーディング見積もりのみに注力してしまうと忘れがちで、たまにつらい目に遭うので、必要に応じて追加していく予定。 アプリ仕様 仕様はそもそも決まっているか 「仕様は決まっている。動かない」「移植なのでこれ以上はありません」と言ったな。 それは嘘だ。 既に仕様がガッチリ確定していることはありえない。要求仕様(必要機能リスト)がある程度固まっているならばまだ良い方で、「今から仕様を一緒に考えていきましょう」「アイディアレベルです」まで様々。 その他にも、GCM/FCM等のアプリ外サービスと連携する場合、遅延コスト等どの程度許容できるかも事前に確定させる。特にプッシュ系サービスでは、ありえないレベル(全端末遅延1秒以内必須、とか)を既定路線に含めないように留意する。 改修か、新規開発か これは見積もりの前提として大きな影響力をもつ。 テクノロジーや設計の自由度・柔軟性をある程度コントロ
日常生活で使えそうな心理学のテクニックをまとめてみました。恋愛、ビジネス、人間関係において心理学が効果を発揮する場面はたくさんあります。 今回は当サイトがまとめている記事の中で「日常生活で使える心理学」を、簡単な説明と共にご紹介したいと思います。 また、個別の記事で詳しく解説しているものもあるので、もしよろしければご一緒にご覧いただけたらと思います。 スポンサーリンク 日常で使える心理学一覧 同調 パーソナルスペース 傍観者効果 心理的リアクタンス 端数効果 バーナム効果 ヒグビーの理論 同一化 セルフ・ハンディキャップ 栄光浴 身体像境界 錯誤行為 単純接触効果 吊り橋効果 認知的不協和理論 ピグマリオン効果 初頭効果 ハロー効果 ドア・イン・ザ・フェイス フット・イン・ザ・ドア カチッサー効果 クライマックス法とアンチ・クライマックス法 目標の欲求勾配仮説 ツァイガルニック効果 ヤーキ
人を動かす、と言うと、その言葉からは、やや良くないイメージがしてしまう人も多いかもしれません。 しかしもし、うまく相手の信頼を得て、心をつかみ、自然に気持ちよく動いてもらえる方法があるとしたら? 仕事以外でも、家庭や恋愛など、対人スキルとして非常に重要なことですよね。 そこで今日は、全米ベストセラー、日本では2011/1/29に出たばかりの本、 『なぜあの人からつい「買ってしまう」のか 』から私が読み解いた、実践すれば必ず結果が出る、 心理学で人を動かす7つの秘法を紹介します。 以下を読んで、「なるほど!たしかにあのときそうだった!」などの経験があったり、何か思うところがあれば、ぜひツイッターやコメント欄から教えてくださいね。 1~3は、相手に気持ちよく動いてもらうために、事前に信頼関係を築く方法。 4~7は、相手の心を自然に動かしてしまう方法です。 1. ミラーリングでラポールを築く 会
障害が起きたWebサービスは個人で運営しているサービスです。 2016年2月、障害から20日後にサービス再開しましたがアクティブユーザは以前の18%です。未だ回復の目処は立っていません。冗長化していないサーバがウイルス感染し、その後の対応も後手後手に回ってしまいました。 2016年1月末に起こるべくして起こった障害について記事にしてみました。ご迷惑をお掛けしてしまい本当に申し訳ありません。 ■ ユーザは、もう戻ってこない どんなウイルスに感染したのか SYNフラッド攻撃(SYN Flood Attack)を他のWebサイトに行うウイルスに感染して、確認していませんが他のサービスをSYNフラッド攻撃していたと思います。またウイルス感染時にサーバのsshdを書き換えられsshで接続できなくなりました。感染後にコンソールログインして書き換えられた醜い authorized_keys を見た時ゾッ
私が新規WEBサービス立ち上げ時に取り組んだ内容についてWEBエンジニア向けにまとめた記事です。 例えばNginxの設定でHTTPヘッダーが正しく設定されているかを確認できるGoogleDevelopers PageSpeed Insights を知っていると大変有利です。もちろんPageSpeed Insightsを知らなくてもWEBサービスを公開・運用可能ですがユーザに意図せず不利益を与えていたり、知らず知らずのうちにモバイルフレンドリーでないとGoogleから検索ペナルティを加えられている可能性があります。この記事は独りで新規WEBサービスを立ち上げた際のノウハウと取り組んだ内容について記述しています。 1. 概要(5行くらいで) スマホ対応は必須。トラフィックの50%はスマホから発生する。 速度は武器!速いサイトはそれだけで価値がある。 SEOの内部対策は内部リンク整備とPageS
NetflixのシニアパフォーマンスアーキテクトであるBrendan Gregg氏による、Linuxサーバにログインして60秒でまず調べることのまとめ。 パフォーマンス問題でLinuxサーバーにログインしたとして、最初の1分で何を調べますか? Netflixには、多数のEC2 Linuxからなるクラウドがあり、そのパフォーマンスを監視したり調査したりするための数々のパフォーマンス分析ツールがあります。その中には、クラウド全体にわたる監視を行うAtlasや、オンデマンドにインスタンスの分析を行うVectorがあります。これらのツールは多くの問題を解決する手助けをしてくれますが、各インスタンスにログインし、標準的なLinuxパフォーマンスツールを実行する必要がある場合もあります。 この記事では、すぐ使えるはずの標準的Linuxツールを使いコマンドラインにおいて、最適化されたパフォーマンス調査を
社長退任と就任のお知らせ このたび、2023年5月10日をもちまして、八田 孝弘が代表取締役社長を退任し取締役会長に就任するとともに、渡邉 輝明が代表取締役社長に就任いたしましたことをご報告申し上げます。
サーバの動作に異常が発生した際に原因を探るためのLinuxコマンドで、自分用のメモです。 全てmanとかググったら出てくるので説明は適当です。思いついたら後で追記していくかもです。 対象はDebian Squeezeになります。 全てパッケージインストールできるもので、パッケージ名は [in packagename] としてあります。 各所よりコメントありがとうございます。 良さ気なコマンドは追記していきます。 <追加したコマンド> * telnet (+コメント wget, netcat) * arp (+コメント arpwatch) * pstree * fdisk コメントに gdisk * host, dig * watch * reboot
●総広告費は6兆1,710億円、前年比100.3% ●4年連続でプラス成長 ●インターネット広告費が、二桁成長でけん引 株式会社電通(本社:東京都港区、社長:石井 直)は2月23日、わが国の総広告費と、媒体別・業種別広告費を推定した「2015年(平成27年)日本の広告費」を発表した。 2015年(1~12月)の日本の総広告費は、景気が足踏み状態の中、6兆1,710億円、前年比100.3%となり、4年連続で前年実績を上回った。 2015年の広告費の特徴 1.2015年の総広告費は、ミラノ万博、企業業績の大幅な伸長、所得増への期待があったものの、前年の消費増税前の駆け込み需要や「ソチオリンピック2014」、「2014FIFAワールドカップ ブラジル大会」開催に伴う反動減、海外経済の景気減速や個人消費の伸び悩みなどが影響し、通年で前年比100.3%となった。 2.媒体別にみると、「新聞広告費」(
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く