みんなのPython勉強会#56 メモ

リモート参加したイベントのメモ

イベント概要

conpass:【オンライン+無料開催】みんなの Python 勉強会#56

今回のテーマは、サーバーサイドエンジニアです。このテーマにぴったりな有識者が勢揃いました。
初級、中級のサーバーサイドエンジニアにターゲットを絞り、もう一段上のレベルを目指せる講演を用意しましたのでご興味のある方はお申し込みください。
サーバーサイトエンジニア以外の方にも、役に立つ情報が満載なので、どなたでも参加が可能です。
conpass より引用

聞いた日

2020/04/15

内容

『Ansible で始めるサーバーサイドのインフラ構築』: 佐藤 学 氏(株式会社ディー・エヌ・エー)

  • コンセプト
    • シンプル
      設定ファイルは YAML で書く。
      例)httpd の最新版インストール

      ---
      - name: install
        yum:
          name:httpd
          state:latest
      
    • パワフル
      マルチレイヤー構成管理、冪等性を担保。 ネットワークデプロイ自動化に強めらしい。
    • エージェントレス
      エージェント自体の管理コストを省ける。
  • 実行
    ansible-playbook xxx.yml
    同一コマンドでも、既に変更済みの場合when:条件などにより実行を省ける。
  • ユースケース
    当たり前だけどエクセル方眼紙の手順書よりは簡素。
    並列処理ができるので、複数台理論上は 1 台と 100 台の構築時間が変わらない。
  • QA
    Slidoより
    Q:設定ファイルが正しいかどうかをテストできる環境などはあるのでしょうか?100 台間違った設定が適用されてしまったら、悲しいかなと思いまして。
    A:1 台とりあえず動くか確認する。Molecule でテストもできるっぽい。

    Q:インフラのレイヤーの違いによる使い分けとかされてますか?terraform とハイブリットで使ってるとか。 (edited)
    A:OS 部分は Ansible 使う。クラウドサービス部分は Ansible と

    Q:lambda とかサーバーレスの構成でも ansible は使いやすいですか?
    A:上記理由と似て IaaS 構成の場合使う。ので、Lambda とかはあんまり。

  • 所感・雑感
    Vagrant と似た印象。
    今回は Ansible 知らない人向けだったので、今後機会があれば CI/CD とかクラウド向けの話が聞けると嬉しい。
    デプロイ周りがちょっと気になる。

『Pythonista に贈る AWS Lambda 入門』:西谷 圭介 氏(アマゾンウェブサービスジャパン株式会社(AWSJ))

  • 目標感
    AWS Lambda を知ってもらう事。
  • サーバーレスなコード実行
    3-tier Web アプリ

    サーバレスにすると、こうなる ↓
  • イベントドリブン

    サーバレスにすると、こうなる ↓ より疎結合に
  • Lambda の基本
    • メモリ
    • タイムアウト
      最大 900 秒。
    • 実行ロール
    • 制限事項
      同時実行数 1000、ストレージ 75GB。AWS が定義した環境仕様はいじれない。
    • 料金
      100 万リクエスト/月 までは無料!
      詳細は 話者 Qiita 参照
  • プログラミング
    Note:リクエストのたび、同じインスタンスで実行されるわけではない(つまりステートレスにする必要がある。)
    ローカルファイルや子プロセスなどもリクエスト単位でライフサイクル管理される。
    -> 永続化のためには、S3 なり別のサービスを用いる

    • handler
      実行のエントリポイント
    • context
    • ロギング
      AWS CloudWatchLogs に書き込まれる。Logger も使える。
    • 例外
      例外処理は言語仕様に依存。
      ログにも残るし、json 形式で呼び出し元に帰ってくる。
    • デプロイ
      フォルダ構成を持たない zip, jar などを置く。
  • Tips
    言語毎のコード最適化はだいたいあてはまる。
    不要なデータを読み込むと費用が高くなるので、必要な分だけに抑える。
    オーケストレーション(Lambda を複数呼び出したり)はしない方が良い。
    -> AWS Step Functions を使うと良いよ
    リトライポリシーを遵守。
    同期実行すると詰まりがちなので、非同期実行を活用する。(DLQ の設定忘れず)
    ->詰まると捨てられる。
  • 所感・雑感
    JAWS UG でハンズオンしたけど、1 本だけだったのでイベントドリブン感はあまり享受できなかった。
    ので、知識として図になったのは分かりやすくて良かった。
    情報量多すぎるので、スライド見るならじっくり 1 ~ 2 時間くらい付き合う必要がありそう。サーバーレスのハンズオンもあるので気になるけど、日程調整ムズそう。
    AWS 公式:さぁ!サーバーレスを始めよう!サーバーレスハンズオンもくもく会(2020 年 4 月 22 日(水)13:00 – 17:00)

『アジャイルと DevOps』:長沢 智治 氏(サーバントワークス株式会社)

抽象度高め。かつエモめ。
言いたいことは理解したいけど、現実的には難しいですよねー。という印象。

アジャイルの話で必ずといっていいほど出てくる「自己組織化」。
肌感として、全員が「自己組織化」された開発チームに参加できる人は相当幸運な気がする。
仮にあったとしても、働きかけが素晴らしいスーパーマンが少なからず 1 人はそこにいる。

「自己組織化」ができないと、マネージメント層がブラックボックス化した開発チームに疑念をもつ。そして事態掌握するために、介入せざるを得ない状態になっていくんだろうなーという印象。
もはやそこまでいくと開発チームの信頼貯金が足りない状態なので、現実的にはうまく稼いでブラックボックスを維持する必要がありそう。

こういうのを緩和するためのフレームワーク(スクラムとか)はあっても、それこそアジャイルに実践してみないといけなくて、そこでスキル不足とかで躓くのが最大の困難ポイントなのでは。という思い。
アジャイル実践するためのスキルセットってえぐいくらい豪華じゃないとできないんでは。という無力感も感じる。

改善する意識がないと上手くいかない。というのはすさまじくアグリー。

感想

Ansible だけ聞くつもりだったけど、サーバーレス面白くて全部聞いてしまった。

「差別化に繋がらない重労働を」を「自分でやらない」
『Pythonista に贈る AWS Lambda 入門』西谷 圭介 氏

これは分かりみが強い。
リモートワーク中心の生活で、この辺の意識がより強くなった気がする。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする