タグ

ブックマーク / blog.shibayan.jp (6)

  • C# と Polly を使って回復力の高いアプリケーションを書く - しばやん雑記

    昔のように高い信頼性を持つオンプレのハードウェア上で動いていたアプリケーションとは異なり、昨今のクラウド上で動いているアプリケーションは障害が発生する前提でコードを書く必要があります。クラウドのハードウェアは毎日どこかで壊れるので、それを前提にソフトウェアで高可用性を担保しているわけです。 最近は Microservices の流行もあって 1 つのアプリケーションを構成するコンポーネントが増えているため、実装によっては 1 つのコンポーネントで発生した障害が全体に波及してしまい、アプリケーション全体が停止してしまうこともあり得ます。例としてよく挙げられるのがリコメンド周りでしょう、リコメンドサービスの障害でアプリケーション全体が落ちてはいけないのです。 今のアプリケーションは障害時には敢えてサービスレベルを下げてでも、全体としての可用性を維持することが必要です。そして復旧時には人の介入な

    C# と Polly を使って回復力の高いアプリケーションを書く - しばやん雑記
  • 3 月なので障害に強い Azure の運用を考える(2017 年版) - しばやん雑記

    3/8 に Azure の Japan East で久し振りに大規模な障害が発生しました。既に RCA が上がってきていて、ぶちぞう RD がブログで書いているので、原因についてはそっちを参照で。 2017.03.08 の Azure障害 | ブチザッキ そして今年も 3/11 を過ぎたことですし、ちゃんとアーキテクチャと運用を最新のサービスや仕組みでリフレッシュしていかないといけないですね。ちょっとポエム臭くなってきたけど、割と中身は真面目に。 さて、障害の継続時間は 2 時間ぐらいでしたが、例によって Storage 周りの障害だったため、数多くの Azure サービスが影響を受けました。障害発生中の Azure Status はこんな感じでした。 Azure の Storage はご存知のように Blob / Table / Queue / Disk / File といった、各サービ

    3 月なので障害に強い Azure の運用を考える(2017 年版) - しばやん雑記
  • Web API よりも HttpClient に注目したい - しばやん雑記

    NuGet で公開されていた System.Net.Http.dll が .NET Framework 4.5 では BCL 入りを果たしました。このアセンブリには HttpClient という全く新しい HTTP のクライアントが入っています。 これって元々は ASP.NET Web API 向けに HTTP を綺麗にラップしたクラスなんですが、正直なところ WebClient とかそんなレベルじゃないぐらい高機能で使い勝手がいいんですよ。 REST 対応 HttpClient に用意されている主な HTTP 通信用のメソッドは以下の通りです。 GetAsync PostAsync PutAsync DeleteAsync はい、見事に HTTP 動詞です。これで RESTful な API でも簡単に叩くことが出来るし、HttpWebRequest で何故か HTTP 動詞を文字列で指

    Web API よりも HttpClient に注目したい - しばやん雑記
  • Azure Web サイトの運用で損している人が多そうなので Web ホスティングプランについてまとめておく - しばやん雑記

    Azure Web サイトに Web ホスティングプランが導入されたあたりから分かりにくくなった気がしますが、結構 Web サイトの運用で余計なお金を払っている人が多そうだったのでまとめておきます。 例えば 2 つの Azure Web サイトを作成しようとしています。独自ドメインが必要なので共有モード以上を使いたいですが、その時に発生する費用を計算してみたいと思います。 ちなみに Azure Web サイトの現在の価格は以下の通り。 Web サイトのモード 月当たりの金額 仮想マシン 共有 1,162 円 (33% 割引中) 共有する 基 6,717 円 占有する 標準 8,955 円 占有する 普通に考えると、共有モードを選択すると 2 サイトなので 1,162 円 * 2 = 2,324 円となり、基モードを選択すると 6,717 円 * 2 = 13,434 円になります。 値

    Azure Web サイトの運用で損している人が多そうなので Web ホスティングプランについてまとめておく - しばやん雑記
  • ASP.NET MVC 5 での新規アプリケーション開発時に便利な設定をまとめてみた - しばやん雑記

    自分が毎回新規で ASP.NET MVC アプリケーションの開発を始めるときに忘れるので、今までブログに書いた分をまとめてみました。 ASP.NET MVC 5 と限定してあるのは、5 より前のバージョンではバグ持ちの設定を紹介しているからです。 Razor のみを使う ViewEngines.Engines.Clear(); ViewEngines.Engines.Add(new RazorViewEngine()); モバイルビューを無効にする DisplayModeProvider.Instance.Modes.Clear(); DisplayModeProvider.Instance.Modes.Add(new DefaultDisplayMode()); 生成される URL を小文字にする public static void RegisterRoutes(RouteCollec

    ASP.NET MVC 5 での新規アプリケーション開発時に便利な設定をまとめてみた - しばやん雑記
  • Visual Studio 2012 の「JSON / XML をクラスとして貼り付ける」機能が便利すぎるけど - しばやん雑記

    最近 Twitter で酢酸先生とがりっちが同じような内容で悩んでました。 JSONわせたら自動でクラス作ってくれるプロダクトってないですかね— 酢酸 (山の手線20周) (@ch3cooh) July 5, 2013 DataContractJson(ryは jsonと同じクラス構造をつくらなきゃいけないのでざせつしました — がりっち氏@用 (@garicchi) July 11, 2013 その度に Visual Studio 2012 で出来るよ!と呟いてるんですが、もしかして出ない環境がある? 少なくとも、現時点で最新の Visual Studio 2012 Update 3 をインストール済みの環境では使えるようになっているはずです。 すいません、嘘付いてました。Web Essentials 2012 をインストールしておかないとメニューが表示されないようです。詳細は最後に

    Visual Studio 2012 の「JSON / XML をクラスとして貼り付ける」機能が便利すぎるけど - しばやん雑記
  • 1