GAミント至上主義

コストにうるさいWEBアプリ開発者のブログ。最近はPython, Vue.js, Kubernetesがメイン@株式会社ビズオーシャン。https://github.com/uyamazak/

ビズオーシャンから添付ファイルを簡単、安全に送るTemply公開しました

社外に書類などを送るときに、ZIPでパスワードかけて添付して送る、というのがめんどくさいので出来たサービスです。

temply.bizocean.jp

プレスリリース
prtimes.jp


サービスについては本サイトに書いてあるので、開発系の話をします。

目的

  • 新卒入社3年目となるtakumi(仮)がメインとなって開発する経験をしてもらう。
  • 私がoceanus等で得たGCP, Docker周りの知見を社内に広める
  • 開発手法としてSPRINTの実践

SPRINTはこれ。邦題が良くないけどみんなで読みました。もちろん経費で購入。

SPRINT 最速仕事術――あらゆる仕事がうまくいく最も合理的な方法

SPRINT 最速仕事術――あらゆる仕事がうまくいく最も合理的な方法

まるまる1週間は難しく全体で2週間かかったり、インタビュー対象はほかの社員に協力してもらったり、本そのままはできませんでした。
それでもめちゃくちゃ疲れました。
また1回目のプロトタイプの反応がいまいちだったので、機能を削ったりして、公開までに2回やりました。

言語、フレームワーク

Python3.6
Django 1.11

開発環境

社内Linux開発サーバーでDocker
エディタはvim

バージョン管理

git
今回から初めてPull requestを使うため、すでに契約していたbacklogのgitレジストリを使いました。

本番環境

GCP

  • Google Kubernetes Engine (Django + gunicorn)
  • Cloud SQL (MySQL)
  • Cloud Storage (ファイル置き場)

その他Container RegistoryとかStackdriverで監視とかツール各種。
静的ファイルはCloud Storageから直接配信しているので、WEBサーバーはgunicornのみ。

開発について

初期公開までの開発期間は一時他の案件で中断があったものの賞味3か月程度。
これまでbizocean本体のPHPIDEを使ってましたが、今回は私の押し付けでvimでやってもらいましたが難なく使えている模様。

GCPをフル活用したため、ややこしい一部は除いて、ほぼメインのtakumi(仮)一人でプログラムから、サーバー、インフラ整備までできてしまいました。
シンプルなサービスなので、最初のプロジェクトとしてはちょうどよかったかも。

今後

今回初挑戦の複数人コードレビューでかなりゴミを消せて無駄なテーブルも減ってリソース節約にもなって、読みやすいコードにもなったので、どんどんやっていきたい。
まだmargeやpullではまることが多い。
現在開発できるメンバーは4人だけどそれぞれがメインで年1つずつぐらいは作っていけそう。