理系学生日記

おまえはいつまで学生気分なのか

Eponaをリリースした

この間ようやくDevOps環境構築キットEponaというものをOSSとしてリリースしました。

DevOps

DevOpsという言葉は様々な場所で聞きますが、理解するのがとても難しいです。 ずっと頑張って学んでいますが、まだまだ奥深く、いくらでも掘り下げるところがあります。

ぼくがDevOpsを説明する際、紹介するのがこちらの記事にあるDevOpsの定義です。 Gene KimはDevOpsの大家です。そしてそのGene KimのいうDevOpsの目的は「市場で勝てるようにすること」であり、よりシンプルな定義は「Better、Faster、Safer、Happier」です。 これを実現する文化や技術は、おおよそDevOpsと結びつきます。広い。この定義の広さがまず難しい。

そしてその理論的な根拠は様々な概念によって支えられています。

また、ぼくはDevOpsを水平分業から垂直統合への移行だとも捉えています。 DevとOpsとが分離していたものを、ギュッと凝縮して、その過程で出てくる様々な無駄をなくします。

聞こえは良いです。一方でこの過程は、中の人に対して様々なことを強制します。これは、DevSecOps、BizDevOpsも同様ではないでしょうか。

  • これまで見なくて良かったものを見ること
  • 気にしなくて良かったものを気にすること

それを楽しい、あるいはやり甲斐として感じてくれる組織文化がないと、DevOpsはきっとハマらないだろうなとも感じています。組織文化大事。

環境構築

EponaというOSSは環境構築をするためのものですが、DevOpsと環境構築がどう関連するのでしょうか。

DevOpsでは、制約条件(ボトルネック)を見つけ、それを解消するということを繰り返していきます。 そして、その制約条件は「一般的に」以下のように変化していくとされています。

  1. 環境の構築
  2. コードのデプロイ
  3. テストの準備と実行
  4. 過度に密結合なアーキテクチャ

最初のボトルネックは、環境構築なんですよね。であれば、まずはそこをなんとかせなばなぁという課題意識の元で、Eponaを作り始めました。

AWS

本当に、AWSを学び始めるところから始まりました。

AWSに詳しい人の助けを借りながら、このサービスはこう使うんだなと試行錯誤しました。現在進行形で試行錯誤しています。AWSの中の方にもたくさん助けていただきました。

今更ですが、APIで環境が作れるというのは本当に良いものだと感じました。

課題

大小たくさんあります。話せるもの、話せないものも、たくさんです。 制度面では運開分離がありますし、技術面でも多数です。ツッコミどころもいろいろありますが、これからも少しずつ改善していきます。