Brewing Microservices

Serverless Redux: Halloween Edition

1 h 8 min · 30. okt. 2022
episode Serverless Redux: Halloween Edition cover

Beskrivelse

We revisit serverless programming and the Nimbus paper by discussing the old timey computing that the state of serverless development reminds us of, as well as why all programming languages go through this experience as they grow, and what potential future directions for cloud computing might look like. * Nimbus: Improving the Developer Experience for Serverless Applications [https://www.doc.ic.ac.uk/~rbc/papers/icse-nimbus-2020.pdf] * Stop Writing Dead Programs (Strange Loop 2022) [https://www.youtube.com/watch?v=8Ab3ArE8W3s] * Punched Card (Wikipedia) [https://en.wikipedia.org/wiki/Punched_card] * Job Control Language (Wikipedia) [https://en.wikipedia.org/wiki/Job_Control_Language] * IBM RPG (Wikipedia) [https://en.wikipedia.org/wiki/IBM_RPG] * Building Maintainable and Fault Tolerant MySQL Applications with Perl (Historical, Open Source Database Summit, Providence, RI, 2001) [http://jeremy.zawodny.com/mysql/osds-2001/index.html] * OpenTelemetry [https://opentelemetry.io/] * Honeycomb [https://www.honeycomb.io/] * Log4Shell (Wikipedia) [https://en.wikipedia.org/wiki/Log4Shell] * Zelle (Payment System) [https://en.wikipedia.org/wiki/Zelle_(payment_service)] * Cloud Programming Simplified: A Berkeley View on Serverless Computing [https://www2.eecs.berkeley.edu/Pubs/TechRpts/2019/EECS-2019-3.pdf] * Serverless Computing: Design, Implementation, and Performance [https://ieeexplore.ieee.org/document/7979855] * Serverless Computing: One Step Forward, Two Steps Back [https://www.cidrdb.org/cidr2019/papers/p119-hellerstein-cidr19.pdf] * Unison (programming language) [https://www.unison-lang.org/] * Erlang (programming language) [https://www.erlang.org/] * Durable Functions [https://learn.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-overview?tabs=csharp] * Toward Sustainable Serverless Computing [https://ieeexplore.ieee.org/abstract/document/9646540] * Sustainability Efficiency Challenges of Modern IT Architectures - A Quality Model for Serverless Energy Footprint [https://link.springer.com/chapter/10.1007/978-3-030-56441-4_21] * Understanding the Rust borrow checker [https://blog.logrocket.com/introducing-the-rust-borrow-checker/] * How to remote debug Azure functions [https://dynamics-chronicles.com/article/how-remote-debug-azure-function] * XSLT (Wikipedia) [https://en.wikipedia.org/wiki/XSLT] * Dataflow programming (Wikipedia) [https://en.wikipedia.org/wiki/Dataflow_programming] * Hot code reloading with Erlang and rebar3 [https://medium.com/@kansi/hot-code-loading-with-erlang-and-rebar3-8252af16605b#.985ei76fw] * Declarative programming (Wikipedia) [https://en.wikipedia.org/wiki/Declarative_programming] * DPL: A Language for GDPR Enforcement [https://ebjohnsen.org/publication/22-csf/22-csf.pdf] * OTP Design Principles [https://www.erlang.org/doc/design_principles/users_guide.html] * How To Avoid Cascading Failures in Distributed Systems [https://www.infoq.com/articles/anatomy-cascading-failure/] * The rr Debugger [https://rr-project.org/] * Introduction AMBROSIA: a new platform for reliable distributed applications without the hassle [https://cloudblogs.microsoft.com/opensource/2018/12/13/introducing-ambrosia-new-platform-distributed-applications/] * Time Travel Debugging [https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/time-travel-debugging-overview] * Virtual Time [https://dl.acm.org/doi/10.1145/3916.3988] * Deterministic Replay: A Survey [https://dl.acm.org/doi/10.1145/2790077] Other notes: * Chris got a new mic and wrote a theme song for the podcast so we aren't using a GarageBand loop anymore.

Kommentarer

0

Vær den første til å kommentere

Registrer deg nå og bli medlem av Brewing Microservices sitt community!

Kom i gang

2 Måneder for 19 kr

Deretter 99 kr / Måned · Avslutt når som helst.

  • Eksklusive podkaster
  • 20 timer lydbøker i måneden
  • Gratis podkaster

Alle episoder

3 Episoder

episode Serverless Redux: Halloween Edition cover

Serverless Redux: Halloween Edition

We revisit serverless programming and the Nimbus paper by discussing the old timey computing that the state of serverless development reminds us of, as well as why all programming languages go through this experience as they grow, and what potential future directions for cloud computing might look like. * Nimbus: Improving the Developer Experience for Serverless Applications [https://www.doc.ic.ac.uk/~rbc/papers/icse-nimbus-2020.pdf] * Stop Writing Dead Programs (Strange Loop 2022) [https://www.youtube.com/watch?v=8Ab3ArE8W3s] * Punched Card (Wikipedia) [https://en.wikipedia.org/wiki/Punched_card] * Job Control Language (Wikipedia) [https://en.wikipedia.org/wiki/Job_Control_Language] * IBM RPG (Wikipedia) [https://en.wikipedia.org/wiki/IBM_RPG] * Building Maintainable and Fault Tolerant MySQL Applications with Perl (Historical, Open Source Database Summit, Providence, RI, 2001) [http://jeremy.zawodny.com/mysql/osds-2001/index.html] * OpenTelemetry [https://opentelemetry.io/] * Honeycomb [https://www.honeycomb.io/] * Log4Shell (Wikipedia) [https://en.wikipedia.org/wiki/Log4Shell] * Zelle (Payment System) [https://en.wikipedia.org/wiki/Zelle_(payment_service)] * Cloud Programming Simplified: A Berkeley View on Serverless Computing [https://www2.eecs.berkeley.edu/Pubs/TechRpts/2019/EECS-2019-3.pdf] * Serverless Computing: Design, Implementation, and Performance [https://ieeexplore.ieee.org/document/7979855] * Serverless Computing: One Step Forward, Two Steps Back [https://www.cidrdb.org/cidr2019/papers/p119-hellerstein-cidr19.pdf] * Unison (programming language) [https://www.unison-lang.org/] * Erlang (programming language) [https://www.erlang.org/] * Durable Functions [https://learn.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-overview?tabs=csharp] * Toward Sustainable Serverless Computing [https://ieeexplore.ieee.org/abstract/document/9646540] * Sustainability Efficiency Challenges of Modern IT Architectures - A Quality Model for Serverless Energy Footprint [https://link.springer.com/chapter/10.1007/978-3-030-56441-4_21] * Understanding the Rust borrow checker [https://blog.logrocket.com/introducing-the-rust-borrow-checker/] * How to remote debug Azure functions [https://dynamics-chronicles.com/article/how-remote-debug-azure-function] * XSLT (Wikipedia) [https://en.wikipedia.org/wiki/XSLT] * Dataflow programming (Wikipedia) [https://en.wikipedia.org/wiki/Dataflow_programming] * Hot code reloading with Erlang and rebar3 [https://medium.com/@kansi/hot-code-loading-with-erlang-and-rebar3-8252af16605b#.985ei76fw] * Declarative programming (Wikipedia) [https://en.wikipedia.org/wiki/Declarative_programming] * DPL: A Language for GDPR Enforcement [https://ebjohnsen.org/publication/22-csf/22-csf.pdf] * OTP Design Principles [https://www.erlang.org/doc/design_principles/users_guide.html] * How To Avoid Cascading Failures in Distributed Systems [https://www.infoq.com/articles/anatomy-cascading-failure/] * The rr Debugger [https://rr-project.org/] * Introduction AMBROSIA: a new platform for reliable distributed applications without the hassle [https://cloudblogs.microsoft.com/opensource/2018/12/13/introducing-ambrosia-new-platform-distributed-applications/] * Time Travel Debugging [https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/time-travel-debugging-overview] * Virtual Time [https://dl.acm.org/doi/10.1145/3916.3988] * Deterministic Replay: A Survey [https://dl.acm.org/doi/10.1145/2790077] Other notes: * Chris got a new mic and wrote a theme song for the podcast so we aren't using a GarageBand loop anymore.

30. okt. 20221 h 8 min
episode Property-Based Testing cover

Property-Based Testing

QuickCheck: a lightweight tool for random testing of Haskell programs Soft Updates: A Technique for Eliminating Most Synchronous Writes in the Fast Filesystem [https://www.usenix.org/conference/1999-usenix-annual-technical-conference/soft-updates-technique-eliminating-most] Write ahead log [https://en.wikipedia.org/wiki/Write-ahead_logging] Fuzzing: a survey [https://cybersecurity.springeropen.com/articles/10.1186/s42400-018-0002-y] SAGE: whitebox fuzzing for security testing [https://dl.acm.org/doi/fullHtml/10.1145/2093548.2093564?casa_token=zHzo412PGM0AAAAA:gY5L5K1p6eYM0Lpr6n1sbl9fn7NhJRGCg6LUoWBmCab1VtTn4Bpd7QVvdticqIeqJN4zob2Qlk7D] Intelligent REST API data fuzzing [https://dl.acm.org/doi/abs/10.1145/3368089.3409719?casa_token=p-vw1LNSlZQAAAAA:r-rzSjBxWP--2xfScNXDug_dt0i3Fz_pxiqTs6xEyU-pwPhYjfT2KKhmBtvyLolu5hQSy4Sq_OXJ] A hybrid analysis to detect Java serialisation vulnerabilities [https://dl.acm.org/doi/abs/10.1145/3324884.3418931?casa_token=vcYeE1JU1nsAAAAA:88gB9XFcAnxJxh3VMWk6z_0AccUKHULeNKXEPZyTrO9v8mFJe_Q1ZfcKGvVQrpy-GaWXvHK6RZI4] Jsongen: a quickcheck based library for testing JSON web services [https://dl.acm.org/doi/abs/10.1145/2633448.2633454?casa_token=KvIz3Nuw_ggAAAAA:4H9z3OK1dXOvZKkuVfDu7aAJ9u2i5_dZ3FrZhshKsY__aFmsF-ct27yTMp3XK8jo2GXTqf6nynGU] Property-Based Testing of JSON Based Web Services [https://ieeexplore.ieee.org/abstract/document/6928970?casa_token=0V2SoJtSQbcAAAAA:L74OYec8zm4BRPF1G3evWMMqy0-COQQxDW8-5gkNIIKtY3rieSlLgGu4xUAJFtEGpGKwYyTz] Turning web services descriptions into quickcheck models for automatic testing [https://dl.acm.org/doi/abs/10.1145/2505305.2505306?casa_token=EUy7qoZ66JsAAAAA:OW34qxWgU7g0H49Ozng0FrSBzldfnG5tyN7Yuu0mFaG1izbRAeyczpX6AOjaA2OZftKgysQUQ8Hv] Hypothesis [https://hypothesis.readthedocs.io/en/latest/] Erlang QuickCheck [http://www.quviq.com/products/erlang-quickcheck/] Software Testing with QuickCheck [https://www.erlang-factory.com/upload/presentations/193/EUC2009-QuickCheck.pdf] John Hughes - Don't Write Tests [https://www.youtube.com/watch?v=hXnS_Xjwk2Y] John Hughes - QuickCheck Evolution [https://www.youtube.com/watch?v=gPFSZ8oKjco] John Hughes: Testing with QuickCheck [https://www.youtube.com/watch?v=wkVy6kImq5o] John Hughes - Testing the Hard Stuff and Staying Sane [https://www.youtube.com/watch?v=zi0rHwfiX1Q] John Hughes - How to specify it! A guide to writing properties of pure functions | Code Mesh LDN 19 [https://www.youtube.com/watch?v=zvRAyq5wj38] Testing Eventual Consistency in Riak - YouTube [https://www.youtube.com/watch?v=x9mW54GJpG0] PARTISAN: Scaling the Distributed Actor Runtime [https://www.usenix.org/conference/atc19/presentation/meiklejohn] Dealing with a corrupt SSTable in Cassandra [https://www.gosquared.com/blog/dealing-corrupt-sstable-cassandra] MODELING EVENTUAL CONSISTENCY DATABASES WITH QUICKCHECK [https://www.erlang-factory.com/upload/presentations/375/ECwithEQC-JonMeredith.pdf] Riak DT [https://github.com/basho/riak_dt] Applied Monotonicity: A Brief History of CRDTs in Riak [https://christophermeiklejohn.com/erlang/lasp/2019/03/08/monotonicity.html] Using temporal relations to specify and test an instant messaging server [%20https://dl.acm.org/doi/abs/10.1145/1808266.1808281?casa_token=bcQUOhkwG4wAAAAA:1U2yMcCLF8rIKcd530PJBMqVT_PJ9r8U0QJ16OezutEOfDoRo7LyllxCorD3xRc0giVdD8k7tlMJ] Effective Concurrency Testing for Distributed Systems [https://dl.acm.org/doi/abs/10.1145/3373376.3378484] Jepsen [https://jepsen.io/] Clojure test.check [https://github.com/clojure/test.check] PropER [https://github.com/proper-testing/proper] PULSE tutorial [https://www.erlang-factory.com/upload/presentations/191/EUC2009-PULSE.pdf] Finding race conditions in Erlang with QuickCheck and PULSE [https://dl.acm.org/doi/abs/10.1145/1631687.1596574?casa_token=H54GW6xmj_IAAAAA:OHLoFXx13kEv7By66IC33b2CHJpw3gpYS46dS2c0bgLVQjsJGlQtYQOpWcxkmRNZt6nUdlqqwKi_] CORFU: A Shared Log Design for Flash Clusters [https://www.usenix.org/conference/nsdi12/technical-sessions/presentation/balakrishnan] CORFU: A distributed shared log [https://dl.acm.org/doi/abs/10.1145/2535930?casa_token=4L1cySOkgBYAAAAA:oGQkOBP76nfF9eVQCV20V5Ik1nZLQt8o9FWosbjM46vsHoaBh0IH25UOCen6PweyiLeNuIQB2Bjw]

21. okt. 20222 h 1 min
episode Nimbus - Improving the Developer Experience for Serverless Applications cover

Nimbus - Improving the Developer Experience for Serverless Applications

Nimbus: Improving the Developer Experience for Serverless Applications [https://ieeexplore.ieee.org/document/9270303] Nimbus at ICSE [https://2020.icse-conferences.org/details/Demonstrations/3/Nimbus-Improving-the-Developer-Experience-for-Serverless-Applications] ICSE NIER CfP [https://2020.icse-conferences.org/track/icse-2020-New-Ideas-and-Emerging-Results?#Call-for-Papers] Nimbus: Improving the Developer Experience for Serverless Applications [preprint] [https://www.doc.ic.ac.uk/~rbc/papers/icse-nimbus-2020.pdf] Nimbus: Improving the Developer Experience for Serverless Applications [video] [https://www.youtube.com/watch?v=VkECtSbl94Q] Towards a Solution to the Red Wedding Problem [https://www.usenix.org/conference/hotedge18/presentation/meiklejohn] Reactive Machine [GitHub] [https://github.com/microsoft/ReactiveMachine] Durable functions: semantics for stateful serverless [https://dl.acm.org/doi/10.1145/3485510] Netherite: efficient execution of serverless workflows [https://dl.acm.org/doi/abs/10.14778/3529337.3529344] Formal foundations of serverless computing [https://dl.acm.org/doi/abs/10.1145/3360575] A Language-based Serverless Function Accelerator [https://arxiv.org/abs/1911.02178] Firecracker: Lightweight Virtualization for Serverless Applications [https://www.usenix.org/conference/nsdi20/presentation/agache] Serverless in the Wild: Characterizing and Optimizing the Serverless Workload at a Large Cloud Provider [https://www.microsoft.com/en-us/research/publication/serverless-in-the-wild-characterizing-and-optimizing-the-serverless-workload-at-a-large-cloud-provider/] Faa$T: A Transparent Auto-Scaling Cache for Serverless Applications [https://www.microsoft.com/en-us/research/publication/faat-a-transparent-auto-scaling-cache-for-serverless-applications/] Palette Load Balancing: Locality Hints for Serverless Functions [https://www.microsoft.com/en-us/research/publication/palette-load-balancing-locality-hints-for-serverless-functions/] Cold Start in Serverless Computing: Current Trends and Mitigation Strategies [https://ieeexplore.ieee.org/abstract/document/9191377] Prebaking Functions to Warm the Serverless Cold Start [https://dl.acm.org/doi/abs/10.1145/3423211.3425682] WLEC: A Not So Cold Architecture to Mitigate Cold Start Problem in Serverless Computing [https://ieeexplore.ieee.org/abstract/document/9096489]

14. okt. 20221 h 29 min