hatenob

プログラムって分からないことだらけ

一人Web開発~第1夜 はじめに

断片的で細々とした知識はあるのだけれど、果たして自分一人でWebシステムを作れるだけの能力があるのかというと甚だ疑問なので、試しに取り組んでみたいと思います。
家庭内で、いわゆる「自分の時間」を使ってちょっとずつやっていこうと思うので、いつ終わるのかどころか、ちゃんと続くかどうかも分かりませんが、何も記録せずに思いつきで進めるとそのうち「何でこんなことしてたんだっけ?」と当初の目的を忘れたりしそうなので、記録がてら取っておこうと思います。

作るもの

下記を一通り作ることを目標に取り組みます。

  • アプリケーション(動くアプリとそのテスト)
  • 実行基盤(OS、MWの導入、設定)
  • 開発基盤(コーディング、CI、CD環境の構築)
  • 運用基盤(監視、バックアップ、ハウスキープ等)

極力、今流行っているものや最新の仕様に従って作りたいと思います。
極力、自律して運用できるものにしたいです。

アプリケーション

いわゆる3層(クライアント-AP-DB)のWebアプリケーションを作ります。
今回は「なんかすげーアプリを作るぜ」という目的ではないので、アプリケーションの内容自体はどこにでもありそうな適当なものにするとして、作りながら適当に考えます。

使う技術
  • 言語 : JavaSE7 + JavaEE7
  • HTML5

実行基盤

Webアプリケーションを実行する基盤を作ります。
さすがにHW選定とかはやっても仕方ないので(調達するお金がありませんので)、HWはVMを使います。
なのでOS以上を対象にします。

使う技術
  • OS : CentOS 6
  • LB : Apache + mod_cluster
  • AP : Wildfly 8(スケールアウト可)
  • DB : MariaDB 10(スケールアウト可)

開発基盤

コーディング環境の整備やソースコード管理、CI、CDを行う基盤を作ります。

使う技術

運用基盤

サービスの監視、バックアップ、ログローテや不要データ削除などのハウスキーピングを行い、ジョブとして実行可能な基盤を作ります。
正直、ここが手薄なので色々検討の余地あり。

使う技術
  • 監視 : Zabbix
  • ジョブ管理 : Jenkinsでできるかな??
  • バックアップ : GlusterFSとかかな??

こんな感じで緩くやっていきたいと思います。
アウトプットはすべて下記のGithubで公開いたします。

https://github.com/nobrooklyn/oneman

とりあえず今日はもう眠いので、開始は明日以降に。