Continuous Delivery Nedir?


Yazılımın sürekli olarak canlıya alınabilecek şekilde geliştirildiği yazılım geliştirme yöntemidir.

ThoughWorks’e göre Continuous Delivery (Sürekli teslimat) uygulamak için şu şartlar sağlanmalıdır:
1. Yazılım geliştirme süreci boyunca canlıya alınabilecek durumda olmalıdır.
2. Ekibiniz yazılım canlıya alınabilecek durumda tutmayı, yeni özellik geliştirmeye tercih etmelidir.
3. Herhangi bir değişiklik yapıldığında yazılımın canlıya almaya hazır olup olmadığına dair hızlı ve otomatik geri bildirim alınabilmelidir.
4. İstenildiğinde yazılım tek bir tuş ile istenilen ortama dağıtılabilmelidir.

Mavi Yeşil Dağıtım (Blue Green Deployment) Nedir?


Sürekli teslimat, ürünün her zaman canlıya alınmaya hazır olmasını, dolayısıyla yeni geliştirmelerin sık olarak canlıya alınmasını sağlamaktadır.

Ancak canlıya alma sırasında sunulan servislerde kesinti olabilmektedir. Kesintiyi en aza indirebilmek için dağıtım işlemini, mümkün olduğunca hızlı yapmak gerekmektedir.

Mavi Yeşil dağıtım kesintiyi en aza indirmeyi bir birinin mümkün olduğunca aynısı olan 2 ortam (mavi, yeşil) ile sağlamaktadır.

Bu ortamlardan sadece bir tanesi canlı hizmet verirken, diğeri dağıtım yapılmaya hazır olarak bekletilir.

Örneğin, mavi ortam canlıya hizmet veriyor olsun.
1. aşamada dağıtımı yeşil ortama yapıp, uygulamanın doğru çalıştığından emin oluyoruz.
2. aşamada yönlendirici (router) üzerinden trafiği yeni dağıtım yaptığımız yeşil ortama yönlendiriyoruz. Böylece mavi ortam bir sonraki dağıtım için bekler duruma geçiyor.

Mavi Yeşil dağıtım, kesintiyi en aza indirirken, herhangi bir sorun olduğunda hızlıca bir önceki sürüme geçmeyi sağlamaktadır.