この文章は、サーバサイドのウェブアプリケーション開発において、社内実績の少ない新しい言語を採用したときにインフラ面で考慮したことを社内向けにまとめたものです。 はてなでは、長らくPerlでウェブアプリケーション開発を続けてきた一方、ここ数年で社内でScalaまたはGoの採用事例も増えてきました。 今後開発が始まるプロダクトにおいても、Perl、Scala、Goもしくは他の言語を採用するかどうかを開発開始時に選ぶことになるでしょう。 新言語を採用するときに、考慮すべきことの一つとして、「インフラ」への影響があります。 新言語に関する雑談をしていると、ウェブアプリケーションエンジニアに「インフラ」への影響について聞かれます。 もしくは、ウェブオペレーションエンジニアから考慮するポイントを伝えることもあります。 ScalaやGo以外に、Node.jsやサーバサイドSwiftはどうかというのも雑談
<!DOCTYPE html> <!-- ************************************** EDIT ME! ************************************** --> <!-- I interactively update myself. Made possible by: https://codemirror.net/ --> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="//d3js.org/d3.v3.min.js"></script> <link rel="stylesheet" href="//ajax.goog
クラウド時代の新常識はこれだ!「MySQL クラウド向け InnoDB チューニング」 こんにちは。インフラエンジニアの nobuh です。 株式会社インサイトテクノロジー様主催の db tech showcase sapporo 2015 が 9月10日、11日の2日間にわたって開催されました 。 今回、弊社も発表する機会を頂きましたので、インフラエンジニアとして日々 MySQL と格闘して培ったノウハウについてお話させて頂きました。その発表で使ったスライドがこちらです。 クラウド上の仮想サーバーを使って MySQL の管理やチューニングに日々邁進されている方々にご覧いただけると幸いです。 今までにも MySQL に関していくつか記事を掲載していますので、この機会に是非ご覧ください! → OSC2015北海道で「これだけみれば大丈夫ーCactiによるMySQLパフォーマンス監視のツボ」
2023年03月31日追記:この記事を基に、@sadnessOjisanさんより、コードレベルにより踏み込んだ、かつ、グリーンスレッドベースの新しいWebサーバアーキテクチャも含めて整理された記事 Webサーバーアーキテクチャ進化論2023 | blog.ojisan.io が公開されました。 主に新卒のWebエンジニア向けに、古典的なWebサーバアーキテクチャを学ぶ道のりと代表的な実装モデルの概要を紹介します。 この辺りの話題がWeb界隈で流行っていたのは数年以上前というイメージですが、Webサービスは相変わらずWebサーバの上で動いているので、流行り廃り関係なく学ぶべき内容だと思っています。 また、HTTP/2がいよいよRFC化し、既にh2oやtrusterdなどのHTTP/2のサーバ実装があり、今後Webサーバアーキテクチャを再訪することが増えるような気がしています。 ところが、We
Kore is a web application platform for writing scalable, concurrent web based processes in C or Python. It is built with a "secure by default" approach. It is fully privilege separated while using strong security features at the operating system level such as seccomp, pledge, unveil and more. Today Kore is used in a variety of applications ranging from high assurance cryptographic devices, machine
企業に「クラウドファースト」が広がる中、アマゾン・ウェブ・サービス(AWS)、米マイクロソフトなどのクラウドサービス事業者各社は、クラウドインテグレータなどのプレーヤーとの連携強化や事業モデルを拡大することで、サービスの競争力を高めている。 クラウドサービスがコモディティ化したことにより、クラウドサービス事業者は大手でさえも、自社のサービスだけでは差異化が困難になってきた。自社のクラウドサービスだけでなく、アプリケーションのほかセキュリティや運用保守など、クラウドの周辺にある事業者との連携や協調によってWin-Winの関係を形成。差異化や付加価値提供によって事業拡大を図る。今回はこの「協調型」のクラウド事業モデルを、それぞれのプレーヤーの役割を分解しながら解説してみよう。 クラウド業界におけるプレーヤーを八つに分類 まず、クラウド業界を取り巻く事業者の位置付けを分解してみよう。 米国立標準
サーバラックは組んでいませんが、スチールラックにマシンを載せています。 ネットワーク機器は、ルータをCisco ISR3825、L3スイッチをCisco 3750G×2(スタック接続)で、 サーバは自作サーバを5台ほど運用してました。 実家にいた頃は、全く気にしていませんでしたが「電気代」が・・・・ 冬は暖かく、暖房要らずなのですが、夏は冷房代が馬鹿になりません。 FC-SANを組んだあたりで、ディスクアレイの爆音がトリガーになって「嫁」の雷が落ちました。 結局、コストを下げるために、vSphereで仮想化してサーバを1台に、 ルータをYAMAHA RTX-3000に変更してかなりダウンサイジングしました。 それでも、電気代は2万円をちょっとかかってます。 (実は、こっそり実家にマシンを2台ほど常時稼働させてRTX-3000同士でVPNを組んます。 東京ー名古屋間のVPNで、単純スループッ
7 月に開催された「JAWS-UG 三都物語 2014」でも発表したとおり、自分が関わっているプロダクトをオンプレミスから AWS に移行しました。 JAWS-UG 三都物語 2014 に登壇しました 移行して 2 ヶ月ほど経ちましたが、目立った障害もなく安定した運用を続けています。スライドでも少し触れていますが、これまでのやり方を大きく変えるキッカケにもなりました。 今回は「オンプレミスから AWS に移行して変えた 3 つのこと」と題して、社外に公開できる範囲でご紹介します。 稼働中のサーバに変更は加えない いわゆる Immutable Infrastructure の考え方を取り入れました。最初は流行りに乗りたかったという気持ちが大きかったのですが、今では昔のやり方にはもう戻れません。 オンプレミスでは本番稼働中のサーバにログインして何か変更するということが当たり前に行われていました
Docker、IBM、Microsoft、RedHatがGoogleのコンテナ管理フレームワークKubernetesにこぞって開発参加する理由GoogleAppEngineDockergooglecomputeenginekubernetesgooglecloud Kubernetes is 何 先週末、Docker、IBM、Microsoft、RedHatがGoogleのコンテナ管理フレームワークKubernetesに開発参加を表明して話題になったが、この連携がどんな意味を持つのかすぐにピンときた方はどの程度いるだろうか。その前に、Kubernetesって何? Dockerとどう関係するの? 読み方すら分からないんだけど……って反応が多いと思う。 Googleのソフトウェアエンジニアで、Kubernetesの開発者であるBrendan BurnsによるGoogle I/O 2014のセッ
処理能力の高さなどを理由に、近年、大規模サイトを中心に急速にシェアを拡大しているWebサーバー「Nginx」。この連載では、その特徴と魅力を分かりやすく紹介します。 第3のWebサーバーとして注目を集めるNginx 1日に数億リクエストを処理するような大規模サイトを中心に、近年急速にシェアを拡大しているWebサーバーが「Nginx(エンジンエックス)」です。HTMLドキュメントや画像ファイルといった静的コンテンツを高速で配信し、消費メモリが少なく、リバースProxyやロードバランサーといった機能も有した注目の軽量Webサーバーです。ネットクラフト社の調査によると、2014年6月時点でApache HTTP、Microsoft IISに次ぐ第3位のシェアを獲得しています。 依然としてApache HTTPやMicrosoft IISのシェアは高いものの、Nginxの認知度は日に日に高くなって
Linux女子部08「Docker勉強会」 http://connpass.com/event/6318/ で使用予定の資料の一部です。 変更履歴 ver1.0 公開 ver1.1 参考資料追加、微修正 ver1.2 pid namespaceの例を変更、微修正 ver1.3 Fedora20 + Docker1.0 に手順を変更 ver1.4 dm-thinprovisiongのイメージを直接操作する手順を復活 ver1.5 LVMによるdm-thinprovisioningの図を追加 ver1.6 微修正 ver1.7 LVMでのdm-thin snapshotは変更できない旨を記載 、スナップショット作成の図を微修正 ver1.8 「LVMでのdm-thin snapshotは変更できない旨」は間違ってたので、snapshotを有効化する方法を追記Read less
昨年からImmutable Infrastructureという言葉が出始めて、サーバーを簡単に作って壊すという潮流が出始めました。また、サーバー管理を簡単にするツールとしてDockerというものが脚光を浴びており、いまどきのサーバー管理者に受け入れられてきました。 今回は、そのDockerをインストールしてLAMP環境を構築するステップを見ていきたいと思います。 Immutable Infrastructureとは? IaaS型のクラウドやVPSの台頭によって、簡単に仮想サーバーが立ち上げられる環境が整ってきました。 とはいえ、サーバーの立ち上げをするのはシステム構築時と、システム規模を大きくする時に限られ、サーバーの動作を変えたり、アプリケーションのアップデートをするときは、稼働しているサーバーの中身を修正するというのが従来のやり方でした。 しかしImmutable Infrastruc
コンピューターの機能は大きく3つに分かれる。数値計算や文字列処理など、データを加工する「コンピュート(演算)」、他のコンピューターとデータを交換する「ネットワーク(通信)」、そしてデータを保存する「ストレージ(記憶)」である。 コストパフォーマンスの良いコンピューターは3つの要素のバランスが重要だが、研究にも流行がある。1960年代から80年代まではCPU(つまりコンピュート)の研究が盛んだったが、1990年頃にCISC対RISC論争が収束するに伴い、CPUそのもの研究は下火になった。 1970年代後半から本格化したネットワークの研究は、1990年代のインターネット商用利用解禁でTCP/IPが勝利し、TCP/IP以外のプロトコルはほとんど消えた。そして研究者がTCP/IPに集中することでプロトコルの改善も急速に進んだ。「TCP/IPは音声や映像配信などに向かない」と言われていたのがウソのよ
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~ 2019/9/25-6に開催されたUnite Tokyo 2019の講演スライドです。 小端 みより(株式会社ミクシィ) こんな人におすすめ ・Unityでより本格的なマルチプレイのゲームを作りたい方 ・そもそも通信や同期処理ってどうやって実装するの?という方 受講者が得られる知見 ・Unityで専用サーバを開発するメリットやその方法 ・Unityでサーバとクライアントを同時に開発するテクニック ・通信に関する知識、専用サーバを運用する方法 Unityのイベント資料はこちらから: https://www.slideshare.net/UnityTechnologiesJapan/clipboards
定期的にこういう内容を書いて公開している気がする。昔の記事もあるのでそちらを読めばいいのだが、また書く必要性が生じてきたのであらためて書きます。 現代では AWS のようなクラウドや VPS など格安で手軽にインターネット上にサーバーを持てるようになった。しかしインターネットで誰でもアクセスできる環境でサーバーを稼働させるということは、常に人間やロボットの攻撃に晒されるということを同時に意味している。したがって初心者だからだとか、会社の中ではこうやって仕事をしているからといった言い訳は一切通用しない。セキュリティ設定をきちんとしなければ内部への侵入をたやすく許し、思わぬデータの漏洩につながるのである。とはいえセキュリティというのはトレードオフを考慮しなければいくらでも強化できるものでありキリがない。ここでは最低限これだけはやっておこうという現実的な落とし所を提示し、人々への啓蒙をはかるもの
今年の3月に 入門Chef Solo - Infrastructure as Code という本を書いた。 その名の通り Chef の入門書なのだけど、このサブタイトルは "Configuration Management Tool (構成管理ツール)" でもなく "Provisioning Framework (プロビジョニングフレームワーク)" でもなく、はたまた "Automated Infrastructure (自動化されたインフラ)" でもなく、"Infrastructure as Code" にした。 この一年で Chef や Puppet にはずいぶんと注目が集まった。おそらく、AWS をはじめとするクラウドサービスがより広いユーザーに浸透したことで仮想化環境が前提になって、以前よりも頻繁にサーバーを構築し直したりする機会が増えたとかその辺がひとつ理由として挙げられると思う
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く