しばやん雑記

ASP.NET Core とメイドさんが大好きなフリーランスのプログラマーのブログ

Web Apps

App Service Environment v2 がリリースされたので v1 からの変更点を調べてみた

最近はあまり ASE について興味を持っていなかったのですが、今朝 ASE v2 がリリースされたと聞いたので v1 との違いに注目して調べてみることにしました。ドキュメントは一部更新されているみたいですが、まだまだ足りていない印象です。恐らく詳細に関して…

App Service on Linux が Japan East で利用可能になりました

これまで Southeast Asia が日本から一番近いリージョンでしたが、ついに Japan East に App Service on Linux がデプロイされたので、レイテンシを気にせず使えるようになりました。今までは Japan East / West は割と後回しでしたが、今回は早期にデプロイ…

App Service on Linux の最新アップデートと de:code で久し振りにセッションをする話

先週の Build 2017 のキーノートではさらっと触れられてたぐらいですが、かなり大規模なアップデートが行われました。詳細は Azure Blog に AJ 氏が書いてます。AJ 氏とは先月に品川の Microsoft で会って少し話をしました。その来日時の記事が公開されてま…

App Service on Linux を Heroku っぽく使う Runtime Stack を作成してみた

App Service on Linux のカスタム Docker Image を利用していると、やっぱり Heroku のように foreman を使ったプロセス管理が使いたくなってきました。Heroku では Procfile をルートに用意しておくと、いい感じにランタイムが読み込んで実行してくれます。…

Azure App Service の認証は POST 時に Referer をチェックしているので注意

Site Extension として公開している phpMyAdmin が何故かボタンなどを押した時に 403 になるという報告があり、App Service チームの人達と調べてました。普段から Edge を使っている自分は再現できませんでしたが、その時に Referer が必要と知りました。最…

App Service on Linux で Ruby アプリケーションを動かそうとして上手くいかなかった話

昨日の時点で気が付いてましたが、中の人から Twitter で発表されてたので App Service on Linux の Ruby 対応を試してみました。結果としては動かすことが出来なかったです。Now you can deploy your Ruby App on #AzureAppService on #Linux pic.twitter.c…

CircleCI と Docker を使って App Service on Linux へのデプロイを自動化する

App Service on Linux での Docker 対応は Azure Container Service などに比べて、お手軽なので非常に便利なんですが、Elastic Beanstalk のように Dockerfile を含むリポジトリから自動的にビルドをしてくれないので、必然的に何らかの方法で Docker Image…

App Service on Linux 向けに独自の Runtime Stack を作成する

前に書いた /home のマウントがカスタムイメージの時だけ狂うバグが修正されたようです。ちゃんとコンテナ内の /home がファイルサーバー上の正しいパスにマウントされるようになりました。バグでカスタムランタイムが作りにくいと書いてましたが、Built-in …

2017 年 4 月から Azure Web Apps の SSL/TLS 暗号スイートから 3DES が削除されます

久し振りに英語の MSDN Forums を見ると、当該のアナウンスを発見しました。メールでも通知が飛んでいるらしいですが、自分のサブスクリプションにはメールが届いていなかったです。 Currently, Azure Web Apps supports 3DES cipher, for TLS/SSL although …

App Service on Linux の Docker Container が改善された話

何と大晦日に App Service on Linux がアップデートされたことが Twitter で流れていました。海の向こうでは正月休みとかいう概念は無いみたいですね。Nazim 氏とはメールで何回もやり取りしましたが、めっちゃいい人でした。#Azure #AppService on #Linux u…

App Service on Linux のカスタム Docker イメージ機能を使って nginx + php-fpm な環境を作る

最近は Windows Containers じゃない Docker Container を弄っていたので、勢いで App Service on Linux 向けに nginx + php-fpm という鉄板な構成でカスタムランタイムを作成しました。既に shibayan/nginx-php-fpm というイメージ名で Docker Hub に上げて…

Azure Web Apps に実装された Dynamic Cache の効果を大雑把に検証してみた

Azure Web Apps はアーキテクチャ的にストレージがボトルネックになりがちですが、最近はコンテンツをローカルストレージにキャッシュする機能が追加されたり、徐々に改善の兆しがあります。Local Cache は前に調べましたが、試した範囲では思ったより効果が…

Azure Web Apps が Linux 上で動作する App Service on Linux が公開されたので試してみた

二度寝を楽しもうかと思っていたら、Twitter で @ が飛んできて起きることにしました。こんなの飛んで来たら爆睡してても起きるしかない感じです。AzureでPHPとNode.jsがLinuxで動くPaaSをPreview始めました。まだリージョン狭めです。ついに、ですな。 http…

Azure Web Apps と Application Insights でパフォーマンスカウンターのような値を利用する

これまで Application Insights を Azure Web Apps で使った場合には Servers の値が表示されないので非常に残念でしたが、SDK Labs 扱いの AggregateMetrics を使うと一部取れるようになりました。公式ブログを見るとパフォーマンスカウンターを扱えるよう…

Microsoft.SourceBrowser を Azure Web Apps で簡単に使えるように Site Extension にしてみた

何でも知ってそうな C# でぐぐれの人に .NET Framework の http://referencesource.microsoft.com や Roslyn の http://source.roslyn.io で使われている Browser Engine が公開されてないか聞いたら、実際にそのコードを書いた人からリプライを貰いました。…

App Service Environment で Internal Load Balancer が使えるようになったので作って試してみた

最近は仕事で ASE を使ったりしていて、ここしばらく更新が無いと思っていたら、かなり大きなアップデートがやってきました。ARM な VNET へのデプロイと ILB への対応です。ARM な VNET へのデプロイは置いといて、ILB への対応で完全に VNET 内からしかア…

Azure Web Apps に Flat-File CMS な Grav をインストールする

Azure Web Apps 上に Umbraco をインストールして shibayan.jp を公開してましたが、PHP 製の Flat-File CMS な Grav に移行したので簡単に手順を残しておきます。Grav - A Modern Flat-File CMS | GravGrav は YAML と Markdown だけで書いていけるので、覚…

Azure Web Apps を完全に停止させる方法と Azure WebJob Dashboard 実行ログの初期化

Azure ポータルから Web Apps の停止ボタンを押しても、実際に停止しているのフロントのワーカープロセスだけで、Kudu や WebJobs が動いている SCM サイトは動き続けています。実際に Web App を停止しても Kudu には自由にアクセスすることが出来ます。し…

Azure Web Apps に追加された AppLens と Per-Instance Metrics とかの話

最近の Web Apps は監視系を色々と強化している感じがあるので、ざっくりとまとめてみようかと思います。少し前にポータルのサポートとトラブルシューティングの項目が増えました。中でも新しく増えたのは Per-Instance Metrics と AppLens です。アプリケー…

Azure Web Apps で PHP 7 (x86 / x64) が使えるようになりました

数日前に Azure Web Apps が PHP 7 に対応したというツイートが流れてきました。[New Post] Announcing Support for PHP 7.0 on #AppService and notification of PHP 5.4 retirement https://t.co/DhsM9pY6ED— Cory Fowler (@cfowlerMSFT) 2016年5月3日その…

Azure Web Apps と App Service Plan で CPU メトリックの単位が異なっている話

WebJob のスケーリングを考えてた時に、サイト単位で CPU 使用率が見れないのに不満しかなかったので、落ち着いて調べました。そもそも、思っていたより理解できてませんでした。まずは公式ドキュメントと、Azure 界の抱かれたい男 No.1 のブログを読み直し…

Azure Web Apps に最新版の Java をインストールする Site Extension を作った

Web Apps には Java 7 と 8 がインストールされていますが、最近はあまりランタイムのアップデートが行われておらず、世界の No.1 ことぶちぞうさんが色々やってますが、どうも時間がかかりそうです。[Java][Web Apps] Current Java runtime version include…

Azure Web Apps に追加された Local Cache を紐解く

以前に書いたことがある Web Apps の Local Cache について、やっと公式ドキュメントが用意されていることを Azure 界の抱かれたい男 No.1 に教えてもらいました。Azure App Service Local Cache Overview https://t.co/fFVhBPT3mh しばやんさんんへ— こすも…

App Service Advisor の通知を初めて受け取った話

Azure Portal にログインすると通知が出ていたのでクリックすると、該当する Web App の App Service Advisor に飛んで以下のようなメッセージが表示されました。機能自体は知っていましたが、通知を受け取ったのは初めてなので、おさらい的に調べておきます…

Azure Web Apps でも .NET Framework 4.6.1 と RyuJIT が使えるようになりました

数日前に Web Worker に対して reimage が掛かっていたので気になって調べたところ、.NET Framework 4.6.1 がインストールされていました。調べ方はいつものように reg query を使うだけです。日本語版のドキュメントには .NET 4.6.1 の値が書いていませんで…

Azure Web Apps に足りない MIME 設定を一括で追加できる XDT を作った

昨日 IIS Manager Extension の紹介として JSON の MIME 設定を追加しましたが、折角なので最新の IIS 10.0 で定義されている MIME Map と比較してみました。設定を丸っとコピーしてきて、差分を出してみると結構な差がありました。有名なものを挙げると Web…

IIS Manager Extension を使って Azure Web Apps の IIS 設定を変更する

もう去年の話になりますが、年末の趣味プログラミングとして Web Apps の applicationHost.config を簡単に編集するために、IIS Manager Extension というものを作りました。これまでも Site Extension を使えば XDT 経由で applicationHost.config をある程…

JRuby Extension を使って Azure Web Apps に Ruby on Rails アプリケーションをデプロイする

何回か Azure Web Apps に JRuby をインストールして Ruby on Rails アプリケーションを動かす方法について書いてきましたが、このあたりの面倒な手順を全て Site Extension で吸収することが出来たので、今回は完全版っぽく手順を紹介しておきます。これま…

Azure Web Apps 上で動作しているアプリケーションの監視を行う 2 つの方法

Azure に関わらず Web アプリケーションを運用する上で、当然ながら重要になるのがアプリケーションが正しく動作しているかを監視することです。ちゃんとデータを取りたい場合には New Relic や Application Insights をアプリケーションに組み込んで監視す…

Hubot を Azure WebJobs として実行させてみる

昔に Hubot を Azure Web Apps で実行する方法は書きましたが、今では WebJobs として Hubot を実行出来るようになっていると思ったので、実際に試してみました。そもそも、何故 Hubot を Web Apps で実行したかというと、HTTP を受け付ける必要があったから…