AWSエンジニアの悲劇 ほとんどのエンジニアは気づいていいない闇
#1 AWSエンジニアの悲劇 ほとんどのエンジニアは気づいていいない闇【主張】 - YouTube
カッコウは自分の卵を他の鳥の巣に産み付けて、その巣の親はカッコウだとは気づかずに育てていきその子供は本当の卵・ひなを落としていきます。
カッコウの子が親よりも倍以上の大きさになっても親の鳥は気づかずに餌を与え続けていきます。
恐ろしい話ですが、これがAWS、国内ベンダー。AWS、AWSエンジニアの関係に似ているので例えに使わせてもらいました。
AWSのメリットと言われている箇所を1つずつ潰していきます。
1.AWSはリソースを効率よく使えるので、コスト削減につながる
文言だけでは安くなるように聞こえるが、実際はVPSとかの4倍〜10倍。
固定じゃないので、比較がしづらい。
柔軟性という言葉を武器に計算をしづらくして囲い込みを行っているマーケティング的な手法の部分が多いと思われます。
2.ディスク容量の限界がないので、気にしなくていい
格安専用サーバーで1TBのディスク容量なので、それを超えるディスク容量を果たして保守できるのでしょうか?
MySQLで大量なデータと思っても100GBぐらいかと思います。
それ以上で運用しているのであれば、ログテーブルを保存しているなど、システムに問題があるかと思いますが、限界がないという事で気にしなくていい事が逆にデメリットになって、ディスク費用が高くなったり、気づいたときにはアーカイブ化が困難な状態になっているのではと思います。
3.AWSは落ちない
結構落ちてます「AWS 障害」で検索すれば出てきます。
4.機能が豊富
自分で作りましょう。
それがスキルかと思います。
aurora rdsの機能はmysql,postgresで可能です。
cloudfrontはnginxのキャッシュの設定でできます。
dynamodbはmongoDBで代替可能です。
AWSはサポートがあるので、わからなければサポート使う手もあります。
そうすることによってAWS側はユースケースの知識、経験がつくので、お金もらいながらナレッジがたまり、AWSエンジニアは気づかないうちにどんどん自前で機能を構築するスキルを失っていく事になります。
なので、はじめのカッコウの生態を例えに上げました。
5.インフラの手間が省ける
にもかかわらずインフラチームが存在していて、インフラ周りの対応に追われたりしてないでしょうか?
例えばアカウントを例に挙げると、AWSの機能ではなく全てLinuxにインストールする形をとればLinuxのアカウントを与えるだけで担当者に任せられます。
しかし、AWSの機能でインフラ構築してしまうと、Linuxのアカウントだけでなく、AWSのコンソールアカウントも与えないといけません。
AWSのIAMユーザーの権限設定だけでLinuxのアカウントの権限設定とダブルワークになってしまいます。
redmineを自前で構築するのは工数がかかるので、お金を払ってBacklogなどSaasを使うのはわかりますが、AWSの場合はお金を払って、さらに工数もかかってしまうという事です。
次からはデメリット3点
- A.請求が無限大
- B.AWSから抜けられない
- C.スキルがつかない
- D.強制的にアップデートしないといけない
A.請求が無限大
2でも説明したように、容量が無限になると例えば、開発中にバグがあって容量がとてつもなく増えたりとか、またはアクセスしまくるようなバグがあった時は請求が急激に高くなったりすることなどのデメリットもあります。
そうなってもエンジニアが払うわけではないので、本人のデメリットにはならないですが、会社のデメリットなのは間違いないです。
実際小松の現場でもあった出来事です。
B.AWSから抜けられない
気づいたら、ELB、aurora、S3などで周りを固められ、AWSから抜け出せなくなってしまいます。
まさにベンダーロック
一度足を入れると抜けにくいのに気づかずにどんどんはまっていくような状態です。
AWSから他のサービスに移行した件を聞いたことがないです。
C.スキルがつかない
シェフで例えると、自前で調味料からつくるシェフとチェーン店からお弁当を買ってくるシェフだとどちらがスキルが高い、または、これからどちらのスキルが高くなるでしょうか?
スキルの点でも自前で作ったほうがいいのは明白です。
AWSのサポートがあることでAWS自身のナレッジはたまり、エンジニアはサポート頼みに陥ります。
D.強制的にアップデートしないといけない
現場でAWSのRDSであるMySQLのバージョン5.6のサポートが終わるとの事でドキドキした経験があります
込み入ったDBの関数とか特別な処理をしていなければ、そこまで問題ないと思います。
しかし、それでも、本番運用しているDBのバージョンアップはできればしたくないものです。
5.7に上げたのもいずれ数年後にはサポート廃止となることを考えると、いつか地雷を踏みそうな気がして仕方ありません。
Amazon RDS での MySQL のバージョン - Amazon Relational Database Service
公式ページを見ても分かるとおりメジャーバージョンの2世代しかサポートしてくれてないです。
新しいバージョンのMySQLも使えなければ、古くなったらサポートしないとかになるとサポートの範囲が狭すぎます。
これらの理由から気づかないうちにAWSを使えば使う程アマゾンにナレッジとお金が周り、使う側のスキルと資産がどんどん削られています。
さらに、AWSしかわからないインフラエンジニアが増えてAWSがマーケットを独占して国内ベンダーはどんどん縮小しています。
そういった残酷で悲惨な状況なのにもかかわらず気づいていないという悲劇が続いているのでカッコウの生態を例に挙げました
今まで説明してきたように合理的な理由でAWSを選択する事はないです。
しかし多くのエンジニアを魅了しています。
今まで理解できなかったのですが、なんとなく原因がわかってきたので、AWSの洗脳で紹介していきます。
バックエンド用語のクイズ集
https://programming.quigen.info/category/2/99/
登録日:
更新日: