プログラマでありたい

おっさんになっても、プログラマでありつづけたい

2019年の振り返りと2020年の目標

 あけましておめでとうございます。今年もよろしくお願いします。
毎年恒例の、昨年の振り返りと今年の目標です。2019年の主な活動は、出版2冊と雑誌寄稿1回、登壇7回です。あと、AWSにアンバサダーに選んでいただきました。

9,10冊目の本の出版


 9冊目の本として、初の資格試験対策本として、『AWS認定資格試験テキスト AWS認定 ソリューションアーキテクト-アソシエイト』を出しました。今までの技術書と少し勝手が違うので戸惑いましたが、試験に合格するというよりAWSを学ぶにはという観点でまとめ上げました。半年で1万冊以上、既に5刷目と凄い勢いで売れています。参考書という市場の意外な大きさと、AWSの力強さを実感することができました。

 10冊目の本として、人生初の同人誌である『AWSの薄い本 IAMのマニアックな話』を書きました。技術書典7に参加して、当日450冊、BOOTHで1千冊近く売れていて、今も毎日売れ続けています。この本は同人誌ということで、出版社・編集者の力を借りず、自分の力で企画となります。一人ですることにより、今まで如何にサポートされてきたのか実感できました。執筆だけでなく、編集や出版まで自分でやったという経験は中々得難いものになります。また、物販するのは楽しいですね。これは、別途BOOTHで販売して3ヶ月経過してどうなったのかという形でまとめようと思います。

booth.pm

 それ以外に、企画中・執筆中の本が何冊かあります。また、会社の同僚たちにも執筆する人が増えてきました。『徹底活用 Google アナリティクス』は評判もよく、自分の事のように嬉しいです。他にも執筆中の本があるので、今年も楽しみです。

雑誌寄稿


 2019年は1回、日経クラウドファーストに寄稿しました。Amazon Athena / Redshift Spectrumの特集です。ちょうど1年前の正月に必死に検証しておりました。最近、会社では自分で性能検証まですることが無いので、久々でよい経験でした。紙媒体としての日経クラウドファーストはなくなってしまったので、また別の媒体で書ければいいですね。

tech.nikkeibp.co.jp

登壇



 
 振り返ってみると自分としては意外な程、沢山の登壇機会を頂くことができました。JAWS関係だけでなく、出版つながりでリクルートスタッフィングなど新しい場で登壇でき、少し幅が広がったかなと思います。

www.itstaffing.jp

www.itstaffing.jp

jawsug-bgnr.connpass.com

jawsug-bgnr.connpass.com

jawsug-saitama.doorkeeper.jp

s-jaws.doorkeeper.jp

jawsug-chiba.doorkeeper.jp

2020年は、勉強会以外でも登壇できるように、いろいろ考えて活動していこうと思います。また、登壇関係の方も執筆と同様に、会社の同僚が出てくるようになっているので、活動が広がりを実感しています。

ブログ


 2019年は26本のみでした。2018年は18本だったので少し増えました。ただブログのアクセス数は202,257なので、前年比2017年は286,847ページビューと30%減です。登壇資料を載せただけのブログなど、報告ブログがメインだったのが反省点です。ちゃんと調べた記事やメッセージ性があるものについてはアクセスも来ているので、2020年は原点回帰してブログをちゃんと書いていきます。

f:id:dkfj:20200101190913p:plain

Japan APN Ambassador 2019ならびに2019 APN AWS Top Engineersになった

 2019年の特筆事項としては、Ambassadorになったことです。これはAWSに関する活動を認められて選ばれました。このように対外的な賞を取ったことがなかったので、素直に嬉しいです。一方で折角なって色々な機会が貰えるようになったのに、上手く活用できていないということも感じています。もう一段飛躍するために、アンバサダーという立場を上手く使っていきます。その前に、2020年も選ばれるように残り3ヶ月がんばります。

blog.takuros.net

2019年の目標に対しての採点


 2019年の目標は、これでした。

  • 本を3冊書く ⇒ △ 2冊書いて、他執筆中多数。書く習慣がなくなりつつあるので、ブログでペースを取り戻すことにします。
  • Kindle本を書く ⇒ ○ Kindle本ではないですが、同人誌書いてBOOTHで販売してるので合格とします。商業誌と別に書き続けます。 
  • ブログ ⇒ ☓ 24記事400,000ページビュー目標が、28記事で200,000ページビュー。ブログに執筆がやはり重要と解ったので、2020年はブログ書く習慣を戻します。 
  • 英語ブログ ⇒ ☓ 全く手がつかず。英語は2020年のテーマの一つなので頑張る
  • 資格試験 ⇒ △ スペシャリティのビッグデータと機械学習、あとはクラウドプラクティショナー取りました。2019年中に全部取りたかったので、2020年に実現します
  • ワークバランス ⇒ ○ 平均残業時間10時間未満。ただ家に帰るのが遅いのは何で?
  • 健康 ⇒ △ 平均歩数は達成、睡眠時間と体操は全然だめ。睡眠時間は昼寝を取り入れるとか、何か他の方法を考えるか?
  • 3つ目の分野 ⇒ ○ データ分析基盤について、少し語れるようになってきたと思います。
  • 将棋1級 ⇒ △ 2級止まり。あえて定石勉強せず、打つだけで上達するか試してました。自然と勝率は上がってるので、2020年はちゃんと勉強して一気にレベルアップ目指します。

2020年の目標



  • 本を3冊書く ⇒ 執筆期限が過ぎた大量の受注残を粛々と書いていきます。ご迷惑をおかけしてすいません。
  • Kindle本を書く ⇒ IAM本、夏過ぎくらいにKindle化しようと思います。 
  • ブログ ⇒ 分量少なめのものと大作含めて、どんどん書いていきます。今年こそ40万ビュー 
  • 英語ブログ ⇒ grammarly使って、英語書く練習します。 
  • 資格試験 ⇒ Alexaとネットワーク取って、3月までに11冠目指します。ベータ版のデータベースは見ないふりします。
  • 英語 ⇒ アンバサダーなって英語の必要性が高まりました。勉強方法はどうするかはおいておいて、勉強再開します。とりあえず指標として解りやすいTOEICでも受けてみます。まずは800点かな

まとめ



 いつもの座右の銘を貼って、自分への戒めとしておきます。

f:id:dkfj:20180616105436j:plain

※田舎に貼ってた張り紙です


See Also:
2018年の振り返りと2019年の目標
2017年の振り返りと2018年の目標
2016年の振り返りと2017年の目標
2015年の振り返りと2016年の目標

re:Invent Dr. Werner Vogelsキーノートの感想

Andy Jassyのキーノートに続き、Werner Vogelsのキーノートの発表です。Andyのキーノートは主にビジネス的な観点からAWSの凄いところとか新サービスの発表がされます。これに対してWernerの発表は、技術的な観点でAWSはどうなってるのかの説明です。で、新規のサービス発表は例年ほとんどなく、今年はほぼ全くなかったです。なので、私が印象に残ったトピックスとその感想を語るという形式でまとめてみました。

AWS Nitro System

 日本ではニトロと呼ばれていますが、こちらでは"ナイトロ"です。そこのところ、宜しくおねがいします。
f:id:dkfj:20191206125008j:plain

今年re:InventでNitro関係の説明を受けるまで、NitroってのはXenに取って代わった、AWS独自のハイパーバイザーでec2周りだけのものかと思っていました。しかし、ストレージやネットワークを含む中核的なサービスだったということを初めて理解しました。より理解を深めるために、もう少し調べてみます。
f:id:dkfj:20191206125026j:plain

コンテナの話

 FargateやLambdaの裏側で動いているFirecrackerのアーキテクチャの解説がありました。AWSが継続的に相当の投資をして、進化していっているのが見て取れました。象徴的だったのが、ec2と比べてFargateはいかに負荷に応じてスケールアウトできるかというスライドです。システムをうまく作れば、ほぼリアルタイムにリソースを調整できるようです。

f:id:dkfj:20191206125824j:plain

 これを聞きながら考えたらのは、やはりコンテナファーストを前提に考えないということです。昨日聞いた別のセッションで、初期のAWS移行時の作り方はリフト(そのまま持っていく)が7割でシフト(クラウド最適化)が1割とのことです。ここで言うリフトはRehostの他に、Replatformも含まれています。ReplatformというのはOSのバージョンアップ等を含め多少手を加えてという意味です。もう意識的には、Replatformはコンテナ移行まで含めるくらいの感じでやればいいんじゃないのと思っています。
 あとKubernetes(k8s)使うか問題です。個人的な結論としては、EKSじゃなくて素のECSでいいだろうと考えています。そしてECSはec2じゃなくてFargateベースで。コンテナ自体に可搬性があるので、その下のオーケストレーションツールは、後方互換性が高いものを優先にすれば良いだろうと。AWSは、後方互換性については充分信頼に足ります。システム自体を他のクラウドに移行することは殆どないので、マルチクラウド戦略のためのk8sの優位性より運用の楽さを選んでしまっても良いと考えました。

Physalia

 そして割と唐突に紹介されて何のことか解らなかったのが、Physaliaです。Physaliaは、カツオノエボシです。
f:id:dkfj:20191206132345j:plain

 これは実はEBSの内部的なアーキテクチャの解説でした。EBSは利用者からみたら単なる外部ストレージですが、内部的には分散型のマイクロデータベースとなっているとのことです。投票システムなど数学的なバックグランドをもって設計しているのが垣間見れました。
 今のEBSは、びっくりするぐらい信頼性の高いストレージサービスです。もちろんバックアップ前提で運用する必要がありますが、それを忘れそうになるくらいに。でも、EBSが出た当初は、AWSの大規模障害の殆どがEBSだと言えるくらいに、かなりの頻度で障害が発生していました。当時はEBSは生のハードウェアに近いシステムなので障害発生しやすいものかと思っていましたが、それをここまで持ってきたというのに気が付き、改めてAWSの凄さを再認識しました。
 ちなみに、最初期のec2はEBSがなくエフェメラルストレージのみでした。その話しをすると、どうやって使ってたのですかとびっくりされます。皆さん、想像してみてください。

Amazon Builders' Library

 新規で発表されたのがAmazon Builders' Library。これAWSのサービスという訳ではなく、いわゆるクラウド・デザイン・パターン(CDP)です。いろいろなパターンのサービスを、AWSのサービス等を使ってどのようにシステムを作っていくか丁寧に解説されています。超絶オススメで私もしっかりと読んでいこうと思います。欲を言うならば、もう少し画像多めにしてほしかったw

f:id:dkfj:20191206130942j:plain

 ちなみにCDPの概念、日本のAWS界隈では昔からあります。AWS Japanの創成期のメンバーである玉川さんと片山さん、そしてcloupackのCTOの鈴木さんがNinja Of Three として活動し、ユースケースごとに様々なデザインパターンを作り出してまとめられていました。2012年のre:Inventでも発表されています

www.youtube.com

 そして、『Amazon Web Servicesクラウドデザインパターン設計ガイド』として書籍化されています。これ10年前くらいからの活動なので、日本のエンジニアが10年先をいってたなぁと感慨深いものがありました。

感想

 Werner Vogelsのキーノートを聞くと、アーキテクチャの話だけで数万〜数十万の前で話すの凄いなぁと毎回感心します。ちゃんと聞いているとAWSへの理解が深まり、どういう風に設計すればよいのか解ります。キーノートはもう既にYoutubeで公開されているので、ぜひ見てください。Youtubeの機能で英語の字幕が自動生成されるので、英語の勉強しながら見れますよ

www.youtube.com

See Also:

re:Invent2019 AWSの新サービスの1行所感 Andy Jassyキーノート - プログラマでありたい

IAMのマニアックな話も絶賛発売中です

booth.pm

re:Invent2019 AWSの新サービスの1行所感 Andy Jassyキーノート

2019年12月2日〜6日までアメリカのラスベガスでAWSの最大のイベントであるre:Inventが開催中です。今年も自分なりの解釈で1行所感をつけていきます。まずは、12/3のAndy Jassyのキーノートで発表したものです。
※1行の定義はなんだという問には答えません。

CPU&インスタンス

AWSが独自設計したCPU、"Graviton2 processors"を使った新インスタンスタイプM6g,R6g,C6g。Intelの新インスタンスの発表なかったから、CPUも内製化の方向なのかな?

aws.amazon.com


機械学習向けのインスタンス Inf1。めっちゃ速いって

aws.amazon.com

ネットワーク

新サービスと出ているが、紹介もされなかった悲しいサービスたち
aws.amazon.com


AWS Transit Gateway Multicast
マルチキャスト。ネットワーク監査等にも使えるのか?Multicastと聞いて、反射的にOracle RACを作ろうとしないように

AWS Transit Gateway Inter-Region Peering
待望のリージョン間のTransit Gateway ※ただし、東京リージョンは除く(現時点では)

AWS Accelerated Site-to-Site VPN
VPC間をVPNでつないでくれるのでしょうね

AWS Transit Gateway Network Manager
モリタリング系のサービスなんでしょう。

EKS on Fargate

今回のサービス予想の中で、たぶん単勝1番人気。順当に出てきました
aws.amazon.com

S3 Access Points

S3のエンドポイントを任意につくるサービス。ありそうで無かったけど、一度出るとRoute53のように当たり前に使われる存在になりそうな予感

aws.amazon.com

Amazon Redshift RA3 nodes with managed storage

マネージドストレージ付きのRedshift。どんどんAuroraのようになってきている。最後はAuroraがRedshiftを飲み込むのか?それとも

aws.amazon.com

Advanced Query Accelerator (AQUA) for Amazon Redshift

(Mountain Viewの方を見ながら)他のDWHに比べて10倍早くなるよと。BigQueryの対抗馬になれるか?

https://pages.awscloud.com/AQUA_Preview.html

Announcing UltraWarm for Amazon Elasticsearch Service

ユニクロじゃないよ。ストレージ(EBS)の暖気が不要に

www.uniqlo.com

Amazon Managed Apache Cassandra Service (MCS)

鬼の哭くシステム Cassandraのマネージド・サービス。日本では既に撤退済みが多いような気がするが、歓声が多かったのでアメリカには鬼が多いようだ。

aws.amazon.com

SageMaker 怒涛のリリース

Amazon SageMaker Studio

ML向けのIDE

aws.amazon.com


Amazon SageMaker Notebooks

Jupyter Notebookあるけど、SageMaker Notebooks出すって。とりあえずNotebookインスタンスが不要で、Jupyter Notebookがすぐに使えるようになるサービス。それ以外にも、ドンドン拡張される予感

Amazon SageMaker Processing

特徴エンジニアリングを勝手にやってくれるっぽい

aws.amazon.com

Amazon SageMaker Experiments

モデル・トレーニングの改善

aws.amazon.com


Amazon SageMaker Debugger

デバッグも必要ね。ありまっせ

aws.amazon.com

Amazon SageMaker Model Monitor

もちろんモデルのモニタリングも出来ます

aws.amazon.com


Amazon SageMaker Autopilot 自動のモデル作成・可視化

ここまでやったら、一連の作業を全部おまかせでやりますよ。そうSageMakerならね。GCPのCloud AutoMLを相当意識していそう

aws.amazon.com

結論
データサイエンティストと名乗っている人の半分くらいを殺しにきてると思いました。

Amazon Fraud Detector

リアルタイムの不正検知。これも特化型のサードパーティのサービスを殺しそう

aws.amazon.com

AWS CodeGuru

個人的に今回の発表で一番熱いサービス。MLを使ってコードの改善をして貰える。単なる静的解析ではなく、効率的なコードのサジェストも。Pull Req時のレビューもしてくれるので、これで喧嘩は起こらなくなるか?

aws.amazon.com

Contact Lens for Amazon connect

Amazon Connectのリアルタイムの通話分析&可視化。振り込め詐欺業者を撲滅できる?

aws.amazon.com

Amazon Kendra

エンタープライズの検索サービス。色々なサービスと連携し、自然言語処理・AIを駆使して最適な文章を探してくれる。単純な検索サービスではなくて、サポートディスク機能と考えるべきか

aws.amazon.com

AWS Outposts

GA(正式サービス)化!!でも、これは社内のオンプレサービスを駆逐するものじゃないからね。もっと先に行っている人たちが使う神々のオンプレだよ

aws.amazon.com

気になるお値段はこちら!!一家に一台どうですか?最低3年契約だからね

aws.amazon.com

AWS Local Zone

もっとあなたの近くでAWS!!概念は解るけど、何者かよく解らないので誰か教えて

aws.amazon.com

AWS Wavelength

あなたの5G回線からもAWS。提携しているキャリアのエッジポイントからAWSのリソースを5Gで使えるようにするよと。KDDIもやるってさ。この辺の難しい話をまとめたのは、もしかしてSORACOMのCEO&CTOコンビ?

aws.amazon.com

感想

機械学習&それを使ったサービスの目白押しですね。SageMakerが熱いし、CodeGuruが楽しみ。
個人的には、昨日発表されたAWS IAM Access AnalyzerとAmazon S3 buckets using Access Analyzer for S3のお陰で、IAM本を書き換えねばとなっています


IAMのマニアックな話も絶賛発売中です

booth.pm

JAWS-UG 千葉支部 Vol.7でAWSアカウントのセキュリティに話をしてきました

 全国埼玉化計画の一環として、先週開催されたJAWS-UG 千葉支部でセキュリティの話をしてきました。IAMのマニアックな話を書いて以来、IAMでちゃんと設定していても、それだけだとカバーしきれない部分があり、じゃぁどうやってAWSアカウントのセキュリティを守るのというのを考えています。その一端をご紹介させて頂きました。
 ちなみにJAWS-UG 千葉支部は、3年ぶりの再開です。私も、東京で開催された千葉支部には参加させて頂いたことはあったのですが、千葉開催回は初めてでした。

f:id:dkfj:20191127104352j:plain

発表した内容

 発表した内容は、IAMに加えてCloudTrail, Config, GuardDuty, SecurityHub, ControlTowerなど、AWSのセキュリティを支えるツールの紹介です。これをどうまとめるのか、いろいろ試行錯誤していますといった話をしていました。何となく形は見えているので、パターン化やテンプレート化を進めていこうと考えています。

speakerdeck.com

Togetterまとめ

 当日の様子はTogetterを見てください。多数のツイートが飛び交って、よい回だったと思います。

togetter.com

アスキーの記事になっていた

 そして、なんとこの回がアスキーさんの記事になっておりました。記者の方がいるとは知らず、びっくりしました。こうやって形になるの良いですね。

ascii.jp

感想

 IAM要素をもう少し減らして、セキュリティーサービスよりの話を増やせばよかったかなとも思いますが、終了後にいろいろIAMについての質問等を受けてよかったと思います。そして宣言してしまっている、IAM本の続きはセキュリティサービスの活用をテーマに技術書典8で発表予定です。乞うご期待!!

IAMのマニアックな話も絶賛発売中です

booth.pm

Security JAWS 第15回でIAMの設計をテーマに登壇してきました

11月11日と非常に並びの良い日に、Security JAWSに登壇してきました。テーマはIAMの設計で、技術書典7で頒布したAWSの薄い本 IAMのマニアックな話がご縁で、お声がけ頂きました

 

発表内容

  趣旨としてはこういう設計をすれば良いというのではなく、全体像が解るように分類・言語化しながら、その組織に最適な設計・運用方法に落とし込んでいけば良いという事をお伝えしました。

speakerdeck.com

Next Action

 発表中にも少し言及しましたが、今のAWS構築はIAMロールの設計が必須となりつつあります。そうなると、開発者に与える権限は必然的にIAMの権限が必要となり、管理者権限を与えるのと同じになります。こうなると管理が非常に悩ましくなり、IAM単体では解決できない問題になります。マルチアカウント化、AWSのサービスを活用してのセキュリティ担保など、取り組むべきことが沢山あります。
 今、自分の中で要素要素のアイデアがあるので、ここいらで一度言語化しようと思っています。

11/23に開催されるJAWSUG千葉で発表予定なので、お時間の都合が付く方は是非お越しください。
jawsug-chiba.doorkeeper.jp

他の登壇者の発表

 クラメソの臼田さんがリアルタイムにレポートまとめておられました。席が横だったのですが、凄いの一言です。発表者の中で、亀田さんのブロックチェーンについては脱帽でした。純粋なテクノロジーの領域で、自分はここまでの深みに達すること出来ないなぁと実感しているので、この先生きのこる道探していきますw

dev.classmethod.jp

感想

 他の登壇者の方々はセキュリティの専門家という中での登壇だったので、非常にプレッシャーを感じました。利用者目線での情報の提供は出来たのではないかと思いますが、解らんという部分についてはお気軽にメッセージください。あと毎度の宣伝ですが、今回話した内容についてはBOOTHで絶賛発売中の『AWSの薄い本 IAMのマニアックな話』にまとめています。

takuros.booth.pm

JAWS-UG さいたま支部でIAMのマニアックな話のLTをしてきました

2019年10月26日に開催されたJAWS-UG さいたま支部でIAMのマニアックな話のライト版のライトニングトークをしてきました。さいたま支部ですが、開催場所は東京の王子。全国埼玉化計画の強い意志を感じました。

jawsug-saitama.doorkeeper.jp

登壇資料

 LTということで、5分間の短縮版です。BOOTHで絶賛発売中の『AWSの薄い本 IAMのマニアックな話』のエッセンスをお伝えしてきました。
speakerdeck.com

IAMの設計を言語化したい

 ところで何でIAMだけの本を書いたかというと、IAMの設計の考え方を言語化したかったからです。いろいろな方に指摘して頂いている通り、IAM本はマニアックな内容というよりベーシックな内容にまとめています。これまで、おそらく10年以上IAMの設計をしてきました。もちろん細かい設計も大事ですが、それ以上に大きな設計方針が大事だと思っています。この設計方針というのは、使う環境によって多少の差異はあるものの、原理原則として使えるものではないかと思っています。
 そんな訳で言語化したものがIAMのマニアックな話です。LT枠だったのであまり詳しいことは話せなかったのですが、11/11のSecurity JAWSでもう少しちゃんと説明しようとおもっています。リモート枠もあるので、お気軽にご参加ください

booth.pm

『JAWS-UG初心者支部#20 JAWSなアウトプットのススメ!』に登壇しました

 2019年10月23日に開催された『JAWS-UG初心者支部#20 JAWSなアウトプットのススメ!』にLTで登壇してきました。実はこれ、上手なアウトプットとJAWSに掛けてるのですよ。みなさん、気が付きましたか?私は全く気がついていませんでした。

当日の登壇資料

 今回はAWSの技術の話ではなく、アウトプットがテーマです。私も自己流のアウトプット法について、5分間のお話させて頂きました。

speakerdeck.com

 時間の関係で資料には入れませんでしたが、モチベーションを支えるための手段にお金の直接的なメリットがあっても良いのではと思います。私もブログ始めた当初、Amazonのアフィリエイトリンクを貼って、どのように書けばより読まれて売上につながるのかとか研究しました。
※今も基本的に必ず貼っています

当日のスケジュール

 当日のスケジュールは、次のような感じでした。

時間 内容 登壇者
19:00-19:05 会場諸注意/初心者支部とは/テーマ説明 JAWS-UG 初心者支部運営 武田
19:05-19:35 セッション①:AWS流アウトプットの秘訣 AWSJ 舘岡 守さん
19:35-20:05 セッション②:LTのコツと心得 森川晃さん
20:05-20:10 休憩 -
20:10-20:40 パネルディスカッション:JAWSの運営コアメンバーから初心者にお届けするJAWSなアウトプットについて モデレーター:AWSJ沼口さん 各支部運営:Security-JAWS大竹さん X-Tech JAWS吉江さん Fin-JAWS釜山さん CLI専門支部波田野さん
20:42-20:47 LT:誰でもできる簡単なアウトプット法!!IAMのマニアックな話に添えて 佐々木拓郎
20:47-20:52 LT:意識低いインプットでもできるアウトプット 近藤佑子さん
20:52-20:57 アンケート回答 -

 個人的には、森川さんの発表内容が凄すぎて圧倒されていました。アウトプットの仕方をセオリー化していて、素晴らしかったです。Connpassにて資料も公開されていますので、ぜひ読んでみてください。

感想

 JAWSという場で技術ではなくアウトプットをメインのテーマにするという少し変わった取り組みでした。初心者の方には、少し面食らうのではと懸念しておりましたが、懇親会でお話伺ってると自分も登壇してみたいという方が多数いらっしゃいました。今はもう慣れましたが、自分が登壇してみてと言われると絶対ムリと答えてたと思うので、みんなモチベーション凄いなと思います。
 アウトプットの手段は人それぞれで良いと思いますがが、どんな手段にしろ必ず自分の為になります。ぜひ皆さん、一歩乗り越えて挑戦してみましょう。