One of the challenges faced by software developers today working on cloud applications and distributed systems is the problem of setting up the developer workstation in a development environment comprised of an increasing number of services and technologies. It was already hard enough to configure developer workstations for complex monolithic applications, and now it’s even harder as we start to break down the application into multiple microservices and databases. If you are starting to feel like your developers’ workstations have become fragile beasts that are able to generate builds only by the grace of God and through years of mystery configuration settings, then you are facing trouble. Seek medical help immediately if you are experiencing any of the following symptoms:
- The onboarding of new developers takes days or even weeks because getting a new development machine configured is a time-consuming and error-prone process.
- The words “But the code works on my machine” are uttered frequently within your organization.
- Bugs are often discovered in production that don’t occur in development or staging.
- The documentation for deploying the application to production is a short text file with a last modified date that’s over a year old.