Shipping entire gardens instead of single flowers. Is that a good idea?
It’s not a good idea, but in IT we have been doing it for decades regardless. There’s a better way to go about it, though. Read the metaphor below. And let us know what you think.
Shipping software is typically done by distribution of just the installer program. However, in order for the software to work as expected any number of environmental conditions typically need to be met as well. For example: the operating system, specific hardware requirements or specific versions of other software the software depends on. Without shipping those as well, there’s no telling whether or not the software will be deployed in the right environment and will function properly. Kind of like shipping a flower that needs specific soil, without that soil and having the customer plant it in sand instead.
Maybe it’ll stay alive and grow, but under those conditions it’s less likely to become a beautiful flower. An alternative would be to ship the entire environment as well, to ensure everything meets specifications. Kind of like shipping that same flower, and including an entire garden for it to grow in. And a gardener. Not really a practical form of distribution.
A more desirable situation would be to ship the software and just enough of its environment and dependencies to make sure it’ll work as expected, yet be easy to ship anywhere. Like including a flower pot with nutrient rich soil with the flower. Small enough to be easily shippable, and big enough to ensure it’ll bloom and flourish.
You guessed it: the flower pots are like (Docker) containers. The entire garden is an entire virtual machine of several gigabytes and lots of things you don’t really need and ’the single flower’ is the stand-alone installer program.
Oh, and that gardener we mentioned has also evolved in the meantime. Instead of a human gardener performing manual tasks this could be a robot gardener like Kubernetes, which uses rakes and hoes like Ansible or Terraform to ensure that a garden meets all the requirements, automatically.
This is the first part of a series called ‘IT in Metaphors’ that will help outsiders to understand insiders and was written by Dirkjan van Zoelen and Jan de Vries. We invite you to join this club of Metaphor Engineers by sending an email to [email protected]
LinkedIn Dirkjan
LinkedIn Jan
Mogelijk is dit een vertaling van Google Translate en kan fouten bevatten. Klik hier om mee te helpen met het verbeteren van vertalingen.