From 25143eacf2783edcd466e2f0e46b4a6ee43c1735 Mon Sep 17 00:00:00 2001 From: Martin Monperrus Date: Mon, 9 Sep 2019 09:09:47 +0200 Subject: [PATCH] add 2019 recap --- README-2019.md | 102 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 README-2019.md diff --git a/README-2019.md b/README-2019.md new file mode 100644 index 0000000000..206a5f9b48 --- /dev/null +++ b/README-2019.md @@ -0,0 +1,102 @@ +# KTH DevOps Course 2019 + +## Outstanding student achievements + +* Essays + * [The Grand Fuzzing Challenge: A DevOps Retrospective Adam Hasselberg](https://medium.com/@adamhasselberg/fd89accb7ce0) + * [A/B Testing - A Search Based Approach - Hannes Rabo, Philippa Örnell](https://github.com/KTH/devops-course/blob/master/contributions-2019/essay/hrabo-pornell/ab-testing-a-search-based-approach.pdf) + * [An Introduction to Graph Databases - Simon Larsén](https://github.com/KTH/devops-course/blob/master/contributions-2019/essay/slarse/graph_db_essay.pdf) + * [Pipelines - A better approach to automated +build jobs? - Erik Johansson, Felix Eder](https://github.com/KTH/devops-course/blob/master/contributions-2019/essay/felixed-erikjo9/essay.pdf) + * [Immutability: Changing to the unchangeable - Fredrik Flovén](https://medium.com/@ffloven/immutability-4c8e0077fe9a) +* Demos + * [Automatic Static Site Redeploys - Toni Karppi, Kristian Alvarez Jörgensen](https://github.com/KTH/devops-course/tree/master/contributions-2019/demo/tonik-krijor) + + * [Automate iOS development workflow - Moa Nyman, Addibin Haider](https://www.youtube.com/watch?v=oSfDyHX_aig) + * [App deployment with Dokku and DigitalOcean - Patric Ridell, Philippa Örnell](https://www.youtube.com/watch?v=-jwq8eieCVE&feature=youtu.be) + * [Dynamic Jenkins build agents using AWS - Erik Johansson](https://www.youtube.com/watch?v=qXr2THwEuIs) +* Prototyping + * [Fuzzing of JSON Parsing Libraries - Emil Gedda, +Anders Eriksson](https://github.com/KTH/devops-course/tree/master/contributions-2019/open/aeri3-egedda) + * [Docker Swarm with logging and monitoring - Jakob Holm, Adibbin Haider](https://github.com/KTH/devops-course/tree/master/contributions-2019/open/jakobhol-adibbin) + +## Program + +### Week 1: March 20 2019 13h + +* Preparatory reading: +* Course introduction (Martin Monperrus, KTH) + * Your/Our expectations + * Teaching philosophy, teaching values + * Team + * Agenda + * Grading + * General rules + * Group management (Ye, Long) + * Registration of works as pull-request (Ye, Long) + * Communication (watch this repo!) + * Infrastructure + * Relation to Research in Testing & DevOps +* Student Presentations + * Goal: register one work + * Goal: Full planning for March 25 + + +### Week 2: March 25 2019 13h +* Preparatory reading: [Mutation analysis](https://medium.com/@almyre/short-circuiting-method-executions-to-assess-test-quality-2d3fda45bc7f), [Clean unit tests](https://blog.usejournal.com/3-easy-ways-to-write-cleaner-unit-tests-2ec04ca6b9df) +* Lecture: automatic testing, CI (Benoit Baudry, KTH). The wrap-up [video](https://archive.org/details/devops-dylan). +* Introduction to the Grand Fuzzing Challenge (Martin Monperrus, KTH) + * Reference material: [The Fuzzing Book](https://www.fuzzingbook.org/) +* Student presentations (Panel: Martin Monperrus, Benoit Baudry) + * [Topic suggestions](https://github.com/KTH/devops-course/issues/9) + * [Presentation Agenda](https://github.com/KTH/devops-course/blob/master/contributions/presentation/week2/README.md) + +### Week 3: April 1st 2019 8h +* Preparatory reading: +* Lecture: Container, microservice and orchestration ([Julien Bisconti](https://www.linkedin.com/in/julienbisconti/)) +* Student presentations (Panel: Julien Bisconti, [Jens Tinglev, Lead DevOps Engineer at KTH](https://www.kth.se/profile/tinglev)): + * [Topic suggestions](https://github.com/KTH/devops-course/issues/6) + * Add title / name in a pull-request + +### Week 4: April 8 2019 13h +* Preparatory reading: [XWiki: a use case for advanced CI](https://www.slideshare.net/vmassol/developing-xwiki-75667041) +* Introduction to research and collaborative projects (Benoit Baudry) +* Lecture: Pipelines and Jenkins ([Vincent Massol - XWiki](http://massol.myxwiki.org)) +* Student presentations (Panel: [Vincent Massol - XWiki](http://massol.myxwiki.org), [Laurent Ploix - Spotify](https://www.linkedin.com/in/laurentploix)): + * [Topic suggestion CI](https://github.com/KTH/devops-course/issues/3), [Topic suggestion CD](https://github.com/KTH/devops-course/issues/12) + * [Presentation Agenda](https://github.com/KTH/devops-course/blob/master/contributions/presentation/week4/README.md) + +### Week 5: April 25 2019 13h +* Preparatory reading: + * [An Exploratory Study of DevOps Extending the Dimensions of DevOps with Practices](https://jira.dimecc.com/secure/attachment/14989/ICSEA_Lwakatare_Final.pdf) + * [Towards DevOps in the Embedded Systems Domain: Why is It so Hard?](https://ieeexplore.ieee.org/document/7427859/) (accessible at KTH or through KTH's VPN) +* Lecture 13h15-14h: Human and organizational Aspects of Devops [Jaana Nyfjord, SAAB](https://se.linkedin.com/in/jaananyfjord) +* Student presentations for the Grand Fuzzing Challenge (Panel: Amir Gaber (SAAB), Musard Balliu (KTH)) + * Recall: the competition submissions must be sent before April 23, 23:59, Stockholm time, to dd2482@eecs.kth.se + +### Week 6: May 2 2019 13h +* Preparatory reading: [Course notes](https://www.monperrus.net/martin/monitoring.pdf) +* Lecture: Monitoring, tracing, fault injection (Martin Monperrus) + [Monitoring and tracing in Kubernetes](https://docs.google.com/presentation/d/1BKhdIU8aXJB7qE2CRn6RjmXKxd0J1N4B2-DTU9OtQPs/edit?usp=sharing) (Long Zhang) +* Student presentations (Panel: Martin Monperrus, Benoit Baudry) + * Topic suggestions: [#8](https://github.com/KTH/devops-course/issues/8) [#21](https://github.com/KTH/devops-course/issues/21) + * [Presentation Agenda](https://github.com/KTH/devops-course/tree/master/contributions/presentation/week6) + +### Week 7: May 6 2019 8h + +* Location: [Room U21](https://www.kth.se/places/room/id/de8a7fa7-90dc-4ae7-ab75-282b6020d8a5) +* Preparatory reading: [Volvo Trucks - The Epic Split](https://www.youtube.com/watch?v=M7FIvfx5J10) +* MDDD: [Michelin Devops Demo Day](https://github.com/KTH/devops-course/tree/master/contributions/demo) +* Location: [Room U21](https://www.kth.se/places/room/id/de8a7fa7-90dc-4ae7-ab75-282b6020d8a5), [U21 Break-out](https://www.kth.se/places/room/id/b7f34dc7-be16-4e37-a339-1e9f048b1772) and [U-Utställningssal](https://www.kth.se/places/room/id/cc4a63e9-62f9-4181-9e4d-c44a21c18c73) + * Make sure you have a screen and a power outlet + * [Session 1 / Session 2](announcement/README.md) (presenters / attendees switch) + +### Week 8: May 13 2019 9h + +* 9h15 Wrap-up & Feedback +* 10h15 Lecture: [Massive-Scale QA for multi-player video games](https://youtu.be/ffgphqKrb2M) ([David King - DICE](https://www.linkedin.com/in/david-king-83b9765b), [Mark Baker - DICE](https://www.linkedin.com/in/markltbaker/)) +* Final Course [Potluck](https://en.wikipedia.org/wiki/Potluck) + + +## Acknowledgements + +This course is designed with great inputs from Julien Bisconti, Simone Stefani, Jaana Nyfjord, Amir Gaber, Göran Paues, Lowe Schmidt, Laurent Ploix, Diarmuid Corcoran, Jonathan Grahl, Mattias Wildeman, Tomas Ekholm, Vincent Massol, David King and others. We are very grateful for their contributions!