GolangでWebアプリ作成〜Docker・Kubernetesで実行するチュートリアルをやってみた
はじめに
GolangでWebアプリを作りDockerで動作を確認し、Kubernetesでデプロイする手順を紹介した
Write a Kubernetes-ready service from zero step-by-step | Gopher Academy Blog
をやってみました。
とは言ってもKubernetesは当分使用する予定はないので、Kubernetesでのデプロイを除く部分だけですが・・・。
タイトルにはKubernetesとありますが、GolangでWebアプリを作るチュートリアルとしても良い記事だと思うので紹介します。
記事の目次、学べること
記事で学べることを理解するために、記事内の項目を並べてみたいと思います。
- 「Step 1. The simplest service」
- 「Step 2. Add a logger」
- 「Step 3. Add a router」
- 「Step 4. Tests」
- 「Step 5. Configuration」
- 「Step 6. Makefile」
- 「Step 7. Versioning」
- 「Step 8. Let’s have less dependencies」
- 「Step 9. Health checks」
- 「Step 10. Graceful shutdown」
- 「Step 11. Dockerfile」
- 「Step 12. Vendoring」
- 「Step 13. Kubernetes」
1〜10でアプリを作成し、11でDockerで動作させ、13でKubernetesで動かします。
私が良いと思ったのは、1〜10のアプリ作成で
など、実案件で必要そうなことをチュートリアル形式で学べることです。またURLの効率的な管理方法(Router)などソースを綺麗に保つための工夫にも言及されています。
実際に作ってみたアプリはコンテナで動かし、デプロイさせることもできます。
まとめ
アプリ作成〜コンテナ化、(私はやらなかったが)Kubernetesでのデプロイと、開発〜デプロイまでの一連の流れを学ぶのに良い記事だと思います。
GolangでのWebアプリ作成に興味ある方は、一度やってみてはいかがでしょうか。
以下、私が今回やってみたソースです。
GitHub - SrcHndWng/go-learning-kubernetes