YouTube

【YouTube】インフラにプログラミングは必要 SREのすすめ

https://www.youtube.com/watch?v=oc53DMC8s5A&t=3s

 

台本


 

インフラエンジニアにプログラミングは必要か?

結論必要。

シェルスクリプトでまず使う。

バックアップで使います。

サーバシステムのコマンドを知っているとそのコマンドを連携させることで、ひとつのプログラムとして毎日バックアップを行なって、世代管理みたいなことができる。

 

本当に運用であればここでおしまい。

 

WEBアプリの運用でかなり重い

サーバ側だけだと解決できないということがある。

できるんだけど、
アプリケーションの実装の問題の場合に根本的な解決ができない

その場合は一次対応しかできない。

 

まず、障害や不具合がインフラ側なのか、アプリ側なのかその切り分けをする。

その時にプログラミングやDBの知識がないと、

  • ミドルウェアをリスタートさせること
  • サーバのスペックをあげること
  • 許容値をあげること

そういうことしかできない。

 

 

デッドロック

これはアプリケーション上の実装の問題。

たすきがけみたいにロックの順番がこうさして問題が起こる

 

メモリリーク

参照をした時に変数をunset()したりしないなどでメモリがたまっていく。

変数をunset()していくのが大事。

 

実際にApacheで動かしていてメモリリークして落ちるみたいな件があった時に、
Apache+mod_phpという組み合わせから、
Nginx + php-fpmのFastCGIに変更することで対応できた。

 

イーガーローディング

1つレコードを取ってきてぐるぐるーみたいな。

ループがあるとプログラムは遅くなる。

大量にDBから取ってきてから、プログラムでループで抽出するみたいにすると重くなる。

 

インデックスがない

DBでWHEREやJOINでのONで指定するカラムにINDEXが貼られてなくて遅い。

 

DevOpsとSREの話

 

DevOps
Devは開発でビジネス上必要なもの、ユーザにとって価値のあるものを開発していく

Opsは運用。安定稼働を目指す者

  • Slack, コンフル
  • バージョン管理
  • CI/CD
  • DockerとECS
    開発と本番を揃える

SREはOpsの自動化を半分、開発を半分といったもの

DevOpsの中にあるSREはある。
DevOpsのインタフェーイスの実装クラスの1つがSREであるある

運用部隊が行なっていた内容を自動化していく。

  • 障害が発生した時に、自動的に復旧させる
  • 構成管理を行う

 

 

自動化、障害復旧

プログラミングを用いることで構成を自動化して見える化したりできる。

復旧を早くできる仕組みを構築しやすい。

 

クラウド

AWSはプログラミングができると自由度が高い。

 

アプリの高速化

プログラミングを知っていると、サーバのハードウェアやミドルウェア、クラウドの構成という側面と、

プログラムの問題や実装両面からアプローチができる。

 

FirebaseとかStripe SaaSなど

開発の知識がないと理解もできなくなるし、

オブジェクト志向やドメイン駆動といった形で書いてあるから、

もうミドルウェアだけってひとはWEBアプリにさわれなくなる。

 

プログラム大事だよ。

AWSやGCPの発達でEC2みたいなサーバのことをあまり知らなくても、システム運用できるようになった。

サーバレス。

だから変化していかないと淘汰されるから。

インフラももしWEB関係だったら変化していかないとこの先、

残っていくけど、

椅子は減っていく可能性がある。

だから開発のことも覚えた良いし。

その方が楽しいよってことです。

 

 

YouTube

【寿司打チャレンジ】天才プログラマーがタイピングに挑戦!

自責? おまえ嘘つくなよ

フリーターから正社員 インフラは2か月!

インフラにプログラミングは必要 SREのすすめ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)