Notice how in the traditional environment that an enormous amount is assumed to be already  present in the environment and (hopefully) correctly installed and configured. The operating  system, the product and language run time, and the fixed configuration must all be present  before you can deploy an application to it.  In the cloud-native approach, your image supplies the application code and all its  dependencies, including the product and run time, including its dependencies within the  operating system. You can be sure that what you deliver to any environment is always  consistent.  To understand a bit more about the differences, let us look at how you can build and nurture a  traditional server. We typically build the server by starting with a raw operating system,  starting the operating system, installing the run time, adding any necessary fix packs, and  performing any necessary environmental configurations. We might perform some verification  tests on this server, and then start deploying our applications.  Figure 4-2 shows an overview of this process. Figure 4-2 Building and nurturing a traditional sever All that installation and d eployment work had to happen before you could service a single  request. Over time, you  might decide to add further operating system upgrades or fix packs to  the run time. All these acti ons had to be done with the server running, and required special  commands to be run to inst all or deploy things to the live server.  What are the challenges of t his approach? The build of the server requires many steps that  involve running proprietar commands on a live running server. These are complex  commands, and even if they are automated it is hard to be 100% sure that after the sequence  of commands you end up  with exactly the same server configuration in each of a high  availability (HA) pair or ac ross multiple environments, such as development, test, and  production. When further ongoing configuration changes and deployments are performed,  they can potentially result in  configuration divergence between environments. This situation  can lead to the classic diag nosis problem of "Well, it worked in my environment!" Creating an  exact replica of an enviro nment becomes more difficult the more  nurtured  the environment is.  Chapter 4. Cloud-native concepts and technology  91 s D W ƌ Ž Ě Ƶ Đ ƚ ͬ ů Ă Ŷ Ő Ƶ Ă Ő Ğ  Z Ƶ Ŷ ƚ ŝ ŵ Ğ  & ŝ ǆ Ğ Ě  Ž Ŷ Ĩ ŝ Ő Ƶ ƌ Ă ƚ ŝ Ž Ŷ  . H \ & U H D W H G Q H Z I R U H D F K Q H Z U H O H D V H 5 H P D L Q V V D P H I R U H D F K Q H Z U H O H D V H Ŷ ǀ ŝ ƌ Ž Ŷ ŵ Ğ Ŷ ƚ  Ž Ŷ Ĩ ŝ Ő Ƶ ƌ Ă ƚ ŝ Ž Ŷ  Ž Ě Ğ  Ž Ě Ğ  ' H S O R \ H G O L Y H W R H D F K U X Q Q L Q J V H U Y H U L Q W K H + $ S D L U & U H D W H G L Q V W D O O H G W K H Q S U R J U H V V L Y H O \ ³ Q X U W X U H G ´  Z L W K I X U W K H U I L [ S D F N V D Q G F R Q I L J X U D W L R Q V R Y H U W L P H s D W ƌ Ž Ě Ƶ Đ ƚ ͬ ů Ă Ŷ Ő Ƶ Ă Ő Ğ  Z Ƶ Ŷ ƚ ŝ ŵ Ğ  & ŝ ǆ Ğ Ě  Ž Ŷ Ĩ ŝ Ő Ƶ ƌ Ă ƚ ŝ Ž Ŷ  Ŷ ǀ ŝ ƌ Ž Ŷ ŵ Ğ Ŷ ƚ  Ž Ŷ Ĩ ŝ Ő Ƶ ƌ Ă ƚ ŝ Ž Ŷ  Ž Ě Ğ  Ž Ě Ğ  Ž Ě Ğ 