paiza times

paizaがお届けする、テック・キャリア・マネジメント領域における「今必要な情報」を届けるWebメディア

logo

paizaがお届けする、テック・キャリア・マネジメント領域の「今必要な情報」を届けるWebメディア

Node.js,Python,RubyなどのWebアプリを完全無料でホスティング可能な「Unubo」を使ってみた!

f:id:paiza:20190911134448j:plain
どうも、まさとらん(@0310lan)です!

今回は、フロントエンドによる静的なWebページだけでなく、Node.jsなどのサーバサイドも含めた動的なWebアプリを無料でホスティングしてくれるサービスをご紹介します。

GitHubのリポジトリと連携することで、とにかくWebアプリを公開するまでの作業が簡単かつ高速に実現できるのが大きな特徴です。

サーバレスによる実行も可能なので、ご興味ある方はぜひ参考にしてみてください!

Unubo

f:id:paiza:20190911134459j:plain
 

■「Unubo」の使い方

それでは、「Unubo」をどのように使っていけば良いのか見ていきましょう!

まずは、サイトにアクセスしたら【SIGN UP】ボタンをクリックします。

f:id:paiza:20190911134509j:plain


無料のユーザー登録画面が表示されるので、ユーザー名・メールアドレス・パスワードを入力しましょう。

f:id:paiza:20190911134518j:plain

登録したメールアドレス宛にリンクが送られてくるので、それをクリックすれば登録完了です。


次に、新規作成したいプロジェクトが選択できるようになるので、今回はNode.jsを使ったアプリを選択してみます。

f:id:paiza:20190911134538j:plain

他にも、GO, Python, Ruby…などの言語を使ったプロジェクトも利用可能です。


プロジェクト名とリージョンを設定します。

f:id:paiza:20190911134546j:plain

リージョンのカテゴリは【Asia, Europe, United States】が選択できるようになっています。


プロジェクトの専用ダッシュボードが表示されます。

f:id:paiza:20190911134555j:plain

この画面で簡単な設定を済ませれば、すぐにネット上へプロジェクトを公開することができるわけです。

■プロジェクトの公開手順

Unuboでは、GitHubのリポジトリと連携することで非常に簡単なステップでプロジェクトを公開できるようになっています。

そこで、まずはダッシュボードの【Repository】から【CONNECT】ボタンをクリックして自分のGitHubアカウントと連携しましょう。

f:id:paiza:20190911134604j:plain


連携が完了したら、Unuboで使いたいリポジトリを選択するだけです。

f:id:paiza:20190911134645j:plain


今回の選択したリポジトリは、任意のキーワードに関連したGitHubのリポジトリ総数を表示する簡単なWebアプリのソースコードです。

f:id:paiza:20190911134653j:plain

このリポジトリが、Unuboを使って正常にホスティングされるかを試したいと思います。

ちなみに、このリポジトリは以下のリンクから閲覧できますので、合わせて参考にしてみてください。


<参考リンク>


リポジトリを選択したら【Deployment settings】メニューで任意のコマンドが入力できます。

f:id:paiza:20190911134703j:plain

Node.jsのプロジェクトであれば、【npm start】などのコマンドを入力しておくことで自動的に実行してくれます。


あとは【DEPLOY】ボタンをクリックすれば完了です!

f:id:paiza:20190911134712j:plain


自動的にデプロイ作業がスタートします。数秒ほど待つと【VIEW APP】ボタンが表示されるのでクリックしてみましょう!

f:id:paiza:20190911134726j:plain


見事にNode.jsのWebアプリが公開されました!

f:id:paiza:20190911134735j:plain

任意のキーワードを入力すると、ちゃんとリポジトリ総数も表示されるのでうまく機能しているのが分かります。ここまでの作業をすべてブラウザ上で完結できるうえ、誰でも簡単な設定を済ませるだけで永続的にプロジェクトを公開できるのは大きな魅力でしょう。

デフォルト設定だと公開されるURLは【プロジェクト名.unubo.app】ですが、後述するカスタムドメインを無料で設定することもできます。また、サーバがスリープ状態になることもないので、Webアプリの起動が速いのもポイントでしょう。

現時点でのマシンスペックは、1CPU / 1GB RAM / 500MBのストレージなので大規模なプロジェクトは厳しいですが、小中規模のWebアプリ・個人プロジェクト・プロトタイプ・学習用途などには最適だと思います。

(※スペックは利用サービスによって若干変わります)

■サーバレスによる実行方法

Unuboはサーバレスにも対応しており、あらかじめ登録しておいた関数などを任意のタイミングで実行できるのでご紹介しておきます。

まずは、新規プロジェクトを作成するのですが、今度は【Serverless】の項目からNode.jsのアプリを選択します。

f:id:paiza:20190911134753j:plain

他にも、C#, GO, Java, PHP, Python, Rubyが利用できます。


次に、サーバレスで利用するプログラムですが、これもGitHubリポジトリを使います。たとえば、【handler.js】というファイル名で次のような処理を作ってみましょう。

module.exports = (e, context) => {
    const result = {
        status: 'Hello Serverless',
    };

    context.status(200).succeed(result);
};

これは単純なオブジェクトを返すだけでの処理ですが、練習には最適です。

ちなみにpaizaラーニングではプログラミング言語の基本が学べる入門講座を公開しています。「JavaScript入門編」もありますのでぜひチェックしてみてください!

プログラミング言語の入門講座一覧はこちら


handler.jsを含むGitHubのリポジトリを選択したら、あとは【DEPLOY】ボタンをクリックするだけで完了です!

f:id:paiza:20190911134804j:plain


【VIEW APP】ボタンをクリックすると、実際に実行された結果をブラウザで確認できます。

f:id:paiza:20190911134813j:plain

さきほど設定したオブジェクトが返されているのが分かりますね。

もちろん、フロントエンドのJavaScriptからもこのデータを取得できるので、アイデアしだいでさまざまなWebアプリを構築することができるでしょう。

今回サーバレスで使ったリポジトリは以下のリンクから閲覧できますので、ぜひ参考にしてみてください!


<参考リンク>

 

■Unuboの便利な機能

Unuboはこれまでご紹介した機能以外にも、さまざまな便利機能が提供されているのでいくつかピックアップしてご紹介しておきます。


まずは、カスタムドメインの設定機能です!

プロジェクトのダッシュボードから【Domains】メニューを開くと次のような画面が表示されます。

f:id:paiza:20190911134930j:plain

手持ちのドメインサーバにレコードを設定し、反映させたいドメインを入力するだけなので非常に簡単です(SSL証明書も無料で発行されます)。


次に、ロールバック機能を見てみましょう。

これは、プロジェクトの【DEPLOYMENT】→【HISTORY】を選択すると以下のように表示されます。

f:id:paiza:20190911134948j:plain

これまでデプロイした履歴が一覧で表示されており、右側のボタンを1クリックするだけでロールバックできるのが大きな特徴です。たとえば、ソースコードを更新した際にやっぱり元に戻したい…というときにいつでも戻れるわけです。


また、サーバログを確認できる機能も用意されています!

f:id:paiza:20190911135003j:plain

現在のサーバがどのような状況なのか、エラーが発生しているときのデバッグなどさまざまな用途に利用できるでしょう。

他にも、世界中に点在するサーバの稼働状況をリアルタイムに把握できたり、APIキーなどを設定するのに便利な環境変数を利用できる機能など、Webアプリを安全にホスティングしてくれる便利機能がたくさん搭載されています。

■動画でプログラミングが学べるpaizaラーニング


動画でプログラミングが学べるpaizaラーニングでは、Python、Java、C言語、C#、PHP、Ruby、SQL、JavaScript、HTML/CSSなど、プログラミング初心者でも動画で学べる入門レッスンを公開しています。

Python入門編」「C#入門編」「ITエンジニアの就活準備編」といった人気講座も完全無料となっておりますので、プログラミングを学びたい方・ITエンジニアを目指したい方はぜひごらんください。

■まとめ

今回は、さまざまな言語で動的なWebアプリを無料でホスティングしてくれるサービスについてご紹介しました!

Unuboはまだ公開されたばかりなので、活発にバージョンアップを続けており新機能も随時追加されています。今後も機能強化が行われるばかりでなく、有料プランによる高機能なサービス展開も検討中とのことです。

Webアプリやサービスの開発に興味のある方は、ぜひ一度試してみてください!


<参考>





paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。

詳しくはこちら

paizaラーニング

そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。

スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。

詳しくはこちら

paizaのスキルチェック

paizaのおすすめコンテンツ

Webセキュリティ入門 ハッカー入門 Webセキュリティ講座がスタート!CVは内田真礼さん! Python✕AI 機械学習入門講座 CVに上坂すみれさんを起用!人気の機械学習講座を公開中!
paiza転職 paiza新卒 EN:TRY paizaラーニング 記事内に記載している情報は、記事公開時点でのものとなります。 Copyright Paiza, Inc, All rights reserved.