Continuously delivering containerized, highly available microservices with proper context boundaries and messaging integration
Let’s have some fun while we entertain the idea that maybe - just maybe! - a microservice architecture would be a great fit for our (next) project. After all, we’re almost past the microservices hype. It’s time to prove that this can work!
Starting from the premise that a microservice architecture is only viable if we focus not only on the speed of change, but also improve the safety of change, we can learn a lot from the early adopters who have already scouted large parts of the unknown territory before us. Tools and platforms are maturing pretty fast too, so it’s safe to assume that we are now (almost) past the peak of impediments. Let’s start enjoying those microservices!
Docker Festival
Spend a full day learning about Docker and related tools with Matthias Noback and Lucas van Lierop.
- Use this day to finally take a deep dive into Docker,
- Or bring your own Docker-based project and leverage the combined knowledge of all participants to make it better.
- Work together, or alone.
- Don’t follow along with the teacher, find your own path instead.
- Not limited to PHP, use the language of your choice.
We’ll offer interesting and useful material: articles, exercises, tips & tricks.
An introduction to Docker Swarm
Having some Docker and Docker Compose knowledge in your pocket, you need to consider how you will eventually deploy your services. After all, that’s what Docker’s promise was to begin with, right? Deploying new container images should be painless and without surprises.
During this workshop you will learn about Docker Machine and how it can help you prepare your servers for container deployments. Then you will get acquainted with the Swarm Mode of the Docker Engine. You will deploy services to virtualized servers on your own machine (which is just as easy as deploying to an actual cloud server it turns out).
Service Integration
This 2-day workshop takes a closer look at the communication that happens between the applications in their larger environment. We take insights from Strategic Domain-Driven Design, about Bounded Contexts and Context Mapping. We’ll combine those with the accumulated knowledge about Microservice architecture and draw from the catalogue of Enterprise Integration Patterns to design services that communicate in a reliable fashion.
Some of the keywords for this workshop: commands, queries, domain events, event sourcing, projections, eventual consistency. bounded contexts, enterprise integration patterns, (de)serialization, (de)coupling, messaging, DTOs versus domain objects, encoding formats, extracting serializable data, versioning, upcasting, reflection.
Living documentation
“Documentation”, a word that makes developers yawn. It’s what you write because you have to. Documentation is a failure by definition. You know it, it’s true. Writing it is going to be a tiresome, mindnumbing exercise. Documentation is going to be incomplete, outdated, unreliable and soon to be abandoned anyway. Why would you ever start working on it in the first place?
That’s why we were happy when we discovered the Agile Manifesto, which says: “Working software over comprehensive documentation” That’s a good reason to drop all our documentation efforts, right? Well, no. We shouldn’t quit writing docs. We should simply prevent documentation from being an impediment to other prominent Agile values, like “Responding to change”.
Living documentation (workshop)
A mini-workshop on maintaining a Living documentation for your software projects. The workshop is based on the book Living documentation by Cyrille Martraire.
An introduction to Docker Compose
You know the Docker command line tool and the Dockerfile configuration format. You have familiarized yourself with containers and images. Now it’s time to use Docker to develop a real-world application.
To keep your sanity, you’ll need to learn Docker Compose, which lets you define multiple containers and their images as services, with lots of interesting configuration options, all in one silly Yaml file!
This workshop will be all about Docker Compose, and we’ll cover its configuration file format, command line tool and take a closer look at Docker networking and volumes.
An introduction to Docker
The ideal occasion to finally get started with Docker! You’ll learn everything you need to know to start using Docker in a professional environment.
I’ll provide some general background information, but we will mainly take the time to make ourselves familiar with the Docker command line tool and the Dockerfile configuration format.
Tactical DDD (just better OOP)
We’ll cover the concepts you need to know and we’ll put them to practice in a sandboxed environment (a very simple example PHP project). Some of the topics that will be discussed:
Aggregate, entity, repository, value object, domain event, domain service, application service
@matthiasnoback again! Killing it with his Tactical DDD workshop. #symfonycat pic.twitter.com/T2QDkrNO86
— Symfony Catalunya (@symfonycat) July 23, 2016
The Tactical DDD workshop by @matthiasnoback was beyond awesome! Had at least 4 a-ha moments! Really good! #phpbnl17