RSSAmplifier

Blog

Michiel Rook's blog

Thoughts and talks on continuous delivery, devops and software development

michielrook.nlRSS feed ↗50 posts

Latest posts

Literature tips

Recently, I presented a session on safety science and incident management at a local meetup. I tend to close such sessions with a number of literature tips (books and websites). [ ] The post Literature tips appeared first on Michiel Rook s blog .

Reflections on the Learning Lab on Critical Thinking in Safety at Lund University

I attended Lund University s January 2022 Learning Laboratory in Human Factors and System Safety, and it was awesome. It was a very inspiring and well put together week. I ve been [ ] The post Reflections on the Learning Lab on Critical Thinking in Safety at Lund University appeared first on Michiel Rook s blog .

Congratulations, you failed!

For those of you that know me, or have seen one of my conference talks, you know that one of my favorite phrases is: if it hurts, do it more [ ] The post Congratulations, you failed! appeared first on Michiel Rook s blog .

The Road to Continuous Deployment (part 4)

The story below details a very interesting transformational project that I was a part of in 2014 and 2015, at a Dutch company. I’ve told this story before during [ ] The post The Road to Continuous Deployment (part 4) appeared first on Michiel Rook s blog .

The Road to Continuous Deployment (part 3)

The story below details a very interesting transformational project that I was a part of in 2014 and 2015, at a Dutch company. I’ve told this story before during [ ] The post The Road to Continuous Deployment (part 3) appeared first on Michiel Rook s blog .

The Road to Continuous Deployment (part 2)

The story below details a very interesting transformational project that I was a part of in 2014 and 2015, at a Dutch company. I’ve told this story before during [ ] The post The Road to Continuous Deployment (part 2) appeared first on Michiel Rook s blog .

The Road to Continuous Deployment (part 1)

The story below details a very interesting transformational project that I was a part of in 2014 and 2015, at a Dutch company. I’ve told this story before during [ ] The post The Road to Continuous Deployment (part 1) appeared first on Michiel Rook s blog .

PHP UK Closing Keynote (video)

Last month the good folks at the PHP UK Conference asked me to host the closing keynote. So, on Friday February the 22nd, I took the audience on a journey [ ] The post PHP UK Closing Keynote (video) appeared first on Michiel Rook s blog .

At year’s end – happy holidays!

It s a wrap! And what a year it was. 13 conferences and 5 meetups in 9 countries and my first overseas conference in Montreal, Canada! Many thanks to the [ ] The post At year s end happy holidays! appeared first on Michiel Rook s blog .

Forget me, please? Event sourcing and the GDPR (JAX London 2018)

Last week, at this year’s JAX London conference, I gave a talk about the General Data Protection Regulation (GDPR), and the very interesting and specific implications for applications that use event [ ] The post Forget me, please? Event sourcing and the GDPR (JAX London 2018) appeared first on Michiel Rook s blog .

Event Sourcing & The GDPR – Erasing your data footprint

Recently, the EU General Data Protection Regulation (GDPR) came into effect. You’ve probably heard all about it (or at least seen the absurd amount of ‘update privacy policy’ emails in your [ ] The post Event Sourcing The GDPR Erasing your data footprint appeared first on Michiel Rook s blog .

The Road to Continuous Deployment (All Day DevOps 2016 Recap)

In 2016 and 2017, I gave a series of talks titled The Road to Continuous Deployment: a Case Study , detailing some of the work I did in 2015 together with [ ] The post The Road to Continuous Deployment (All Day DevOps 2016 Recap) appeared first on Michiel Rook s blog .

Soon the GDPR will take effect! Are you ready?

As of May 25th, 2018, the European privacy regulation General Data Protection Regulation (GDPR) will take effect. This regulation concerns the protection of natural persons with regard to the processing of [ ] The post Soon the GDPR will take effect! Are you ready? appeared first on Michiel Rook s blog .

Binnenkort treedt de AVG (GDPR) in werking!

Vanaf 25 mei 2018 is de Europese privacyverordening Algemene Verordening Gegevensbescherming (AVG, ook bekend als General Data Protection Regulation of GDPR) van toepassing. Deze verordening gaat over de bescherming van natuurlijke personen [ ] The post Binnenkort treedt de AVG (GDPR) in werking! appeared first on Michiel Rook s blog .

Leadership books (English and Dutch)

Earlier, I wrote a post about literature (books, articles, etc.) on Continuous Delivery and DevOps. As I m currently developing a new talk on Effective Leadership (in the context of Agile/DevOps [ ] The post Leadership books (English and Dutch) appeared first on Michiel Rook s blog .

A typical CI/CD pipeline explained

Recently, I was asked on Twitter if I could give some pointers for reading material on (production) CI/CD pipelines what they look like, and how they work. I decided [ ] The post A typical CI/CD pipeline explained appeared first on Michiel Rook s blog .

Rebuilding projections in Axon Framework 3

CQRS (Command Query Responsibility Segregation) allows you to have separate models for reading and writing. Combining that pattern with Event Sourcing leads to a powerful capability: updating query (read) models, [ ] The post Rebuilding projections in Axon Framework 3 appeared first on Michiel Rook s blog .

CQRS & Event Sourcing article published in PHP Architect

This month an article I wrote for PHP Architect, called CQRS Event Sourcing in the Wild , was published in the December 2017 Talking Code issue. The article deals with [ ] The post CQRS Event Sourcing article published in PHP Architect appeared first on Michiel Rook s blog .

Event sourcing and the GDPR: a follow-up

My article about the implications of the GDPR for event-sourced applications that I published last week generated a sizable number of responses, suggestions and comments (most of them on Twitter). [ ] The post Event sourcing and the GDPR: a follow-up appeared first on Michiel Rook s blog .

2017 Conference Season – It’s a wrap!

As my flight touched down at Schiphol Airport early this morning, I realized that that landing marks the closing of my 2017 conference season. And what an awesome season it [ ] The post 2017 Conference Season It s a wrap! appeared first on Michiel Rook s blog .

Upcasters or a versioned event store: pros and cons

In a previous article, I wrote a few things about upcasters. One of the significant downsides when implementing an upcaster is that it adds to our application’s technical debt. An [ ] The post Upcasters or a versioned event store: pros and cons appeared first on Michiel Rook s blog .

Forget me please? Event sourcing and the GDPR

In May 2018, a new piece of EU legislation called the General Data Protection Regulation (GDPR) will come into effect. The GDPR attempts to regulate data protection for individuals within [ ] The post Forget me please? Event sourcing and the GDPR appeared first on Michiel Rook s blog .

Using Tracking processors to replay events in Axon Framework 3

Replaying events is a crucial part in any event sourcing / cqrs application, to rebuild projections, generate new ones or seed external systems with data. I m a big fan of [ ] The post Using Tracking processors to replay events in Axon Framework 3 appeared first on Michiel Rook s blog .

Using annotations in Prooph

One of the things I love about Java is its native, compiler-level support for annotations, a form of syntactic metadata which can be applied to source code but also retain [ ] The post Using annotations in Prooph appeared first on Michiel Rook s blog .

State Of DevOps Report

The 2017 version of Puppet s State of DevOps Report was just released. To me, the most interesting takeaways from the report are: High performing teams have 46x more frequent deploys, 96x [ ] The post State Of DevOps Report appeared first on Michiel Rook s blog .

The Road to Continuous Deployment (DevOpsPro Vilnius 2017)

Below are the slides of my talk “The Road to Continuous Deployment: a case study” as presented at DevOpsPro Vilnius 2017, in Multikino in the beautiful city of Vilnius, Lithuania. The post The Road to Continuous Deployment (DevOpsPro Vilnius 2017) appeared first on Michiel Rook s blog .

The Road to Continuous Deployment (JAX DevOps London 2017)

Below are the slides of my talk “The Road to Continuous Deployment: a case study” as presented at the JAX DevOps Conference 2017, in Park Plaza Victoria, London. The post The Road to Continuous Deployment (JAX DevOps London 2017) appeared first on Michiel Rook s blog .

Phing development update

A few months have passed since the last Phing development update in October, so here s an overview of some of the recent changes. Releases Phing 2.16.0 was released on December 22nd, 2016. Details [ ] The post Phing development update appeared first on Michiel Rook s blog .

The Road to Continuous Deployment (PHP UK Conference 2017)

Below are the slides of my talk The Road to Continuous Deployment: a case study as presented at the PHP UK Conference 2017, in The Brewery, London. The post The Road to Continuous Deployment (PHP UK Conference 2017) appeared first on Michiel Rook s blog .

CQRS & Event Sourcing in the wild (PHP Benelux 2017)

Below are the slides of my talk CQRS Event Sourcing in the wild , as presented at PHP Benelux 2017. The post CQRS Event Sourcing in the wild (PHP Benelux 2017) appeared first on Michiel Rook s blog .

Training sessions and talks

One of the things I like most about my work is the ability to help teams improve, by sharing my experiences and knowledge in training sessions. These sessions can be conducted [ ] The post Training sessions and talks appeared first on Michiel Rook s blog .

Season’s greetings from Utrecht!

This amazing photo was taken by Chris Heijmans in 2012. Last year, I ordered a canvas print, which is now proudly displayed in my home. Admittedly, current conditions (partly cloudy, windy, 8 degrees [ ] The post Season s greetings from Utrecht! appeared first on Michiel Rook s blog .

The Strangler pattern in practice

In this post I’ll discuss my experiences with the strangler pattern and how it can be applied when rewriting a large, legacy code base. Introduction In one of my recent [ ] The post The Strangler pattern in practice appeared first on Michiel Rook s blog .

All Day Devops

In a little less than two weeks, on Tuesday November 15th, I ll be speaking at All Day Devops. A free, online DevOps conference spanning 15 timezones with 50+ sessions. Join [ ] The post All Day Devops appeared first on Michiel Rook s blog .

CQRS & Event Sourcing in the wild (ScotlandPHP 2016)

Below are the slides of my talk CQRS Event Sourcing in the wild , as presented at ScotlandPHP 2016. I had a lot of fun presenting this talk. I felt the [ ] The post CQRS Event Sourcing in the wild (ScotlandPHP 2016) appeared first on Michiel Rook s blog .

Phing development update

A few months have passed since the last Phing development update, so it s about time to discuss some of the recent changes. Releases Phing 2.15.0 (and two point releases to fix [ ] The post Phing development update appeared first on Michiel Rook s blog .

Continuous Delivery, DevOps & Microservices literature

Recently I was asked for books and other literature recommendations on the subjects Continuous Delivery / Deployment, DevOps and Microservices. Here are some of the books, articles and talks I think are [ ] The post Continuous Delivery, DevOps Microservices literature appeared first on Michiel Rook s blog .

The road to continuous deployment (PHPCon Poland 2016)

Below are the slides of my talk The road to continuous deployment: a case study , as presented at PHPCon Poland in October 2016. It s a situation many of us are [ ] The post The road to continuous deployment (PHPCon Poland 2016) appeared first on Michiel Rook s blog .

Branches considered harmful

Don t use branches . Three words that are guaranteed to trigger reactions when I utter them during my continuous deployment talks. Three words that make for interesting discussions. This post contains some [ ] The post Branches considered harmful appeared first on Michiel Rook s blog .

Concurrent commands in event sourcing

In this post I want to talk a little about concurrency in the context of CQRS and event sourcing. Specifically, when a single aggregate is concurrently accessed by two commands (or command handlers, [ ] The post Concurrent commands in event sourcing appeared first on Michiel Rook s blog .

Event versioning (or why I sometimes modify the event store)

Requirements and applications evolve and change, leading to refactoring. For example, user registration now requires a first and last name, what was once an error may no longer be considered one, [ ] The post Event versioning (or why I sometimes modify the event store) appeared first on Michiel Rook s blog .

Distributed command handling with Axon, JGroups and Docker

In a recent project I used Axon Framework together with JGroups, to create a clustered, or distributed command bus. In that project we had some concurrency issues. One of those issues [ ] The post Distributed command handling with Axon, JGroups and Docker appeared first on Michiel Rook s blog .

The hierarchy of Continuous Deployment

In this post I m presenting a twist on Maslow s hierarchy of needs, the hierarchy of Continuous Deployment. This version is based on the steps that are required to successfully implement Continuous Deployment (a [ ] The post The hierarchy of Continuous Deployment appeared first on Michiel Rook s blog .

Phing development update

A few years ago I pledged to publish regular updates on Phing s development. I m a little ashamed that I haven t done that for nearly three years. Needless to say, a lot has happened, [ ] The post Phing development update appeared first on Michiel Rook s blog .

CD: Continuous Delivery or Continuous Deployment?

I m writing this post to contribute my take on the acronym CD, and the distinction (or perhaps, confusion) between the phrases Continuous Delivery and Continuous Deployment. These phrases are used [ ] The post CD: Continuous Delivery or Continuous Deployment? appeared first on Michiel Rook s blog .

The road to continuous deployment: a case study (Dutch PHP Conference 2016)

Below are the slides of my talk The road to continuous deployment: a case study , as presented at the Dutch PHP Conference in June 2016. I m planning to dedicate a [ ] The post The road to continuous deployment: a case study (Dutch PHP Conference 2016) appeared first on Michiel Rook s blog .

Docker & PHP: beyond virtual machines

(note: this post was first published on the blog of the Dutch Web Alliance) Docker is currently one of the hottest technologies around, because it solves a very specific problem: [ ] The post Docker PHP: beyond virtual machines appeared first on Michiel Rook s blog .

Dutch Web Alliance, leaders in web technology

I m proud to announce that I ve joined forces with a group of very talented web developers in the Netherlands and Belgium: the Dutch Web Alliance. More information is available on [ ] The post Dutch Web Alliance, leaders in web technology appeared first on Michiel Rook s blog .

Using conditional build steps to speed up your Jenkins PHP builds

At my client Spotney, we have a pretty solid (and common) build infrastructure for our PHP projects; SVN commits are checked out by Jenkins, tests are run by PHPUnit, Sonar runs static [ ] The post Using conditional build steps to speed up your Jenkins PHP builds appeared first on Michiel Rook s blog .

Phing development update

It s about time I wrote another Phing development update post, as the previous one was written 6 months ago! So, what have we been up to ? Release 2.5.1 Unfortunately, because [ ] The post Phing development update appeared first on Michiel Rook s blog .