0
1

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 3 years have passed since last update.

個人で小規模サービスをリリースしたときのメモ

Last updated at Posted at 2021-07-23

開発のきっかけ/この記事の目的

コロナ渦前の出来事で、SNSで知り合った知人とオフ会を通じて親しくなり、

「こんなんやってるんだけど、世の中のサービスが使いづらくって。
あんなことやこんなことに配慮できるサービスが作れたらいんだけどな。
できる? オナシャス:bow_tone1:

という、飲み会でアルコールもほどよく入った状態から、

「できますとも:ok_hand: ちょうど興味があったので。やりましょう:beers:

という、エンジニアが頼られるありがちな話からスタートして、
隔週程度のskype会議、chatworkでのコミュニケーションを経て、
半年後にβ版としてリリースしました。

採用したサービス・技術スタック、ポイントを整理する目的で筆を執ることにしました。

採用したサービス/技術スタック

  • 方向性

    • 企画する人が使い、開発する人が使う
    • 利用者で運用費を負担(割り勘)するコンセプトで企画費、開発費などは個別に徴収しない
    • 小規模のため運用費は固定がいい(という全体の意見)
    • 細く長く使いたい
    • 開発者1名、初めて全工程に取り組むのでPaaSに頼らずスクラッチで組み上げる
  • サービス/技術スタック

  • システム構成図は以下の通り。
    スクリーンショット 2021-07-23 16.11.39.png

  • 詳細を以下の表に示します。

     | 観点 | 内容 |
     |:----------:|:-----------:|
     | 実行環境       | [さくらVPS 2G](https://vps.sakura.ad.jp/)  |
    

    | ドメイン管理 | さくらのドメイン|
    | SSL証明書 | Let's Encrypt |
    |OS|Ubuntu 18.04 |
    |Webサーバ| Nginx 1.14|
    |Webアプリフレームワーク | Django 1.11 |
    |データベース| MongoDB 3.4 |
    |ユーザ認証 | Keycloak 3.4.4 |

ポイント

  • Ubuntu
    • iptables, ufwによるフィルタ
  • Nginx
    • letsencryptの設定
    • 内部Webアプリケーション、keycloackへのlocationの設定
    • 404,403等のerror_pageの設定
  • Keycloak
    • ログイン画面のテンプレートを修正
    • ユーザの新規追加/退会時の削除、ロールの定義によってユーザごとに許可する機能をカスタマイズ
    • (ユーザからのパスワード変更などはこのサービスに任せられる)
  • Django&Webアプリ

まとめ

プライベートの開発捻出時間は40h/月がいいところで(家庭の事情など各位の状況に依存しますねー)、
OSレイヤーから1人で運用するのは、結構やりがいがありました。
でも、アタックのログが気になる・・・。
次は、Ubuntu/Nginx/Keycloak/mongodbあたりをクラウドのPaaSに任せて、
アプリケーション部分に集中するような開発を実践していきたいと思います。
費用徴収もキャッシュレスで集金したりリモートで完結することを意識しているのですが、
最初っから割り勘で契約できるといいのですけれどね。

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?