革命のブログ

フレボワークスの社員がブログを通じて情報発信します。

AWS Dev Day Tokyo 2019に参加してきました

どうも、小野です。

2019/10/3~2019/10/4の2日間で開催されたAWS Dev Day Tokyo 2019の2日目に参加してきました。

場所は、「神田明神ホール」というところで、2018年12月に神田明神に増設されたイベント会場でした。 スカイツリーをバックに神田明神ホールから撮りました。

f:id:frevo-works:20191007124100j:plain

myoujin-hall.jp

正直、2018年に開催された目黒セントラルスクエアのほうが良かったです。

イケてなかった点を挙げてみます。

  • wifiがない
  • 全体的に狭い
  • セッションごとの移動が大変(すべて階が異なる)
  • 冷房が効きすぎ

今回良かったところは、受付の女性の方がみんな可愛かったことですかね^^

受講セッション

私が参加したセッションは以下の通りです。 私なりの解釈ですので、詳細な内容については後日公開される資料を参考にしてください。

AWSの「隙間」を埋める隙間家具OSS開発

speakerdeck.com

AWSサービスはまず、MVP(Minimum Viable Product)で作り、利用者の要望を受けて機能を追加していくという手法をとっています。 最初から考えられる機能を全部盛り込んでも、実際に使われないことが多いです。

最低限の機能だからこそ、ちょっと凝ったことをしたい場合に隙間が生まれます。 そこを自らツールなどを作って埋めましょうというお話でした。

マイクロサービスを支えるインフラアーキテクチャ

speakerdeck.com

モノリシックなシステムから見えた問題を解決すべく、マイクロサービス化する際のポイントについての内容でした。 設計を行う際は以下の資料を参考にしていました。

  • AWS Well-Architected Framework https://d1.awsstatic.com/whitepapers/architecture/AWS_Well-Architected_Framework.pdf AWSが提唱する設計のベストプラクティスです。 AWS Well-Architected Framework ToolというチェックをGUIで行い、評価してくれるツールもあります。

  • Twelve Factor App www.12factor.net クラウドアプリケーションを構築する際のベストプラクティスです。 この記事は2011年に書かれているため、内容が古いので更新版である「Beyond the Twelve Factor App」も参考にしてください。

  • Strangler Application Pattern(SAP)
    一度にモノリシックからマイクロサービスにするのではなく、段階的に行う手法です。

レガシーコードからの脱却

slide.meguro.ryuzee.com

レガシーコードからの脱却=変更に強いプログラムを書く
レガシーコードを書かないためのプラクティスが9つあります。

  • やり方より先に目的、理由、誰のためかを伝える
  • 小さなバッチで作る
  • 継続的に統合する
  • 協力しあう
  • 「CLEAN」コードを作る
  • まずテストを書く
  • テストでふるまいを明示する
  • 設計は最後に行う
  • レガシーコードをリファクタリングする

このお話を聞いて、早速書籍を購入しました。

Chaos Engineering

障害が全くないシステムは存在しないため、障害がある前提で設計を行うことが推奨されています。 だからこそ、実際に障害が起こった際にスムーズな対応ができるよう、本番環境でテストし障害を把握しておきましょうということです。 障害を発生させるツールはいくつかあります。

  • Chaos Monkey
  • Latency Monkey
  • Conformity Monkey
  • Doctor Monkey
  • etc

Nature Remoの裏側 ~ AWSとWeb技術をIoTの世界でフル活用する

Nature Remoとはスマホやスマートスピーカーから家電などを操作できるデバイスのことです。

Nature Remoの仕組み

  1. スマホから「テレビをつける」を操作
  2. インターネット経由でサーバにリクエストを送信
  3. サーバからNatureRemoに「テレビをつける」という操作を送信
  4. NatureRemoがテレビに赤外線を飛ばす

Nature Remoとサーバ間はWebsocketを利用しているため、接続管理に苦労しているそうです。 例えば、システム更新時に再起動を行った際に、Nature Remoとの接続がすべて切断され、その後サーバに対してNature Remoからの接続要求が集中するなどの 懸念事項があるので、今後改善していきたいとのことでした。

私もプライベートで使ってみようかな。

おわりに

毎年、アンケートに答えると景品がもらえますが、今回は、神社ということもあり、お守りでした。

f:id:frevo-works:20191007143012j:plain

今回はのイベントは全体的にこじんまりしていた印象でした。場所が場所だからですかね。 開発者向けといえどもっと盛大にやってほしいですね。来年は目黒セントラルスクエア(2018年開催の場所)でお願いします。