今回ISUCONではじめてAzureつかいましたの件
Azureってどこぞの統計ではAWSに次いでいるらしいし、日本リージョンもちゃんとあるし、色々ある。 しかし、なんだかんだ周囲の人はさわってないクラウドだったと思います。
ISUCON6でついに触るきっかけを得て、なんだかんだIaaSとして1ヶ月試した(試用期間がちょうど切れた)ので、その感想などを書いてみたいとおもいます。
ただ、Azure識者いわく、「ISUCONは競技の性質上しかたないが、いまさらIaaSを苦労するよりAppServiceなどをつかうべき」というのにはまあ一理あるなとおもったし、これをもってAzureがどうこうではないと思う。しかしまーLinux Boxがあればええんじゃというのは引き続きある需要なので…。
良い所
- そこそこシンプル
- Web UI
- まあ、ほぼ説明なしで使える程度にはシンプル
- デプロイボタン(を、使う分には)便利!
- Azure cli(コマンドラインからのAzure操作)
- サブスクリプションやリソースグループについて
- 理解するまでちょっと時間はかかったけど、理解したら把握しやすくて便利
- サブスクリプション(資金バジェット、お財布、クレカ)の概念は良いと思う、案件がいりくんでもアカウントが乱立しづらそう(どうだろう?)
- リソースグループにカンタンに人を追加できるので、ISUCONみたいな急造のチームでつかいやすいし、切り離ししやすい
- VHDについて
- 課金について
azureの「課金」の一覧、雑につかっていても非常に見やすくてわかりやすくて最高っぽい。 pic.twitter.com/7p02aCKtEQ
— uzulla (@uzulla) 2016年9月14日
悪い所
- Web UI
- ストレージ、ストレージアカウントについて
- ストレージアカウント概念に親しみがない、アクセス権限の設定が微妙にわかりづらい。使っていれば慣れるかもしれないが。
- オブジェクトストレージも、Diskも、DBも、Queueも一箇所でこれはいいのか悪いのか…(わかりづらい)
- もっとシンプルになるとめでたい(ある意味、今もシンプルさをめざしているのだろうが、慣れ親しんだ概念でない)
- 中を操作するだけなら http://storageexplorer.com/ こういうツールもある
- ドキュメントについて
- ドキュメントは豊富にみえて、自分のユースケースにマッチしたものが少ない(WindowsとLinuxで違いがあるし、azure cli とPowerShell版でも違いがあるので…)
- まあ、他はもっとなくて、仕方なく個人ブログみて解決してるような事なので、Azureは充実している方だ、ともいえるが。
VMのコピー、スナップショットがとりづらい
- VHDのスナップショット(というかコピー)はサーバーがオンラインではできないのが惜しい
- もう一度同じVMを立てる時とかにつかうテンプレートのJSONは取り扱いにめげる
- 現在のリソースのJSONをみて、ゴネゴネするツールはある ( https://resources.azure.com/ )
- JSONを視覚化してくれるやつもある(つかったことはない)( http://armviz.io/designer )
価格
- 高くもないけど、どうせならもう一段階安いVMが欲しい
- ところどころの古さ
まとめると
azure cliをつかっていけば大分解決する事が多い。と、ここまでかいていて昔のAWSもそんな感じだったな…と思い出しますね。
課金周りがシッカリしているのが大変に印象がよい、さすがMSである。最近のクラウド系サービスは国内外問わず、本当に課金、利用履歴周りが自分勝手というか、ユーザーの事情を軽視している気がしていて、最悪のケースだと知らないうちに金が(検閲削除)。お金を払うところだけはシッカリしないとお客さんに勧めるどころか、次回使う気がしないので、Azureはそこについては安心感を感じられた。勿論ちゃんとアラートもある(Cost Management + Billing の概要 - Azure Cost Management + Billing | Microsoft Docs)し。なんと(事前払いではあるし、最低金額が結構なものだが)請求書での決済に儀式も(あまり)不要(12 か月の前払いプラン | Microsoft Azure)(っぽい)!
続々と新機能も増えているらしいし、PHPerとしてはApp Service(PaaS)の動向は気になっているので、そこはつかってみて改めてレポートしたい。 (PaaSについてはAWSはアレだし、GoogleやHerokuなどはお客さんがピンとこない。あと、「MSはどこの競合企業でもない」ことが多いので(闇)通し安いのではないかな!!)
どうやって学ぶべきか
これはオンプレおじさんの文脈なんで、いまどきのクラウドネイティブな人は違うかもですが…。
まずはアカウントをとって、一通りVMを立てたり壊したりしてみましょう。そして「全てのリソース」や「リソースグループ」をみて、どういった要素で組み立てられているのか確認するといいとおもいます(たとえば、NICとかStorageとかあるわけで)。この時に画面を英語にしておくと、後で直訳単語の対応で迷わないという説もあります(私は大丈夫だったけど)
その上で、azure cliをいれて、同様の事をやってみると大体わかるのでは。
個人的にシッカリ見ておいた方が良いだろうなと思うのはストレージ周りですね、なんかここだけやたらややこしい。AWSでいうところのS3みたいなのに、「およそデータといわれるもの全部が」はいっているのですが…これはわかれば便利だが、ストレージアカウントアクセスキーがどこにあるんだとか色々最初迷うとおもいます。
たとえばVHDをコピーして、コマンド叩いてVMたてられたりするくらいになれば、「あっなるほどね」という感じになると思います。 個人的にはVPSとかみたいにつかうと、このVHDの概念を中心に据えて理解していけば、他のクラウドよりも便利に感じるんじゃないかなあとおもったりしますが…どうだろう?(AMIみたいな段階が一個飛ばせるし)(ただ、これは「そんな作業するの?」って人に何度もいわれたので、オンプレおじさん的な発想なんだろうなあ…)
このあたりはazure cliの話になるので、その内また別エントリで書きたい。
で、俺は使うのか?
ウーン、一番安いインスタンスでも月1700円なんですよね。まあ安いけど、個人の実験とかだとまだVultrをまだつかってしまうかなー(https://www.vultr.com/pricing/)
お仕事においては、AWSが宗教上の理由でダメなお客様ってたまにいるので検討できる。VHD周りの知見がふえて、実はスゲエ取り回ししやすいんだぜ!って事になればワンチャン。次は提案してみようとおもいました。
印象は良い方なので、次回がまたAzureでも喜んで使いますよ!