- 更新日: 2020年07月10日
- 公開日: 2020年03月03日
Python学習においてのオラクルクラウドの使いドコロ
2019年、クラウド市場の拡大を受けて本格的にクラウド参入を始めたOracle社。
AWS、 Microsoft Azure、 Google Cloud、 IBM を追う形となっているOracle社のクラウドに興味がある方も多いと思います。
実際に無料利用枠で使ってみて、「このあたりは Oracle Cloud が優位だな」、「プログラミング学習者にとってはココが使いドコロだな」 という点がありましたのでレポートさせていただきます。
主に個人Python学習者、個人開発者を対象にまとめたレポートですが、 Python 以外の学習者の方にとっても参考になる部分あると思います。
尚、著者である大島はOracle Cloud以外に、 AWS、 Google Cloud、 Microsoft Azure、 VPS、 レンタルサーバーを初心者レベルで経験したことがあります。
Python学習者にとってのオラクルクラウド(Oracle Cloud)の使いドコロ
オラクルクラウド(Oracle Cloud)
Java や MySQL で有名なOracle 社ですが、クラウドについてはどうでしょうか? まずOracle Cloudをイメージするために、 AWS や Microsoft Azure など他のクラウドサービスと比較してみましょう。
プラットフォーム | 無料期間 | 表示言語 | ブラウザ操作の 軽快感 |
課金状況 | IT知識の 要求レベル |
YouTube数 | リリース | シェア(%) |
Oracle Cloud | 一部無制限かつ有料サービス1か月間30000円分付き | 英語 | ○ | 解りやすい | 高 | 60,644 | 2012* | ? |
AWS | 1年間、月750時間の制限付きで無料 | 日本語 | ○ | 解りやすい | 中 | 243,159 | 2006 | 48 |
Google Cloud | 1年間、$300の予算内で無料 | 英語 | ○ | まずまず | 高 | 925,562 | 2008 | 4 |
Microsoft Azure | 1年間、月750時間の制限付きで無料 | 日本語 | △ | わかりにくい | 低 | 112,228 | 2010 | 15.5 |
Oracle Cloud は、 2012年に会計や管理ソフトとしてクラウドサービス「Oracle Enterprise Resource Planning Cloud*」を開始したのが始まりと言われています。 市場シェアに関する情報は、 Iaas のもので 2018年分(source: Gartner)。 YouTube動画数は、 2019年1月1日以降に公開された数(YouTube Data API より*)
クラウドサービスに関する概要を大島の主観を交えて上記のようにまとめましたが、各サービスで開始年数や無料利用枠は違ってきます。
今回は個人の Python学習者、プログラミング初心者にとっての使いドコロ、ということで "情報量" と "無料利用枠" に絞ってご紹介していきます。まず情報量の目安となる YouTube 動画数ですが、Oracle Cloudは圧倒的に少ないです。 Microsoft Azure も少なめですが、こちらは公式ドキュメントが充実しているので、チュートリアル動画などの必要性が低いためと考えられます。
またチュートリアルで言えば、Oracle Cloudはプログラミング初学者にとっては難易度が 4 クラウドサービスの中で一番難しいし、扱いにくいかもしれません。 普通に 「プロシージャ」 とか 「メトリック」 といった専門用語が使われています。また日本語の公式ドキュメントもあるのですが、日本語検索があまり機能しないという状態。さらに英語のドキュメントは Google Translate のブラウザ拡張機能は動作しませんでした。
プロシージャとは、複数の処理を一つにまとめ、外部から呼び出し可能にしたもののこと。 メトリックは、各種データベース情報に関して、分析のために計算され、保管されているデータのこと。非エンジニアの方にとっては、ちょっとわかりにくいですね。
Microsoft や Google に比べるとOracle は専門性が高く、レベルの高いドキュメントという印象を受けました(下図参照)。
Oracle Cloud*と Microsoft Azure* のドキュメントの違い。 Microsoft の方は画像入りで丁寧で分かりやすいです。
操作画面でわからない、ドキュメントを読んでもよく分からない、そうなるとブログや YouTube が参考になると思うのですが、Oracle Cloudのチュートリアル動画はあっても昔のものが多く、参考にしづらいです。
つまり公式ドキュメントを読んで使えるレベルでないと、Oracleは難しいということです。そのためパーソナルユーザーはOracle を使わない、チュートリアルをアップしないと考えられるのですが、 初学者にとって有難い利点がOracle Cloudにはあります。それが 「Always Free」です。
Oracle Cloudの無料利用枠「Always Free」
AWS や Microsoft Azure など大手クラウドサービスは、1年間に限り無料というのがほとんどですが、 Oracle Cloudは Always、つまりいつでも無料です。この無料利用枠でどんなことができるか確認してみましたので、お知らせします。
【確認したこと】
・ WordPressの起動・運用
・ 簡単なPythonアプリケーションの起動・運用
まず詳しく内容を見ていく前に 「Always Free」 の概要を確認しておきましょう。
【Always Free 対象のサービス】
・ Compute
・ Database
・ Load Balancing(負荷の分散)
・ Block Volume(合計100GBが無料利用枠)
・ Object Storage(拡張可能な保存領域)
Compute(コンピュータ)は、仮想マシン、インスタンスに該当。スペックは、 OCPU 1/8、 メモリー 1GB、 OS は Ubuntu や CentOS、 Oracle Linux など。 Database(データベース)は、 OCPU 1基に メモリー 8GB、 ストレージ 20GB という充実ぶり。 月1000円相当の VPS なみのスペックといえるのではないでしょうか?
Python とは直接関係ないのですが、 WordPress をこのOracle Cloud Always Free で起動・運用できないか模索しました。
Oracle Cloudの「Always Free」にWordPress!?
WordPress対応のイメージ: Kusanagi(Oracle Cloud Marketplace)
基本的にOracle Cloudで WordPress を使用する方法は、 Oracle Cloud Marketplace* から設定する方法が基本。 Bitnami社製の WordPress や Kusanagi の WordPress イメージなどが存在。 インスタンスの作成時に Bitnami の WordPress などを選択するわけですが、 結局のところ ドメインの設定が ❌ です。
AWS や Microsoft Azure などは、無料利用枠でもサブドメインでインスタンスのサーバーにアクセスできるようになっていますが、 Oracleの場合は IPアドレスでのアクセスとなります(Always Free の場合)。つまり WordPress をセットできたとしても運用は困難です。
Oracle Cloudのインスタンス管理画面。 外部からアクセスできるポイントは、 パブリック IP アドレスぐらい...
Oracle Cloudでドメインを運用しようと思うと DNS サービスを利用する必要ありますが、こちらは有償で $0.85 〜*。微々たるお金かもしれませんが、ドメイン設定の手間を考えると、Oracle Cloudで無理に WordPress を利用しなくてもいいかなという結論になります。
Oracle CloudにPythonアプリをセット
ビットコイン価格の変動率が一定以上になるとメールで知らせてくれるPythonアプリの例。
Python学習者の中には、「このプログラム、常時動かしっぱなしにしたいんだけどな...」 と思われている方もいらっしゃるでしょう。
【常時プログラムを動かしたい時】
・ データ収集(データマイニング)
・ メールなどの通知アプリ
・ 自動売買プログラム
・ 仮想通貨のマイニング
・ ディープラーニング など
通常であれば VPSサーバーなどを利用して、プログラムを常時起動させておくと思いますが、毎月お金がかかりますよね。少なくとも「データ収集」 「通知アプリ」 「自動売買」 には、Oracle Cloudの Always Free が役立ちます。
1分毎にビットコイン価格や取引量などを CSV に自動保存するアプリの例。
インスタンスのメモリーが 1GB しかないのでデスクトップの操作画面は設定できませんが、コマンド操作に抵抗ない方、勉強したい方にとってはOracle Cloudの Always Free はいい環境。 Pythonanywhere なども無料で仮想マシンのコマンド操作できますが、制限がありますので断然Oracleの方がいいでしょう。
また Microsoft Azure も無料で常に 10この仮想マシン(App Service)を起動できますが、ディスク領域が 1GB と限定的。そもそも Azure の場合、インスタンス設定時に "無料用" のマシンがでてきません。つまり 750時間の無料利用時間を超えると有料になる、という課金前提のフリープランです。
無料で動かす Pythonアプリに興味ある方、データ収集に興味ある方は、下記動画を参考に Python アプリを実行してみてください。 Apatchサーバーなどと併用すると、データを外部からでも閲覧可能になります。
Oracle CloudのAlways Freeを使った感想
AWS、 Google Cloud、 Microsoft Azure、 VPS などいくつかのサーバー環境の体験がありる大島でも、Oracle は最初どうしたらいいか分からなくて困りました。 ですが、使っていくにつれて反応の軽快さや機能のシンプルさが気持ちよく感じるようになり、どんどん使ってみたくなる、試してみたくなるプラットフォームだと感じました。
つくばOSS技術支援センターより*
AWS や Microsoft はどんどん機能が増えていって、私達は把握できないレベルに達してきていますが、Oracle は機能を絞って利用者の知識レベルにあった操作ができます。課金よりもユーザー数増加を狙っているという印象を受けました。
最初に与えられる $300 のクレジットも、画面トップに "残クレジット" が表示されるので、安心して利用できます(下図参照)。
オラクルクラウド ログイン後の管理画面
インスタンスの OS については、 Ubuntu Minimal などもあって コンテナや IoT 関係のこともテストできそうで、Oracle Cloudでいろいろ試してみたくなります。
\AIエンジニアに必要なスキルが身に付く/
まとめ
オンラインで Pyhton を実行できる Webサイトはあっても、 Python を動かしっぱなしにできる環境というのは Oracle CloudのAlways Free ぐらいだと思われます。
「プログラミング勉強しても、結局サービスをリリースする時はお金がかかるしな...」 「Pyhtonってあまり役に立つ気がしないんだよな...」 と思っているあなた。今回の通知アプリはどうでしたか? 通知アプリを活用すれば、フリマアプリで気になっている商品が下がった時や今の求人数など、自分だけのデータが取れます。他人より少し有利になって、仕事も上手くいきそうですよね。
Pyhtonを学習している中でそろそろ独学の限界を感じていたり、プログラミングを学習してみたいけれど何から始めていいかわからないという方は、CodeCamp の無料体験をお試しください。
CodeCamp では、オンラインで現役講師がマンツーマン・レッスンをおこないます。受講生のレベルや学習の進捗に合わせてレッスンをおこなうので、プログラミング経験者でも物足りなさを感じることはありませんし、未経験者でも安心です。
「プログラミングスクールか、高いんだろうな...」「オンラインで本当にスキルが身につくのかな?」 という疑問や不安も、無料体験レッスンで解消できるはず!
無料体験に関する詳しい内容は、公式ページ よりご確認ください。
- この記事を書いた人
- オシママサラ