Kurumsal IT-Teknoloji Eğitimleri-Eğitim Takvimi

ITIL ve DevOps

ITIL ve DevOps arasında ciddi bir bağ bulunmaktadır. Yazımızda ITIL ile DevOps hakkındaki bağımlılıklara değineceğiz. ITIL ile DevOps başlıklarına tanım yaparak özel olarak değinmek gerekirse; ITIL hizmet yaşam döngüsüne yoğunlaşmakta, doğumundan ölümüne kadar tüm hizmet adımlarını içeren bir ITSM kılavuzu oluşturmaktadır. DevOps ise Lean metodolojisi ile Agile geliştirme uygulamalarından esinlenerek ürün üretimi için mümkün olan tüm fonksiyonlar (özellikle geliştirme - operasyonel birimleri) arasındaki kesintisiz iş akışını sağlamayı amaçlamaktadır. Bir DevOps yaklaşımı ile müşterilerinize veya kullanıcılarınıza değer katmak, iş birimlerinin hızına yetişebilmek için çeşitli önceliklendirmeler, süreçler arasında bağlantılar kurabilirsiniz. Bazı örneklerde bu görevler farklı birimlerin üyelerinden oluşan sanal gruplar tarafından yürütülmektedir. ITIL ile Service Design fazı içerisindeki süreçler kullanılarak Agile yazılım geliştirmeleri yapılmaktadır.

Şirketler, IT ekipleriyle geliştirme ekipleri arasındaki işbirliğini engelleyen gruplaşmaların önüne geçmek için alternatif çözümler düşünmektedir. Bu işbirliğinde yaşanabilecek en ufak bir sorun şirketlerin kaynaklarını, yeteneklerini doğru şekilde kullanmalarını engelleyerek hizmet desteğinin verimsiz, esnek olmayan katı kurallar içerisinde sunulmasına neden olmaktadır. İş birimlerinin değişen piyasa koşullarına hızlı şekilde adapte olmaları, müşterilerinin beklentileri ile üst yönetimin stratejilerindeki değişimleri hızlı şekilde uygulamaya geçirmeleri doğrudan IT birimlerinin esnekliğine, hızına bağlıdır.

ITIL süreçlerini altyapı birimlerinde hayata geçiren birçok firma ITIL ve DevOps arasındaki bağın ne kadar kuvvetli olduğunu görmektedir. Bu bağın güçlendirilmesi ile performans, müşteri memnuniyeti, iş birimlerinin beklentilerinin karşılanması gibi çıktılar kolaylıkla sağlanmaktadır. Şirketler ürettikleri ürünlerin desteği ile ilgili operasyonu başarılı şekilde yönetemediklerinden dolayı birçok başarılı proje müşteri memnuniyetinin düşük olması ve ihtiyaçların hızlı şekilde devreye alınamamasından dolayı başarısızlıkla sonuçlanmaktadır.

ITIL ve DevOps süreçleri iç içe girmiş gibi görünebilir fakat ikisi birbirinden farklı şekillerde tanımlanmaktadır. ITIL fazlarında kendi altyapı süreçlerinizi tasarlarken DevOps fonksiyonlarını da ITSM uygulamaları ile tanımlayabilirsiniz. DevOps fonksiyonları ITIL içerisinde kolaylıkla konumlandırılabilir. ITIL fazlarından Service Operation içerisinde bulunan Application Management fonksiyonu şu adımlardan oluşmaktadır: Requirements, Design, Build, Release, Operate, Optimize. Application Management fonksiyonu birçok farklı ITIL fazı ile ilişkilidir. Herhangi bir yazılım geliştirme yaşam döngüsüne karşılık olarak kullanılamaz fakat uygulama geliştirme ile geliştirilen uygulamaların işletilmesi, son kullanıcı desteğinin verilmesi için bir fonksiyon olarak tanımlanmıştır.

ITIL hizmet yönetimi süreçlerinin dinamik olduğu unutulmamalıdır. Bu dinamik yapıyı karar destek adımlarında etkili şekilde kullanabilirsiniz. Örnek vermek gerekirse; işiniz gereği yalnızca bir faza odaklanmış olabilirsiniz fakat diğer fazlarla ilgili karar vermek istediğinizde ITIL’ın dinamik yapısı size yardımcı olacaktır. Service Transition fazındaki Release and Deployment Management sürecinde çalışan bir yazılım geliştirici release öncesinde Service Design fazındaki süreçleri ilgilendiren bir konuda karar verebilir. Requirements adımı Service Design fazı süresince sürekli aktif kalacaktır. Design adımında gereksinimler uygulamalarda kullanılacak özelleştirmelere dönüştürülür. Build adımında uygulama geliştirilir ve yayınlamaya hazır hale getirilir. Geliştirme ve Yayınlama adımları Service Transition fazındaki Release and Deployment Management sürecine dâhil olan adımlardır. Release tanımı geliştirmeyi ve testi içerirken; Deployment tanımı uygulamanın kurulumu ve eğitimi gibi başlıkları içermektedir. Release and Deployment Management süreci içerisinde bulunan alt süreçlerden biri olan Early Life Support yayınlama ve işletme süreçlerinin daha başarılı şekilde yürütülmesine katkı sağlar. Bildiğiniz gibi ELS ürünün yayınlanmasından sonra ilk aşamadan çıkan hataların karşılanmasını amaçlamaktadır. Artık yeni yayınlanmış olan hizmet veya uygulama canlıya alınmıştır. Service Continual Improvement fazı süreçleri ile izlenerek iyileştirme notları alınmaya başlanabilir. KPI’ların tanımlanmasıyla beraber ITIL ve DevOps arasındaki bağlantının kurulmasına başlanır. Müşteri memnuniyetini artıracak veya gelen ihtiyaçları karşılayacak geliştirmeler ile beraber yazılım iyileştirmeleri DevOps fonksiyonlarına iletilir.

DevOps Agile ve Lean metodolojilerini kullanarak hızlı, gelişmiş, etkili çözümler üretir. Agile yöntemleri ekiplerin, süreçlerin, teknolojilerin işbirliğine ve etkileşimine bağlıdır. Agile ile ITIL arasındaki bağın en güçlü olduğu ITIL süreçlerinin başında Change Management, Configuration Management, Release and Deployment Management süreçleri gelmektedir. ITIL süreçlerinin birbirleriyle olan etkileşimi çevik bir yönetim yapılmasına katkı sağlamaktadır. DevOps stratejileri sürekli hizmet erişimini, entegrasyonunu sağlar. Bunun için teknoloji seviyesinin belirli bir düzeyin üzerinde olmadı gerekirken aşağıda listelenmiş olan temel yeteneklere sahip olan ITIL uygulamaları başarılı olmaktadır:

  • Release süreçlerinde ilerlenirken gerçek zamanlı, uçtan uca, olay odaklı izleme ile kapsamlı takibin yapılabilmesi
  • Ortam dışı konfigürasyonların kontrol edilerek olası tutarsızlıkların engellenmesi, yetkisiz değişikliklerin ve düzenlemelerinde önüne geçilmesi
  • Otomasyon ve insan bağımlı iş akışlarının entegrasyonu
  • Hata teşhisi ve Root-Cause analizleri
  • Release boyunca değişikliklerin izlenmesi için Change Management süreci ile kesintisiz entegrasyon sağlanması

DevOps Adaptasyonu

Hizmet verenler müşteriye hızlı dönüş sağlamak için işbirliğine hazır olmalı, tekrarlamalı şekilde müşteri beklentilerini sorgulamalıdır. IT birimleri son kullanıcıların IT’den beklentilerini sürekli karşılayabilmelidir. Bunun için kullanıcıların istekleri ile iş birimlerinin ihtiyaçları karşılanarak değer oluşturma görevini üstlenilmelidir. Birçok şirkette Development and Operations farklı şekillerde tanımlanmıştır. Fakat devam eden, agile, iki-yönlü ilişkili uygulama desteği net şekilde tanımlanmamıştır. Bu süreçlerin geliştirilmesinde yaşanabilecek herhangi bir sorun ürün değişikliklerinden kaynaklanan geliştirmeler için olay ve problem kaydı olarak geri döner. ITIL süreçlerinde tanımlanan Early Life Support müşteri değerini artırmak adına destek ekipleri ile operasyon ekipleri arasındaki yetenek boşluklarını tamamlamaya yardımcı olmaktadır. Agile yöntemleri uygulamaların canlıya alınmasından sonraki ilk günlerde hızlı sorun çözümleri ile hizmetin müşteriye sağladığı faydayı uygun seviyelerde tutmayı amaçlamaktadır.

Aşağıdaki şema geliştirme ve operasyon ekiplerinin ITIL fazları üzerindeki dağılımını temsil etmektedir. 

ITIL ve DevOps arasındaki dağılımı gösteren şema ise aşağıdaki gibidir:

ITIL ve DevOps – Mükemmel Bir Kombinasyon

ITIL ve DevOps yaklaşımları müşterilerinize daha kaliteli hizmet sunmak için bir araya getirilmesi zorunlu olan yaklaşımlardandır. Bir DevOps yaklaşımı ITIL süreçlerinden bağımsız olarak konumlandırılamaz. Şirketler hizmetleri, müşterileri, tedarikçileri arasındaki bağı kuvvetlendirmek için ITIL süreçlerini başarılı şekilde yönetmelidir. DevOps yaklaşımı da müşterinin ihtiyaçlarını en hızlı şekilde hayata geçirmek için doğru şekilde konumlandırılmalıdır. Sürekli iyileştirme adımlarının başarılı olması için DevOps ekibinin geri dönüşleri de önemlidir. Service Design süreçleri DevOps bağımlı release management süreçleriyle koordineli şekilde yürütülmelidir. Burada ihtiyaç duyulabilecek süreçler arasında tasarım koordinasyonu, Change Management, Release and Deployment Management ve Service Validation and Testing süreçleri bulunmaktadır.

Yazılım üretimi yapan şirketler IT altyapılarını ITIL süreçleri ile daha yönetilebilir hale getirirken SDLC süreçleri için kullandıkları Agile, Scrum, Lean metadolojilerini nasıl entegre edecekleri konusunda net bir konumlandırma üretememektedirler. Bundan dolayı yazımızda ITIL – DevOps arasındaki bağlantının nasıl yapıldığını aktarmaya çalıştık. ITIL – DevOps hakkında daha detaylı makaleler için ilerleyen dönemlerde kavramsal tanımlarla beraber uygulamada kullanılabilecek çözümlerle ilgili paylaşımlar da yapılacaktır.

BT Hizmet Yönetimi

Ebubekir SEZER