Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
自社開発サーバー | 広報&IR担当のオフィシャルブログ

広報&IR担当のオフィシャルブログ

サイバーエージェントの広報・IR室が運営しています。

今や国内有数のインターネットメディアとして成長したAmebaアメーバ




先日、ネットレイティングス 5月の順位が発表されましたが、


AmebaのPV(PCのみ、モバイルは含まず)は国内のインターネットサービスと比較しても6位アメーバ子会社のECナビも9位音譜





【各サービス順位とPV】

 1位 Yahoo! :18,859,015,000PV

 2位 Google :2,759,269,000PV

 3位 楽天 :2,597,828,000PV

 4位 YouTube   :2,105,667,000PV

 5位 mixi :1,671,683,000PV

 6位 Ameba  :1,616,579,000PV

 7位 FC2    :1,595,151,000PV

 8位 MSN   :991,371,000PV

 9位 ECナビ :915,294,000PV

 10位 ニコニコ動画:807,923,000PV




※AmebaPV数値は、ameblo.jpとameba.jpのドメインを合算した数値です。(重複は省く)







5月のAmebaの利用者数は15,483,000人(※ネットレイティングス調べ)キラキラ






そんなAmebaを支えているのが、当社のエンジニアです男の子女の子





2005年、今から4年前のAmebaはサーバーが非常に重たい状況が続いていましたが、2006年4月に当社エンジニア5名で改善部隊を結成し、データベースを改善開始。


2006年6月からはエンジニア採用にも積極的に取り組んできました。






システム改善に比例して、PVは右肩上がりで成長をとげ


今のAmebaの規模に成長することができましたアップ










本日、日経産業新聞6面に当社エンジニアのインタビュー記事が掲載されましたが、Amebaのインフラはすべて当社のエンジニアが開発・運用を


行っています星








以前は外注に頼っていたため、障害が発生しても手が出せなかったり、


迅速にサービスの拡張ができなかったりと、


デメリットや非効率が目立っていました。






現在は自社開発サーバーにて運営し、インフラ・アプリ共に、エンジニアは


自由に、自己責任のポリシーの下で開発を行っています。




秋葉原で、自分達自身で選んだものを組み立てることで、改善やレベルアップし易くなり、社員のエンジニアメンバーのストレス軽減や、やりがいの向上、さらに自社で安価に開発することでコストは半減と、いいことづくめチョキ音譜






ちなみにアメーバピグ1台4万円の非常に安価な自作サーバを使用し、


イニシャルコスト、メンテナンスコストを削減していますおこづかい






ちなみにこちらがAmebaのサーバーの一部。


現在Ameba全体で500台のサーバーを使用しています。サイバーエージェントではたらく広報担当のブログ
サイバーエージェントではたらく広報担当のブログ



今後も、Amebaをより多くの方にご利用していただけるよう、


引き続きシステム改善、バージョンアップに務めて参りますガッツキラキラキラキラキラキラ





* * Again: this will **not** prevent inline script, e.g.: * . * * This workaround is possible because Safari supports the non-standard 'beforeload' event. * This allows us to trap the module and nomodule load. * * Note also that `nomodule` is supported in later versions of Safari - it's just 10.1 that * omits this attribute. * --> */ (function () { const check = document.createElement('script'); if (!('noModule' in check) && 'onbeforeload' in check) { let support = false; document.addEventListener( 'beforeload', (e) => { if (e.target === check) { support = true; } else if (!e.target.hasAttribute('nomodule') || !support) { return; } e.preventDefault(); }, true, ); check.type = 'module'; const blob = URL.createObjectURL( new window.Blob([], { type: 'text/javascript' }), ); check.src = blob; check.onload = () => { URL.revokeObjectURL(blob); }; document.head.appendChild(check); check.remove(); } })();