2018ラスベガス2日目
今日はワークショップ、セッション等に出た。
カンファレンス飯、1mmも期待してなかったのだが正直おいしかった。普通にホテルビュッフェだった。AWSありがたい。
お昼ご飯はホテルビュッフェでおいしかったです pic.twitter.com/vFgvJUQYVr
— hokkai7go (@hokkai7go) November 27, 2018
今日のよかったこと
- workshopでcognitoやAWS Secrets Managerを触れたこと
- https://github.com/aws-samples/aws-serverless-security-workshop をなぞりながら、不明点を聞いたり話しながら解決できたりした
- ちょっと英語慣れしてきた気がする
- 今日は新発表をいくつか聞けたこと
晩ごはんは、同僚の知り合いとごはんに行ったんだけど軽くつまむつもりが大変なことになり、これがアメリカか…となった。
Denny's で軽くつまむはずが超ヘビーになっておもしろ体験でした pic.twitter.com/S5FYIDTTad
— hokkai7go (@hokkai7go) November 27, 2018
明日も早いので寝よう
2018ラスベガス1日目
re:Invent 2018参加のためにラスベガスに来ている。アメリカ本土はRubyConfのマイアミ以来だと思う。
いくつかよかったことがあったのでメモしておく。
- まずは無事に着いて入国できたこと。これが一番
- 普段のシャンプーを持ってきたこと。泡立ちとか匂いとかわりと癒しですね
- まずはおいしい肉を食べて食生活をスタートしたこと
肉うまかったー。マッシュポテト多すぎ!w (at @Outback Steakhouse in Las Vegas, NV) https://t.co/glJxyzZoJj pic.twitter.com/0tvB33y1Xe
— hokkai7go (@hokkai7go) November 26, 2018
Outback Steakhouseなら日本にもあるじゃんとか言われそうだけど、おいしかったから良し。
気圧調整付きの耳栓が機内でも平地でも使えて便利でありがたいのだが、ずっと装着していると耳の穴が痛痒いのが問題だなぁと思う。
さてもっかい寝よう
清澄白河シェアハウスの募集終了について
以前、こちらのブログにて募集をしておりました弊シェアハウスの同居人ですが、めでたく二名見つかりましたので募集を停止しています。ありがとうございました。
AWS CDKによるdeployの前に、cdk diffやsynthのレビューを行うのが運用上よいのではないかという話
前置き
CDKについて
AWS CDK使っていますか? 知っている人は適当に読み飛ばしてください。知らない人は全部読んでいってください。
これですこれ。 github.com
Welcome — AWS Cloud Development Kit
CloudFormationでJSON書くのはなかなかしんどく、いい感じにJSON出力してくれるものが出ないかなぁと思ってはいましたが公式で出てきて、わっしょーいという感じです。しかも、TypeScript、JavaScript そして Javaで記述可能ですし、.NET と Python も近々公開されるとか。
AWS CDKの使い方については、公式リポジトリの /examples/cdk-examples-typescript 以下が参考になりますね。既存リソースの import もできますね。
aws-cdk/examples/cdk-examples-typescript at master · awslabs/aws-cdk · GitHub
CDKでの開発について
AWS CDKは、まだ正式リリースではないのですが、stagingの構築等で使っている方も結構いそうな気がします。 意図しない変更が本番に反映されるのは嫌なので、インフラの人とか開発チーム内でレビューするのが良さそうです。
ちょうど、CDKには cdk synthというコマンドがありCloudFormationのJSONを出力してくれます。
こうしたサンプルを食わせると
import cdk = require('@aws-cdk/cdk'); import s3 = require('@aws-cdk/aws-s3'); class MyStack extends cdk.Stack { constructor(parent: cdk.App, id: string, props?: cdk.StackProps) { super(parent, id, props); new s3.Bucket(this, 'MyFirstBucket', { versioned: true }); } } class MyApp extends cdk.App { constructor() { super(); new MyStack(this, 'hello-cdk'); } } new MyApp().run();
こうしてJSONを出力します。
cdk synth Resources: MyFirstBucketxxxxx: Type: AWS::S3::Bucket Properties: VersioningConfiguration: Status: Enabled CDKMetadata: Type: AWS::CDK::Metadata Properties: Modules: "@aws-cdk/aws-codepipeline-api=0.15.2,@aws-cdk/aws-events=0.15.2,@aws-c\ dk/aws-iam=0.15.2,@aws-cdk/aws-kms=0.15.2,@aws-cdk/aws-s3=0.15.2,@aws-c\ dk/aws-s3-notifications=0.15.2,@aws-cdk/cdk=0.15.2,@aws-cdk/cx-api=0.15\ .2,hello-cdk=0.1.0"
diffとして出すこともできます。 蛇足ですがdiffの仕組みがどうなってるのか、複数人でCDKで開発したときにどうなるのか。Terraformのようにstateファイルがないのに、はて…。となっています。調べてわかったら記事を書くかもしれません。
cdk diff [~] 🛠 Updating MyFirstBucketxxxxx (type: AWS::S3::Bucket) └─ [-] .BucketEncryption: └─ Old value: {"ServerSideEncryptionConfiguration":[{"ServerSideEncryptionByDefault":{"SSEAlgorithm":"aws:kms"}}]} [~] 🛠 Updating CDKMetadata (type: AWS::CDK::Metadata) └─ [~] .Modules: ├─ [-] Old value: @aws-cdk/aws-codepipeline-api=0.15.2,@aws-cdk/aws-events=0.15.2,@aws-cdk/aws-iam=0.15.2,@aws-cdk/ aws-kms=0.15.2,@aws-cdk/aws-s3=0.15.2,@aws-cdk/aws-s3-notifications=0.15.2,@aws-cdk/cdk=0.15.2,@aws-cdk/cx-api=0.15.2 └─ [+] New value: @aws-cdk/aws-codepipeline-api=0.15.2,@aws-cdk/aws-events=0.15.2,@aws-cdk/aws-iam=0.15.2,@aws-cdk/ aws-kms=0.15.2,@aws-cdk/aws-s3=0.15.2,@aws-cdk/aws-s3-notifications=0.15.2,@aws-cdk/cdk=0.15.2,@aws-cdk/cx-api=0.15.2,he llo-cdk=0.1.0
本題
前置き長かったですね。cdk synthコマンドでのCloudFormationのJSONや、cdk diffコマンドの出力結果をプルリクエストに添えたら便利だと思いませんか。適当なラッパースクリプトを叩いたらcdk synth, cdk diffを行い、その結果をプルリクエストに簡単にくっつけられる。そんな仕組みを作ったらInfra as Codeが加速し、DevとOpsとの境目はもっとゆるふわになるのではないか。そう思って、記事を思いつきで書いてみました。
- インフラエンジニアとしては、既存リソースへの影響範囲を変更前に知ることができる
- アプリケーションエンジニアとしては、コードやJSON、diffでインフラエンジニアと対話する手段を得ることができる
- しかもこれについてのコードレビューや会話をGitHub上で行うことができる。
ということで早く正式リリースされてほしいですね。現段階では、ドキュメントに書いてある内容が間違っていることもあるのでコントリビューションチャンス!という気がします。
「エンジニアのためのマネジメントキャリアパス」を読んだ感想
上記の本を読んだ。
感想
キャリアをスタートし、誰かにマネジメントされるところから経営幹部に至るまでを丁寧に解説していた良書だと感じた。これまでエンジニアとして働き、上司にマネジメントされるなかで感じていた腹落ちできていないことについても考えを整理するのに必要なだけのインプットをもらうことができた。
特に強く印象に残ったところ
良い悪いに関わらず上司からのフィードバックはきちんとメモしておいて、自己評価を書く際に活用しましょう
これは忘れがちでなかなか実践できない。slackの分報やプライベートメッセージにメモしておくのが良いと思われる。これをうまく実践できると評価面談のための資料を作るときに役立つ。
学習や成長に役立つプロジェクトを見定め、それを担当させてくれる上司は最高
わかる。それな。後輩とかがどんなプロジェクトを受け持つかというのも、この上司視点で見るととても示唆がある。その上司と担当させた理由について個別に話すのも良い体験になる。マネジメントのための素振りだと僕は思っている。
優秀なテックリードになるためのコツ、実際のプログラミングの作業からあっさり一歩引き、技術面での貢献とチーム全体のニーズへの対応のバランスを取る努力を惜しまない
テックリードの果たすべきプロジェクトプランナーとしての役割は、作業をデリバリ可能な単位に大まかに分割するというもの
なるほどねと思った。この本のおかげで、テックリが何をするのかをわかってきた気がしてありがたい。
ブリリアントジャーク(brilliant jerk)「エンジニアとしては格別に優秀だが、実に嫌なやつ」
ここでは多くを語らないけど、みんな読んでおくと良いと思った。まさにこの通りじゃん、という経験があり、いやはやひどかったですねと思わざるを得なかった。
最後に。割とこういう状況見たことがあるけども、本書では辛辣な感じに書いてあった。
「取締役会のテーブルに席がなく、会社の直面する事業上の難問を把握していないCTOに、技術部門を主導してそうした難問を解決することなどできるはずがありません。」
— 禁酒0日目 (@hokkai7go) November 6, 2018
とのこと。エンジニアのためのマネジメントキャリアパスより
くるりとハンバートハンバート見てきた
「タワーレコード新宿店20周年祭 LIVE~FUTURE OF BASIC~」くるり!ただいま終了しました。お越しいただいたみなさまありがとうございました! pic.twitter.com/19eM9cw9Je
— くるり Official (@qrlinfo) November 3, 2018
ステージ上では2組が一緒にいるところをお見せ出来ませんでしたが、バックステージではくるりのみなさんといっぱいおしゃべりしておりました。お久しぶりだったので積もる話だらけでしたね。#タワレコ新宿20祭 pic.twitter.com/oGen5FE2WD
— ハンバートハンバート (@humbert_info) November 4, 2018
こういうライブがあり、くるりもハンバートハンバートも好きだし、元アイドルネッサンスの原田珠々華さんも出るので見てきた。
ハンバートハンバートはライブ見ると楽しいだろうなという想像どおりでよかった。想像以上にほんわかした気持ちになれた。くるりの曲を2曲ほどやってたのもよかったな。すごいぞ、あの夫婦。
くるりは、東京、ブレーメン、ソングライン、東京OPなどときて、アンコールでロックンロールだった。松本さんとか、しげるのギターソロ良すぎた。前回行ったときは、ハイネケン(後にソングラインという曲になった)のギターソロに悶絶したことを覚えている。
アンコールでハンバートハンバートとコラボしないかなと少し期待したのだが、さすがにそれはなかった。
うっかりチケット取った割には大満足だった。