T2T2’s diary

アウトプット

201214アウトプット 考えていないんじゃない、考えられない

日の振り返り】

振り返った時に、無駄だった言えると過ごし方でも構わないとは言ったものの、

午前中に行った自己分析はボロボロだった。

自分のこととなると全く言葉が出てこないし、それを引きずったまま午後に突入

本当に自分のことだから腹が立つ。

一番わかっているはずの人が分かっていないだなんて。

PFにも自信がなくなってくるじゃないか。どうにか考えろよ。

 

◯ Docker利点②

アプリケーション作成においてロギングは必要な要素

ロギングとは?
エラー等のログを記録する仕組みのこと
これがないと問題が発生した場合どこで発生したもかの経過把握、原因調査が出来ない

企業における本番環境では、Amazon ECS(コンテナのオーケストレーションサービス EC2を複数で起動した場合の調整役)
を利用して、書き出されたログをAWS FireLensを用いてルーティングしてS3に保存させて残す仕組みをとる

ただし根本的にエラーが出る前の、健康状態をモニタリングしたメトリクスをとることが重要
メトリクスとは?
ネットワークでの目標までの距離(稼働率)を知る必要がある、一定の稼働率を超えたらサーバーダウンしたりする

そのためにHTTPエンドポイントをアプリケーション内に作成しなければいけない
HTTPエンドポイントとは?
HTTPステータスコード「200(OK)」「503(server error)」を自動で返すAPIを設置(記述する)

昨今だとkubernetesAmazon ECSでコンテナを開発運用することが一般的になってきており、
HTTPエンドポイントは、コンテナの状態を制御するための情報に必要な手段となっている。

コンテナアプリケーションの設計原則(RedHat)にある「単一関心の原則」というものがある。
1つの関心(システム)は、1つのコンテナにまとめる(メソッドのスコープ的な考え方)
そのためメトリクスを計測するものをサイドカーコンテナと称して、メインのサブとして独立させる考え方がある

アプリケーションコンテナとサイドカーコンテナがあることにより、お互いが疎結合している状態という
岩場互いに影響を及ぼ際ない関係にあり問題が起きにくいことにプラスして、
サイドカーコンテナを独立させて他のアプリケーションに使用することも出来る

一口にDockerと言っているが、本番環境での実用観点からの設計も必要なものである