ブックマーク / speakerdeck.com/ytaka23 (8)

  • サーバーレスアーキテクチャの数理的理解と分析 #devsumi / Developers Summit 2023 Summer

    Developers Summit 2023 Summer で使用したスライドです。 サーバーレスアーキテクチャは強力ですが、同時に冪等性やトランザクションなど特有の考慮事項が必要であり、高い設計力が求められます。ところで、安全なプログラムを書く上で、静的型付き言語は広く利用されていますね。型はいわば実行前に間違いを検出できる仕組みであり、その背後には「プログラムの正しさ」を厳密な数式で記述し分析する理論が存在します。では、同様に「サーバーレスの正しさ」も厳密な数式で記述することは可能でしょうか?講演ではAWS Lambdaを用いた設計を例として取り上げながら解説します。 イベント概要:https://event.shoeisha.jp/devsumi/20230727/session/4486/ ブログ記事:https://ccvanishing.hateblo.jp/entry/20

    サーバーレスアーキテクチャの数理的理解と分析 #devsumi / Developers Summit 2023 Summer
    yug1224
    yug1224 2023/07/28
  • Amazon S3 の一貫性モデル超入門 #ハードル激低LT大会 / Low-hurdle LT Meetup 2nd

    ハードル激低LT大会ッ! #02 で使用したスライドです。 Amazon S3 の強い Read-after-write 一貫性と、その同期プロトコルの検証に使用された形式手法の一種、P 言語のさわりを紹介しています。 イベント概要:https://smarthr.connpass.com/event/278899/

    Amazon S3 の一貫性モデル超入門 #ハードル激低LT大会 / Low-hurdle LT Meetup 2nd
    yug1224
    yug1224 2023/05/14
  • サーバーレスは操作的意味論の夢を見るか? #AWSDevDay / AWS Dev Day 2022 Japan

    AWS Dev Day 2022 Japan で使用したスライドです。 AWS Lambda を初めとするサーバーレスコンピューティング基盤には、 * 複数の関数が同時に実行され共有リソースにアクセスしうる、質的に並行システムである * Warm Start により関数インスタンスが内部状態を残したまま再利用されうる * 一つのリクエストに対して複数回の実行が行われうる、いわゆる At-Least-One 特性 といった特性があり、通常のプログラムと比較して実行モデルが複雑かつアンコントローラブルな要素を多く含みます。関数を実装する側はこのような「プラットフォームの都合」を考慮して冪等性など細かい挙動に気を配りつつプログラムを書くことになり、これは一般にかなりの実装コストになります。また、アンコントローラブルな要素は、関数の実装から実際の挙動を静的に検査することを難しくしています。 この

    サーバーレスは操作的意味論の夢を見るか? #AWSDevDay / AWS Dev Day 2022 Japan
    yug1224
    yug1224 2022/11/10
  • 君のセキュリティはデプロイするまでもなく間違っている #CICD2021 / CICD Conference 2021

    CI/CD Conference 2021 で使用したスライドです。 S3 オブジェクトを不必要に公開してしまったり、あるいは遮断されるべきネットワークが繋がってしまったりといったセキュリティ上の設定ミスは、可能な限り避けたいものです。 このようなインフラ層に対するテストを従来の CI/CD の一部として組み込む場合、「個別の設定項目が条件を満たすことを確認する」または「実際にデプロイした環境に対してアクセスしてみる」といった形でテストを行うことが一般的でしょう。 しかしセキュリティ設定には、「複数の設定項目が絡み合った結果、最終的なアクセス可否が定まる」かつ「実際にデプロイする前に影響範囲を知りたい」といった要求があり、上にあげたテストの形式とはあまり相性が良くないのが事実です。 この問題に対して有効な手法の一つが Automated Reasoning です。Automated Rea

    君のセキュリティはデプロイするまでもなく間違っている #CICD2021 / CICD Conference 2021
    yug1224
    yug1224 2021/09/04
  • Infrastructure as Code の静的テスト戦略 #DevOpsDaysTokyo / DevOpsDays Tokyo 2021

    DevOpsDays Tokyo 2021 で使用したスライドです。 Infrastructure as Code を導入してみたはいいけれど、デプロイしてみたらなぜか上手く動かない。そんな経験はありませんか? セッションでは、実際の環境を構築する「前」に、IaC のコード自体に対してテストを行う手法について解説します。 ご存知の通り Infrastructure as Code (IaC) は、インフラをコードで定義することを通し、アプリケーション開発のベストプラクティスをインフラ領域にも輸入しようとする方法論です。IaC の考え方は近年急速に普及し、開発フローの一部として種々の IaC ツールを利用することは半ば常識のような状態にあります。 しかし同時に、IaC は銀の弾丸ではありません。特に組織的な導入を考えようとすると、得てして「なぜか上手くいかない」「余計に運用が辛くなってしま

    Infrastructure as Code の静的テスト戦略 #DevOpsDaysTokyo / DevOpsDays Tokyo 2021
    yug1224
    yug1224 2021/04/17
  • 「厳密な共通言語」としての形式手法 #devsumi / Developers Summit 2020

    Developers Summit 2020 で使用したスライドです。 言葉というものは曖昧です。複数人が「ともにつくる」システムにおいて、メンバ間で仕様を正しく共有することは非常に重要ですが、一方で言葉の裏側に隠された「暗黙の仮定」を見抜くことは簡単ではありません。このような仕様の曖昧性への対抗手段として、セッションでは「形式手法」を紹介します。形式手法ではシステムの挙動を数学的に記述することにより、自然言語の持つ曖昧性を排除し、仕様が満たされるかどうかを厳密に検証することが可能になります。あなたの頭の中にある仕様がどのように「数学的な記述」に変換されるのか、具体例を通して体験してみませんか? イベント概要:https://event.shoeisha.jp/devsumi/20200213/session/2380/

    「厳密な共通言語」としての形式手法 #devsumi / Developers Summit 2020
    yug1224
    yug1224 2020/02/13
  • テスト駆動開発から証明駆動開発へ #JTF2019 / July Tech Festa 2019

    July Tech Festa 2019 で使用したスライドです。 近年、テストを書く文化は広く普及しており、開発フローにおいて自動テストを組み込むことはもはや常識となりました。しかしよく考えてみると、有限個のテストケースが保証しているのは、所詮「特定の有限個の入力に対する出力」にしか過ぎません。では「あり得る全ての入力」に対してプログラムの性質を保証することは果たして可能でしょうか? この問いに対する答えのひとつが「定理証明」と呼ばれる手法です。定理証明では、数学的な「証明」をプログラム上でエンコードすることにより、真に「全ての入力」を扱うことができます。セッションではこの定理証明を取り上げ、従来のテストとの考え方の違いや具体的な適用方法について、サンプルを交えつつ解説します。 イベント概要:https://2019.techfesta.jp/speakers#A10

    テスト駆動開発から証明駆動開発へ #JTF2019 / July Tech Festa 2019
    yug1224
    yug1224 2019/12/08
  • 分散システム、本当に「正しく」開発できますか? #JTF2018 / July Tech Festa 2018

    July Tech Festa 2018 で使用したスライドです。二相コミットを例として、分散アルゴリズムの検証にモデル検査を使用する手法について解説しています。また、代表的なモデル検査ツールである SPIN、TLA+、P について、同じシステムを各ツールで記述してみることでその特定の違いについて学びます。 イベント概要:https://2018.techfesta.jp/speakers#C40 ブログ記事:http://ccvanishing.hateblo.jp/entry/2018/08/01/055608

    分散システム、本当に「正しく」開発できますか? #JTF2018 / July Tech Festa 2018
    yug1224
    yug1224 2018/07/29
  • 1