新米ワーママパパのQOL向上!

元SEである著者が、育児とQOL向上を目指すブログ。1歳・4歳児との日常。2022/4/26開始。

AWSが完全に閉鎖された件。ウェブサービスを安く個人開発したい!

久々にインスピレーションが湧いてきたので、ウェブサービス作りを準備中。

今まで2つほど作ったことがあるけど、どちらも利用者数名(お試し除けば0人)で終了したクソザコ開発者なので、次こそはもっと伸ばしたい!





ウェブサービスの個人開発

クソザコ開発者らしく、バージョン管理はEclipseのファイル、サーバはAmazon EC2か国内VPSの構成。

なにせ10年近く前の話。最近は完全にクラウド前提の開発になっているみたい。
GitHubすら使ったことがない。

Qiita で調べても、ちんぷんかんぷん。

時代遅れのSEはお呼びじゃないよ

コボラーは逆に希少価値なんだゾ!



自分は元SEだけど、由緒正しいSIerだったので、プログラミングレベルはお察し。

主な仕事は基幹システムを対象にしたエクセルパワポVISIOマン兼、HW雑用マン。

機器を調達したり、オンプレ環境を構築したり、リプレースしたり、青い銀行のデータセンターに監禁缶詰めにされたりとかそんなの。

そりゃ日経の木村氏に説教されるわ

データセンターに監禁されるの?

外出禁止で酷いときは24時間も・・


SIerキャリアパスの記事はこちら
nagoya21.hatenablog.com




ウェブサービスの開発言語

開発言語は古き良きJava Servlet
というかそれしか作れないロートル

Ruby on RailsもMongoDBも知らん

流行も知らないおじいちゃんかな?

PHPはソースコピペレベルなら使えるけど、本格的に開発するなら(趣味で)慣れてるJava一択。
過去作のリサイクルもできるし。

ちなみに前回記事では、スマホPA-APIを動かしてみたけど、やっぱり本格的な開発は辛い。
nagoya21.hatenablog.com

駄作も無駄じゃなかったんやなって

二度あることは三度あるんじゃ?




ウェブサービスの個人開発費用は安く抑えたい

Heroku 無料プランの終了

Herokuとは、開発したWEBアプリケーションを開発・実行するための基盤を提供してくれるPaaSサービス。

無料プランからスタートできるし、性能に困ってきたらDynoの数を増やしてスケールアウトもできる。
Amazon EC2すら面倒な自分にとっては非常に便利に感じる。

それに Heroku PostgreSQL も使えて素晴らしい!

・・・とここまで書いている途中で気付いたのだけど、2022年11月で無料プランが終了するらしい。

オーマイガッ!

ドル払いだし、かなり割高になるんだよなぁ




Herokuに替わる選択肢

Heroku 無料プランの終了はウェブサービス界隈では一大ニュースらしく、代替案が紹介されている。

zenn.dev

Cloud Runも良さそうだけど、慣れない環境だとトラブルシューティングに時間掛かりそうで怖い。
プログラミング以外に時間を取られるのは嫌。

キャッチアップだけで1年掛かるわ

先駆者ニキがたくさんいる方がいいので、サーバは古典的なVPSに戻ろう。
Apache設定やら面倒だけど、USのPaaSサービスの支払いは所帯持ちには辛い。

もし性能が足りなくなっても、サーバ並べて負荷分散すれば金額もさほど変わらないはず!

cloud.sakura.ad.jp




データベースの選択肢

VPSPostgreSQLをインストールしてもいいけど、管理がめんどくさいし、拡張性が足りない。

できればPaaS希望なので、紹介されてたPlanetScaleを使おうと思う。無料は強い!

無料枠5GBも使わないとは思うけど、性能に不足があればオンライン系以外はスレーブを並べるかも。

planetscale.com

PaaSの注意点として、論理バックアップを取るにはコストが掛かることが多い。
ここは安全のために、定期的にデータは抜いて手元に持っておきたい。

ロックインされるのは愚の骨頂

最後の砦はローカルファイル!




ファイル保存の選択肢

画像などの静的ファイルも持っておきたい。
最初はサーバローカルでいいけど、拡張性や性能を考えると、移行先はS3かCloudinaryが良さそう。

なお、S3は普通のストレージだけど、Cloudinaryは画像や動画の変換が得意なフレンズらしいぞ。

個人サイトで動画?・・あっ!

無法地帯が儲かるってそれ一番言われてるから

著作権侵害はダメよ(ニッコリ)





AWSのアカウントが完全に閉鎖された件

AWSに久々にログインしようとしたら、完全に閉鎖されたとのメッセージが。

AWSアカウントは90日を超える期間にわたって停止されたため、完全に閉鎖されました。

同じメールアドレスでは使えない模様。
どうしようか・・・

静的ファイルだけ置いとく場所が欲しい。
S3が一番楽で安いので別のメアドでも作るかな。

AWS出禁はひどい!

許してください何でもはしません!

メール機能の選択肢

SendGridは12,000通/月まで無料。

Gmailを使ってJavaで送信したことはあったけど、安定性を考えるとこの方が良さげ。
twilioは便利なサービスを出してるなぁ。

スパムメールの送信が捗る!

それやったら出禁じゃ済まないゾ




ウェブデザインの選択肢

個人的にはウェブデザインが一番の鬼門。
一から作る能力がないので、イケてるサイトを参考にCSSや素材を弄り回すスタイルになってしまう。

どうなん?って思ったけど、レイアウトや配色を真似る分には問題なさそう。

blog.terudesign.net

HPビルダーで作ればいいんじゃ?

標準のテンプレートなんて、どうせ工務店のHPレベルでしょ

以下Eclipse作業メモ。

Mavenの使用

以前は依存関係のあるライブラリ管理が大変だったけど、Mavenを使えば自動で取得してくれるようだ。
以下を参考に、「maven-archtype-webapp」を設定する。

qiita.com

Javaバージョン

EclipseJavaバージョンでエラーが出まくるので、Java17をコンパイルtomcatの標準に設定する。

qiita.com

web.xml の修正

昔作ったプログラムはFrontControllerパターンなので、URLパターンも修正する。

<servlet>
<servlet-name>FrontController</servlet-name>
<servlet-class>control.FrontController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FrontController</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

Eclipse開発画面

日本語版のpleiades をインストールして、まずはAPIやデータの検証中。

なお、子どもが寝静まった後しかできないので効率は悪い。

Tomcat9_Java17 を起動して、localhost:8080// にアクセスするとページが表示されるぞ。

子どものプログラミング教育は、ウェブサービスを作って公開させるのが良いかもね

形に残ると嬉しいと思う(小並感)

FIREしたらそんな教室を作るのもアリかも



趣味カテゴリーの記事一覧はこちら
趣味 カテゴリーの記事一覧 - 新米ワーママパパのQOL向上!

Amazon APIの記事はこちら
nagoya21.hatenablog.com