Aimingインフラチームを支え(てくれてい)る技術と設計(1/3)
この記事を読むのに使用する時間の目安 = 15分
初めまして。
Aimingでインフラを担当している 小熊(oguma) と申します。
普段は、ウェブサイトの構築/運用管理や
東京と大阪のネットワーク設計/構築/運用管理、
backoffice toolなどのinfra/inhouse開発および
技術指導/教育やフレームワーク導入や運用設計を行なっています。
それと最近は機会が減りましたが、たまにゲームインフラ構築や
内部統制および情報システム管理や人事関連をやっています。
今日も元気に飲みにいきましょう!!
さて、本題に入りますが
今回は、その中でAiming インフラチームが
どのような業務スタイルで、どんなツールを使っているのかや、ちょっとしたTipsなどを少し紹介させていただきたいと思います。
それらを 計3回に分けて投稿します。
今回、このblogを読む上で得られる情報は以下になります。
- この記事で得られる情報
- AimingインフラチームのワーキングスタイルとITサービスフレームワーク
- Aimingインフラチームの使用しているツール, OSSなどの各種情報
- その中から一部のツールのTips
- Ansible 2.x
- Vagrant
- Serverspec
- Infrataster
- vuls
- その中から一部のツールのTips
今回は、Container や Serverless などの話はしませんが、
少しでも皆様のお役に立てる情報になれば幸いです。
利用しているツールやフレームワーク
さて、
我々は以下のようなツールやフレームワークを採用しています。
- IT サービスフレームワーク
- ITIL を参考にしています
- 強いチーム、業務プロセス改善、ITサービス運用レベルの向上にはうってつけの教本ですね
- ITIL を参考にしています
- 構成管理
- Ansible
- TDI (Test Driven Infrastructure)
- TDD
- Serverspec
- BDD
- Infrataster
- TDD
- 環境
- Mac
- Vagrant
- Container
- Docker (個人利用 & 一部Projectで本番環境も利用開始)
- Kubernetes
- AWS
- GCP
- GMOアプリクラウド
- IDCF
- コード管理/ CodeReview
- Github
- Gerrit
- 監視 / 解析
- Mackerel
- NewRelic
- Cacti
- Nagios
- Zabbix
- Datadog
- 最近導入を開始
- 脆弱性検査
- Vuls
- (app検査は別途やっています)
- CI
- Jenkins
- Integration / ChatOps
- Slack
検証や個人利用を含めますと他にもありますが、チーム内ではだいたい上記を利用させていただいています。
そして、この場を借りて作成者に心からの敬意を表します。
[DevOps] Infrastructure as Code / Configuration as Code と 品質管理 / TDI
弊社でも
CodeでInfraを管理する
という業務を主体としています。
インフラ自体の品質管理も考慮していて、
テスト = Test Driven Infrastructure (TDI: これについては後ほど説明をします。) も、行うようにしています。
以下の記事が大変参考になり、強く共感しました。
Ito naoyaさんの Infrastructure as Code
https://speakerdeck.com/naoya/infrastructure-as-code
あるべき姿をコードにする、自動化するだけではない まさに構成管理の本質を捉えた言葉だと思っています。
このインフラを定義/宣言するやり方/捉え方は、現在のDockerでもInfraKit でReleaseされているものが近い思想に見えます。(InfraKitは、Docker for AWS/Azule からの流れとのこと)
https://blog.docker.com/2016/10/introducing-infrakit-an-open-source-toolkit-for-declarative-infrastructure/
https://github.com/docker/infrakit/blob/master/README.md
http://qiita.com/yamamoto-febc/items/2cd260ba956e1a3da78e
ちなみに Consul 等のClusterでも同じことが行えます。(Infrakitほど楽にできるかどうかは別として)
このあたりは目指している方向が同じと言えそうです。 (システムの自律化, NoOps)
期待しています。
CodeReview
重ねますが、品質管理/変更管理/リリース管理 は常に意識していて
我々も日々CodeReviewを行っています。
私たちは新卒1年目から積極的にDevOps, CodeReviewに参加させています。
CodeReviewは、本当に素晴らしいと思います。
合理的かつ、安全性や品質が上がり、スキルも全体的に上がるなど
チーム全体どころか会社全体どころか社会的にも良いことだらけです。
他社のインフラ関連のエンジニアで
CodeReviewを取り入れている会社は多々ありますが、
もし まだCodeReview を取り入れていないインフラチームがありましたら、ぜひ Github-Flow で取り入れることを強くオススメします。
今回はここまでです。
次回は少し技術よりの話にして
Ansible の Tips, 最新版2.2の注意点、
VagrantのTipsなどをいくつかご紹介していきたいと思います。
-
前の記事
インターンシップに参加した学生さんにインタビューしてみました@大阪 2016.11.08
-
次の記事
Unity3DのDIフレームワーク、Zenjectの紹介 2016.12.07