Servisler arasi mimariyi tasarlarken kimin kimle iletisim kuracagini, hangi servislerin nelere dependent olacagini kurgulayip uzerinde calistigi sistemden bagimsiz sekilce containerize etmis oluyorsun.
Debian stable uzerinde calissin, X,Y,Z paketleri yuklensin; bu uygulama A,B,C dosyalarini su path icerisinde calistirsin, bu network uzerinde bu env variable'lari ile calissin vs gibi tonla konfigurasyonu guzel bir sekilde Dockerfile ile deklare ediyorsun. Boyleye kendi kendini dokumante eden izole bir sistemin olmus oluyor.
Ayrica bunlari bir orkestrasyon ile (swarm, k8 vs ) cluster halinde tekil bir sistem haline de getirerek devops surecini cok pratik hale getirebiliyorsun.
Eskiden bir uygulamanin yeni isletim sistemi kurulmus bir cihazda calisabilmesi icin zibilyon tane konfigurasyonu anlatan dokumanlar yazip hatasiz kuruldugunu takip etmemiz gerekirdi. Gunumuzde hala zibilyon tane konfigurasyon gerekiyor ama bunlar duzgunce kodlanmis, versiyonlama tool'u ile saklanmis ve uzerinden calistigi isletim sisteminden (neredeyse) bagimsiz hale getirilmis oluyor. Tek script ile calistiriyorsun her seyi.
Ayrica terraforming olayini da ( bkz
Terraform by HashiCorp ) kolaylastiran bir surec. Redis ve MySQL gerekliyse; gerekli image'i deklare edip devam edersin. 5 senedir Mysql kurulumu yapmadim bu guzellik sayesinde.