実はhokkai7go

hatenablogに移行しまんた

2018ラスベガス2日目

今日はワークショップ、セッション等に出た。

カンファレンス飯、1mmも期待してなかったのだが正直おいしかった。普通にホテルビュッフェだった。AWSありがたい。

今日のよかったこと

晩ごはんは、同僚の知り合いとごはんに行ったんだけど軽くつまむつもりが大変なことになり、これがアメリカか…となった。

明日も早いので寝よう

2018ラスベガス1日目

re:Invent 2018参加のためにラスベガスに来ている。アメリカ本土はRubyConfのマイアミ以来だと思う。

いくつかよかったことがあったのでメモしておく。

  • まずは無事に着いて入国できたこと。これが一番
  • 普段のシャンプーを持ってきたこと。泡立ちとか匂いとかわりと癒しですね
  • まずはおいしい肉を食べて食生活をスタートしたこと

Outback Steakhouseなら日本にもあるじゃんとか言われそうだけど、おいしかったから良し。

気圧調整付きの耳栓が機内でも平地でも使えて便利でありがたいのだが、ずっと装着していると耳の穴が痛痒いのが問題だなぁと思う。

さてもっかい寝よう

清澄白河シェアハウスの募集終了について

以前、こちらのブログにて募集をしておりました弊シェアハウスの同居人ですが、めでたく二名見つかりましたので募集を停止しています。ありがとうございました。

https://hokkai7go.hatenablog.jp/entry/2018/10/01/004740

AWS CDKによるdeployの前に、cdk diffやsynthのレビューを行うのが運用上よいのではないかという話

前置き

CDKについて

AWS CDK使っていますか? 知っている人は適当に読み飛ばしてください。知らない人は全部読んでいってください。

これですこれ。 github.com

Welcome — AWS Cloud Development Kit

aws.amazon.com

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上で行うことができる。

ということで早く正式リリースされてほしいですね。現段階では、ドキュメントに書いてある内容が間違っていることもあるのでコントリビューションチャンス!という気がします。

「エンジニアのためのマネジメントキャリアパス」を読んだ感想

www.oreilly.co.jp

上記の本を読んだ。

感想

キャリアをスタートし、誰かにマネジメントされるところから経営幹部に至るまでを丁寧に解説していた良書だと感じた。これまでエンジニアとして働き、上司にマネジメントされるなかで感じていた腹落ちできていないことについても考えを整理するのに必要なだけのインプットをもらうことができた。

特に強く印象に残ったところ

良い悪いに関わらず上司からのフィードバックはきちんとメモしておいて、自己評価を書く際に活用しましょう

これは忘れがちでなかなか実践できない。slackの分報やプライベートメッセージにメモしておくのが良いと思われる。これをうまく実践できると評価面談のための資料を作るときに役立つ。

学習や成長に役立つプロジェクトを見定め、それを担当させてくれる上司は最高

わかる。それな。後輩とかがどんなプロジェクトを受け持つかというのも、この上司視点で見るととても示唆がある。その上司と担当させた理由について個別に話すのも良い体験になる。マネジメントのための素振りだと僕は思っている。

優秀なテックリードになるためのコツ、実際のプログラミングの作業からあっさり一歩引き、技術面での貢献とチーム全体のニーズへの対応のバランスを取る努力を惜しまない

テックリードの果たすべきプロジェクトプランナーとしての役割は、作業をデリバリ可能な単位に大まかに分割するというもの

なるほどねと思った。この本のおかげで、テックリが何をするのかをわかってきた気がしてありがたい。

ブリリアントジャーク(brilliant jerk)「エンジニアとしては格別に優秀だが、実に嫌なやつ」

ここでは多くを語らないけど、みんな読んでおくと良いと思った。まさにこの通りじゃん、という経験があり、いやはやひどかったですねと思わざるを得なかった。

最後に。割とこういう状況見たことがあるけども、本書では辛辣な感じに書いてあった。

くるりとハンバートハンバート見てきた

 

 

 

こういうライブがあり、くるりハンバートハンバートも好きだし、元アイドルネッサンス原田珠々華さんも出るので見てきた。

 

ハンバートハンバートはライブ見ると楽しいだろうなという想像どおりでよかった。想像以上にほんわかした気持ちになれた。くるりの曲を2曲ほどやってたのもよかったな。すごいぞ、あの夫婦。

 

くるりは、東京、ブレーメン、ソングライン、東京OPなどときて、アンコールでロックンロールだった。松本さんとか、しげるのギターソロ良すぎた。前回行ったときは、ハイネケン(後にソングラインという曲になった)のギターソロに悶絶したことを覚えている。

 

アンコールでハンバートハンバートとコラボしないかなと少し期待したのだが、さすがにそれはなかった。

うっかりチケット取った割には大満足だった。

うっかりはじめての沖縄に行ってきたが、普通の沖縄旅行とは全く違って最高だった

沖縄に初めて行ってみた。

実は今回の数週間前にも沖縄行きの航空券を取っていたのだけど、台風で払い戻しになったのだった。

RIMG0717

 

全く関係ないけど、新木場あたりに新しい競技場的なやつを建設している様子が気になった。アクアなんたらなので水に関連するらしい。

RIMG0718

 

スッ

RIMG0729

 

 

来年JAL修行をやろうとおもっていて、そのための下見(乗るのしんどくないかとか)だった

19時に着いて翌日10時の飛行機で帰る弾丸ツアーというのが1つ目のおかしいポイント

もう1つは、那覇市に全く降り立たなかったこと

多分普通は那覇市とか国際通りとか、リゾートとかショッピングモールとか行くんだろうけど、今回はそんな要素は微塵もなかった。

 

ブレていて、モザイクを掛ける必要がないのが良い

RIMG0745

 

ギークハウス沖縄に泊まるため、沖縄市に直行したのだが、実際すごくディープでよかった。

アメリカ、音楽あたりの文化のミックスによってディープさを増していた。嘉手納基地の入り口から、続々と繁華街へと伸びる人々のまばらな列があって、彼らがここの文化を作っている一端であることがあとでわかった。地元の北海道や、東京では見ることのない様子をたくさん見ることができて、来てみてよかったと感じた。いろいろあるんだなということもわかった。

 

息があっていてとてもよかった人たち。

IMG_20181027_224128

 

 

この日は結局2時過ぎまで飲んでいたが、良い雰囲気のバーで飲んだバナナモヒートがとてもよかった。Bobby'sというバーでの体験すべてがよかった。ぜひまた行きたい。

IMG_20181028_001411

 

「友アリ遠方ヨリ来タル」的なやつは、受け入れる側でも訪ねる側でもどんどんやっていきたい。ここを読む友人で2019年以降、京都に来る人がいたらぜひとも一報をほしい。行ったことがない土地にはどんどん行ってみよう。

 

蛇足だけど、OKA(那覇空港)といえばR18/36の一本というのが、ぼくは航空管制官シリーズから得た知識だったのだが滑走路増設の様子を離陸直後に撮影することができた。大規模建造物好きとしてはとてもアツい。

RIMG0782