はじめに
はじめまして。京都のUI/UXデザイン事務所でデザイナーをしています。
この記事を含む一連の記事は、
softdeviceのみんなでゆるく記事を書く。 Advent Calendar 2018
の12/2~12/8分の記事として公開しています。
今回のシリーズ記事について
それぞれの記事が単体としても読めるようになっていますが、全体としてはタイトルの通り、自分がWebアプリをデプロイするまでの手順や引っかかった所をまとめた記事になっています。
たまたま自分が社内でやっていた活動がアドベントカレンダー企画として良さそうなので取り上げたのですが、そもそも何の活動していて、なぜオンプレミス上のKubernetesという構成で進めようと思ったのか、背景を書いておきます。
Q. 何を作ろうとしてるの?
A. 「自分たちのワークを管理する、新しい総合ポータル」
うちの会社では、自分達の働き方に合ったワーク管理システムを社内で内作して使っています。
ただ、5年以上前に作られたシステムなので、増改築を繰り返すうちに使わなくなった機能があったり、ここ最近で労働環境やワークスタイルが変わったりで、必要とされる情報が変化してきています。
このシステムを大規模に改修して、今のスタイルに合ったツールにしていきたいと考えています。
ただ、今回の記事の中ではシステムの中身には焦点を当てません。
タイトルの通り、Kubernetes上にこのシステムを展開した時の手順を紹介します。
Q. なぜマイクロサービス?
A. 「改修の進め方にマッチするから」
大規模に回収する!と息巻いたものの、既存のシステムが割と大きいので、全てを完了してからローンチするとかなりまとまった時間が必要になります。
そこで、今のシステムが持っている機能を分割可能な小さな機能/アプリに切り離して、一つ一つを短期間でローンチして実際にスタッフに使ってもらいつつ、段階的に全サービスを入れ替えていく、という計画を立てました。
そういった中でマイクロサービスという言葉の存在を知り、あまり理解していないながらも今回の進め方にマッチしそう!と思ったので、マイクロサービスを意識しながら作っていきたいと思います。
Q. なぜオンプレミス?
A.「政治的な理由から」
どちらかというと内政ではなく外交的な問題です。
お察しください。
Q. なぜKubernetes?
A.「やってみたいから」
以上です。
おわりに
僕達はデザイナーですが、自分が考えたアイディアを、絵ではなくもっとインタラクティブな表現で伝えたい、あるいは伝えないといけない機会が多々あります。特に僕たちはUI/UXの領域を専門としているので尚更です。そういった時は我々デザイナーもエンジニアリングの領域に手を伸ばす必要があり、かくいう僕も日常的にプログラミングをしていたりします。
一方で、これはGoogleCloudNext2018で感じた事なのですが、サーバーレスやKubernetesの登場によって、エンジニアが日常的にインフラの領域まで手を伸ばし、責任を持つ時代が到来しつつあります。インフラ管理という仕事がいきなりなくなるわけではないと思いますが、考え方の変化や技術の革新によって、垣根が薄れてきているのは確かだと思います。
こういった流れの中で、いずれはデザイン、エンジニアリング、インフラという、ユーザーにサービスを届けるまでの全ての制作過程が溶け合って、それぞれの考え方を理解していないと良いサービスを作れない時代が来るかもしれません。今回色々な事に挑戦してみようと思ったのは、そういった考えからでもあります。
何やら小難しくて抽象的な話をしてしまいましたが、今回のシリーズでは技術的な話を「とりあえずこうしたらできる!」という形でまとめていますので、同じようなところで引っかかった方や、これから始めたい!という方の一助になれば幸いです。
なにぶん初めて構築した時の手順になりますので、至らぬ点も多いと思いますが、何卒お手柔らかにお願いします。