liveBook · Manning

Greenfield environment

As explained in Bootstrapping Microservices, Second Edition: With Docker, Kubernetes, GitHub Actions, and Terraform

A new application developed without needing to preserve or integrate with an existing application implementation.

A greenfield environment is a setting for developing a new application without preserving or integrating an existing implementation. Building from scratch is usually simpler than refactoring a legacy codebase because the work does not depend on its particular constraints. section 1.1

A greenfield environment is especially useful for learning a microservices-first approach. Starting with a fresh application makes it possible to experience the techniques directly before developing a strategy for converting an existing monolith. section 1.1

Treat greenfield development as an opportunity, not a guarantee of architectural perfection:

  • Choose an appropriate position on the spectrum between monoliths and microservices rather than assuming that microservices are always correct. section 1.13
  • Use the freedom of a new application to pursue an idealized microservices design, while recognizing that maintaining this direction requires discipline. section 1.13
  • Expect real-world development to remain complicated and allow incremental movement toward microservices instead of demanding a perfect implementation. section 1.13

Starting a new application

A team developing a fresh application can begin with a microservices-first design. After gaining that experience, it can more clearly identify a route for converting an existing monolith, even though that later work remains demanding and dependent on the legacy codebase. section 1.1

Figure 1.7 It’s not just monolith versus microservices: there’s actually a spectrum of possibilities.

Use the spectrum to compare a greenfield microservices design with monoliths, helper services, and mixed architectural arrangements. section 1.13

How Bootstrapping Microservices, Second Edition: With Docker, Kubernetes, GitHub Actions, and Terraform covers it

How deep it goes
Defines the implementation advantage over refactoring and discusses architectural discipline, but stops short of prescribing one required position.
Examples
Uses a fresh microservices application and a spectrum ranging from monoliths to many small services.
What you can do after
Build it from scratch as a microservices-first application, then use that experience to reason about monolith conversion.
How it connects
Connects greenfield development with microservices, monoliths, legacy codebases, and monolith conversion.

Also explained in

Compare how 3 books explain greenfield environment →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Bootstrapping Microservices, Second Edition: With Docker, Kubernetes, GitHub Actions, and Terraform. The section links point to the parts of the book it draws on.