Azureとは
Microsoftが展開・提供しているAzureとは、
システム開発を行うシステムエンジニア・プログラマーが、
ブラウザ上などから利用するサービスです。
このAzureを使ったシステム開発・システム運用方法は、
10年20年前から行われていた従来のものと大きく変わります。
その違いを説明していきます。
オンプレミス開発(従来の開発)
作業場所
会社に全員集まるので、
コロナの時代には向いていない。
https://www.azureportal-site.com/entry/azuretoha
システム運用を行うサーバー
数百万・数千万という高額なサーバーを事前に購入して自社のデータセンターに並べるので、
家賃の他にセキュリティ対策・電源が落ちない仕組みなどの多額の経費がかかる。
問題が発生したときは自分たちで対処する必要があるので、
24時間体制・深夜残業・休日出勤が当たり前。
システム・アプリケーションの動かし方
担当者がデータセンター(現地)に行って、
開発したシステム・アプリケーションを自社サーバーの中にインストールします。
そして自社サーバに外部からアクセスさせるためのネットワーク構成・セキュリティ対策なども、経験を積んだエンジニアたちのチームを組んで自分たちで行います。
Azure開発(クラウド開発)
作業場所
パソコン1台あれば作業できてしまうため、在宅ワークがしやすい。
(私は今年2021年に、事務手続きのための1度しか現場に出社してません)
システム運用を行うサーバー
Microsoftが用意してるAzureデータセンターにサーバーが用意されてるので、
最強の設備でMicrosoftが運用・管理してくれている。
更にAzureのサービス提供が年間 99.95% 程の稼働率を下回ってしまった場合、Microsoftが返金保証してくれる仕組みまで用意されている。
※ 年間 99.95% の稼働率とは、1年間(8760時間)のうち約8時間以上Azureが停止してしまった場合、その分返金保証するといったものです。8752時間は正常にサービスを提供しますよ、と約束してくれるのはさすがMicrosoftで、自社サーバーでは絶対真似できないと思いますし、もし真似できたとしても相当な時間・労力が必要になると思います。
システム・アプリケーションの動かし方
自分のパソコンのブラウザなどからAzureにアクセスして、
開発したアプリケーションをAzureサーバーの中にインストールできてしまいます。
設定変更が必要になったときも、自宅からポチッとできます。
システムをリリースまでの流れとリリース後の使用イメージ
No1.ローカルPCでシステム・アプリケーションを開発
VisualStudioCode, eclipseの開発ツールで開発して、ローカルPC環境で動作確認・テストを行います。
No2.開発したアプリケーションをAzure上に配置
アプリケーションが完成したらGithubなどを使って、Azure上に配置(デプロイ)します。
Azure上に配置した=世の中にアプリケーションを公開したことと同じ意味になります。
No3.利用者がAzureサーバーにアクセスしてサービスを利用
例えばAzureAppServiceというものを一つ作るとURLが自動で発行されるので、そのURLにブラウザからアクセスするだけで、開発したアプリケーションに外部インターネットを経由してアクセスできます。
Azureを使うデメリット
よくAzureの概要やメリットが書かれているサイトはありますが、ここではあえてデメリットを書いてみます。
意図しないタイミングでメンテナンスが発生してアプリケーションが一時的に停止する可能性がある
デメリットのところには書きましたが、MicrosoftAzure側が勝手にバージョンアップやセキュリティ対策の最新化などをしてくれていてサーバ・アプリケーションの安心・安全を担保してくれているということです。
Azure側がメンテナンスを実施してくれないと各企業・サービス者たちは安心・安全なアプリケーションをサービス利用者に提供できなくなってしまいます。
そう考えるとメンテナンスは必要なものなので、メンテナンスを随時行ってくれることは大きなメリットになると理解いただければと思います。メンテナンスに耐えられるアプリケーションの開発・構築を目指しましょう。
Azureの料金プランなどを理解して利用する必要がある
提供されているサービスの中には、1か月使っても無料というよく使われているサービスもあったりします。
(AzureFunctionsの従量課金プラン)
しかし、1か月使用すると30~40万円かかるなんていうものもあります。
大規模システムで使われるものなので、個人で使うようなものではないので知識の一つとして聞いていただければと思います。
(AzureAppServiceEnvironment =1台のサーバを占有できる)
デメリットのところには書きましたが、「安いプランから高いプランまで必要に応じて選べて変更できる」という意味では大きなメリットになることを理解いただければと思います。
Azureがオススメな理由
クラウド開発では、未だにAmazonのAWSがシェア1位だとは思います。だからこそ、AWSのエンジニア・書籍・サイトは多いけどAzureはまだまだ少ないのが現状です。
私のこんなサイトですら「Azure料金プラン」で検索するとGoogleトップに表示されるのです。
だからこそ、AWSを知ってるのは珍しくないけど、Azureを知ってるエンジニアは貴重な存在!となるわけです。ニッチ戦略というやつですね。
シェアが多い方がその分仕事の供給量も多いかもしれませんが、私は契約を取りやすいAzureをオススメします。高度なプログラミングスキルがなくても、Azureを覚えるのと少しのプログラミングスキルがあれば年収1000万とかいきます。あと、私は副業として休日にAzure構築サポートをやっていた時期もあり、普通のアルバイトの数倍の時給をいただきました。
(こうやってオススメはしてますがAzureエンジニアが増えるとレア度が下がるので、皆さんはAWSにいっていただいても大丈夫ですよ笑)
以上です。