0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Webアプリケーション開発のお勉強 #1

Posted at

#1.この記事の内容

Webアプリケーション開発に関して勉強した連載記事の1回目です.(連載の目次はこちら])
本記事では,実装するWebアプリケーションの構成について調べた内容を記載します.

#2.Webアプリケーションフレームワークの選定

本記事の執筆時点では主要なフレームワークが3種類あります.
今回はデータ分析や機械学習を扱いますので,Pythonで記述するDjangoを採用しました.

Webフレームワーク 言語
Ruby on Rails Ruby
Django Python
Laravel PHP

#3.Webサーバ構成

アプリケーションのフレームワークをDjangoに定めましたので,Djangoを前提にサーバやデータベースの構成を考えました.

Webアプリケーションの基本概念を参考にさせていただき,安定性や推奨されている点を優先し,下図の構成をとることとしました.

webserver-structure.png

データベースは,データセットと機械学習モデルとの関連や,機械学習モデルのパラメータなど,多くのデータの関係性を加味する必要がある為,機能が豊富とされるPostgreSQLを採用することとしました.

WebページのデザインはBootstrap一択のようでしたので,これを採用します.Bootstrapを用いたCSSフレームワークが無料で公開されていましたが,まずはお勉強ということで,スクラッチで環境を構築してみます.

#4.仮想化

Webアプリケーションの実装を進めるにあたり,Webサーバの構築・起動が必要となりますが,パソコン毎に環境を整えるのはパソコンの移行やアップデート,環境の修正など大変なので,docker-composeを使用して仮想化します.

仮想化の対象は,「Webサーバ」「アプリケーションサーバ」「データベースサーバ」でこれらのDocker Imageをビルドし,コンテナ起動します.

#5.さいごに

本記事で,実装するアプリケーションサーバの構成について調べた内容を整理しました.
次回以降の記事で具体的な実装方法を記載します.

#6.関連リンク

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?