You planned your software. You talked to your business owners. As soon as you saw a new use case which should be implemented, you modularized it. You did everything right. And then you hit the integration layer. Sounds familiar?
Everybody says monolithic applications are bad. I usually hear things like:
- Tiny changes need full redeployment (maybe even with downtime)
- Limited agility
- Easy to get a big ball of mud
So why would you like to have a monolith?
You start your green field project and keep working on it. It grows and grows and grows. You feel comfortable with it and it could not be better. Because more needs to be done/the product is successful another team is added.
Imagine this conversation:
Friend: “We have an integration system where we deploy every two weeks all commits and run hundreds of end to end tests on it.”
Me: “And if everything passed it goes into production?”
Me: “How often do they fail?”
Friend: “Uhmm, well like every night. But we just take the failing tests and run them again and after that or the next run they will be green.”
Me: “And then it goes into production?”
My Continuous Lifecycle 2013 talk. How we got faster at deploying our software.
I’m working in an organization where we do synchronized sprints between all teams. This means every two weeks all meeting rooms are booked for retrospectives and sprint plannings. If you have around 10-20 teams distributing knowledge what’s happening in the other teams is tricky. No one has the time to go to all reviews.
Enter ‘Review Fair’.
In the last couple of months I got to play around with virtualization at work. Doing automated delivery pipleines and provisiong via puppet I decided it’s time to get my hands even more dirty at home.
I got myself a HP Microserver N54L equipped with 16 GB of RAM and 9 TB disks. I wanted ZFS and KVM. Since the machine has an AMD processor the only way was to install Linux on it. SmartOS would have been a nice choice but it only supports KVM for Intel processors.
There are some hickups to get
virt-manager running via X11 on Macos.
You need to fix two things.
What do you need to do to get a fully automated kickstart of a virtual machine on your local development platform running? Not much it turns out. There are some tricks to get around but after that it’s all fine.
My BedCon 2013 talk. Covering commiting code, packaging,testing, deployment and organisational changes.
Javadoc is here to help. To understand what the code does and how it works? Right?
I don’t think so. I confuses the heck out of me in most cases.