Bir önceki makalemizde Orchestrator ve bileşenleri hakkında bilgilenmiştik. Bu makalemde ise sizlere aklımızda ki ya da ortamımızda bulunan yazılı iş akışlarını otomasyon haline getirerek dijital ortama aktarmamızı sağlayan Runbook ve Runbook Designer kavramlarını anlatamaya çalışacağım.
Runbook, yapmak istediğimiz akışları çeşitli Integration Pack (Aktiviteler) ler ile birlikte herhangi bir programlama bilgisine gerek duyulmadan (çeşitli powershell ve diğer scriptler kullanılarak daha gelişmiş işlemler gerçekleştirilebilir) adım adım tanımlanarak otomasyona dahil edilmesini sağlar. Eğer elimizde bulunan Integration Pack ler yapmak istediklerimizi karşılamıyor ise 3. parti IPs ler ya da powershell veya .Net script leri ile de çok daha kapsamlı Runbook lar tasarlayabiliriz. Runbook kavramı ile birlikte bir sunucunu açık olup olmadığı ya da ilgili sunucu üzerinde ki bir hizmetin durumunun kontrolü gibi pek çok basit iş akışları tasarlanabileceği gibi, çok daha kapsamlı ve birbiri ile entegre edilmiş akışlarda tasarlanabilmektedir. Programlama bilgisine gerek duyulmadan demiştik, işte bunu sağlayan yani bir runbook oluşturup tasarlamamızı sağlayan ortama Runbook Designer denir. Runbook Designer ı kullanarak oldukça kapsamlı iş akışlarını görsel hale çevirmiş oluruz.
Runbook, tasarladığımız akışı sakladığımız ve çalıştırdığımız yerdir. Bir Runbook içerisinde yalnızca tek bir başlangıç noktası olabilir ve Runbook başlangıç olarak ya bir veri almalıdır ya da bir izleme (monitor) işlemi ile başlamalıdır. Runbook içerisindeki aktiviteler birbirlerine linklerle bağlanırlar. Bu linklerde seçtiğimiz değerler ile (örneğin, success ya da failure gibi) akışın ne şekilde devam edeceğini belirlemiş oluruz. Örneğin, Active Directory içerisinde oluşturacağımız bir kullanıcı için belirlemiş olduğumuz kullanıcı adının var olması durumunda akış farklı bir yöne, kullanıcı adının uygun olması durumunda ise akış başka bir yöne gitmelidir. Benzer şekilde, bir işlemi daha da optimize etmek amacıyla เว็บ แท่ง บอล ออนไลน์ gibi çevrimiçi platform entegrasyonları kullanılabilir, böylece veri akışını daha etkili yönetmek mümkündür. Bir aktiviteye gelen birden fazla link olabileceği gibi bir aktiviteden çıkan birden fazla link de olabilir. Dolayısıyla kullanılan linklerin isimlendirmesi ve renklendirmesi de akışların dışarıdan takip edilebilmesinde kolaylık sağlamaktadır. Runbook içerisinde kullandığımız aktivitelerde önceki aktivitelerin sonuç olarak ortaya çıkardığı değerleri kullanabiliriz. Bu değerlerin birbirine aktarılabilmesi için aktivitelerin linkler ile birbirlerine bağlı durumda olmaları gerekmektedir. Aktiviteler birbirlerine bu veri aktarımını Data Bus denilen özellik sayesinde yapmaktadırlar. Örneğin, kullanıcı oluşturma örneğinde diyelim ki bir sonraki adımda (aktivite de) kullanıcı için bir de e-mail adresi açmak istiyoruz. Kullanıcı adını oluşturduğumuz aktiviteden aktarılan kullanıcı adı verisini posta kutusu açma aktivitesinde kullanabiliriz. Böylece bir aktivitede elde ettiğimiz bir sonucu başka bir aktivitede veri olarak kullanmış oluyoruz. Data Bus ile aktarılan verileri aktiviteler içerisinde Published Data yöntemi sayesinde kullanabilmekteyiz.
Yukarıda ki ekran görüntüsünde görüldüğü üzere Runbook Designer mız beş ana bölümden oluşmaktadır. Soldan sağa doğru bu bölümleri sıralarsak,
· Connections
· Runbook Design
· Activities
· Log
· Command bar
Sırasıyla bu bölümleri açıklayalım,
Connections: Bu bölümde oluşturulan klasörleri, önceden tanımlanmış olan değişkenler, sayaçlar ve bilgisayar gruplarını görebiliriz. Klasörlere sağ tıklayarak içerisinde yeni bir runbook oluşturabilir, ilgili klasörü içerisinde ki runbook lar ile birlikte export edebilir ya da ilgili yere daha önceden export edilmiş runbook ları import edebiliriz. Ayrıca Orchestrator konsolu üzerinden bu klasörlere kimlerin erişiminin olması gerektiğini de Permissions bölümünden yönetebiliriz. Permissions bölümünde verdiğimiz yetkilendirmeye göre Orchestration Console da runbook lar görüntülenecektir.
Runbook Design: Runbook Designer konsolumuzun orta bölümünde ise Connections bölümünden seçmiş olduğumuz klasörler içerisinde bulunan runbook ları görüntüleyebilir ve düzenleyebiliriz.
Activities: Konsolumuzun sağ bölümünde bulunan Activities alanında ise sistemimize tanıtmış olduğumuz Integration Pack leri görüntüleyebilir ve tasarladığımız runbooklar içerisinde ilgili IP leri seçerek kullanabiliriz.
Log: Bu bölüm kendi içinde 4 alt bölüme ayrılır. Bunlar Log, Log History, Audit History ve Events şeklindedir. Log bölümünde, runbook un çalışıp çalışmadığını ve çalışıyor ise o an hangi aktivitede olduğunu görebiliriz. Log History bölümünde çalışmasını tamamlamış olan runbook un başarılı bir şekilde tamamlanıp tamamlanmadığını ve hatanın alındığı aktivite ile hatayı görebiliriz. Audit bölümünde runbook un hangi kullanıcı hesabıyla çalıştırıldığını görüntüleyebiliriz. Events bölümünde ise o ana kadar ki tüm olayları görüntüleyebiliriz.
Command Bar: Bu bar üzerinde ki en önemli öğeler, runbook larımızı çalıştırıp durdurmaya yarayan Run ve Stop, Runbook larımızı düzenlemeye ve düzenlemeyi kaydedip gerçek ortamda çalışıtırılabilir hale getirmeye yarayan Check In, runbook u düzenlenebilir duruma getiren Check Out, yapılan değişiklikleri geri almaya yarayan Undo Check Out, oluşturulan runbook ları test etmek için kullanılan Runbook Tester ve Orchestrator konsolunu açmaya yarayan Orchestration Console şeklinde sıralayabiliriz.
Runbook Tester: Runbook tester ı kullanarak aynı bir uygulama geliştiricinin uygulamasını test etmesi gibi oluşturmak istediğimiz runbook ların düzgün çalışıp çalışmadıklarını görebilir, adım adım çalıştırarak sonuçları izleyebilir ve oluşan hataları görerek eksik olan yerleri düzeltebiliriz.
Not: Runbook tester kullanılırken unutulmaması gereken işlemler sırasında kimlik denetimi isteyen işlemlerde Runbook Tester ı çalıştırmış olan kullanıcının bilgileri kullanılmaktadır. Dolayısıyla Runbook Tester ile düzgün çalışan bir runbook normal şekilde çalıştırıldığında kullanıcı yetkisi nedeniyle hata verebilir. Bu konu göz önünde bulundurulmalıdır.
Orchestration Console: Bu linke tıkladığımızda web browser açılır ve eğer farklı bir port belirtilmedi ise http://sunucuadi:82 adresini açar. Bu adreste karşımıza gelen silverlight tabanlı bir web sayfası gelecektir. Bu web sayfasında Runbook Designer da oluşturulmuş ve Check-In ile çalıştırılmaya hazır hale getirilmiş runbook lar görüntülenecektir. Eğer burada görüntülenemeyen runbook lar var ise makalemizin başlarında bahsetmiş olduğum runbook lar için yetkilendirmeleri kontrol etmek gerekmektedir. Bu web sayfasını kullanarak runbook ları çalıştırabilir, o an çalışan runbook ları görüntüleyebilir ve çeşitli istatistiklere (runbook ne zaman çalıştı, başarılı çalıştı mı vb.) ulaşabiliriz.
Runbook Designer konsolumuzda son olarak bahsetmek istediğim bölüm ise menülerde bulunan Options seçeneğidir. Orchestrator sistemine eklediğimiz bazı integration pack ler bu bölüme ayarlarının yapılabilmesi için link atarlar. Örneğin sisteme Active Directory IP sini ekledik diyelim. Bu IP barındırdığı aktiviteleri gerçekleştirebilmek için AD sistemine erişebiliyor olması gerekmektedir. İşte Options bölümünde Orchestrator içerisinde ki IP nin AD sistemine erişebilmesi için gerekli olan kullanıcı, parola ve sunucu bilgilerinin girilmesi gerekmektedir. Bu bölümde her bir IP için bu bilgileri girmemiz gerekmektedir. AD IP si için ilgili olan ayarı yapmak için Runbook Designer içerisinde Optionsà Active Directory yolunu takip ederek ayarı yapacağımız ekranı açalım.
Ardından açılan iletişim penceresinde Add butonuna tıklayalım. Açılan Edit Configuration penceresinde Name bölümünde bağlantımız için bir isim belirleyelim ve Type bölümünde de … (üç nokta) işaretine tıklayıp Microsoft Active Directory Domain Configuration seçeneğini seçelim. Son olarak Properties alanıda gerekli olan bilgileri aşağıda ki şekilde girelim,
· Configuration User Name: Active Directory üzerinde okuma ve yazma yetkisi olan bir kullanıcı adının girilmesi yeterli olacaktır.
· Configuration Password: Yukarıda yazılan kullanıcı için parola girilmesi gerekmektedir.
· Configuration Domain Controller Name (FQDN): Ortamda ki domain controller sunucumuzun fqdn adresinin yazılması gerekmektedir.
· Configuration Default Container: Bu bölüme domain mizin ya da belirlediğimiz bir OU nun Distinguished Name (DN) bilgilerini yazıyoruz. Bu bölüm örneğin kullanıcı oluşturma, silme vb. Active Directory işlemleri yapılırken eğer bir DN belirtilmezse varsayılan olarak kullanılacaktır.
Yukarıda ki bilgileri düzgün bir şekilde yazdıktan sonra OK diyerek Edit Configuration penceresini kapatabiliriz.
Böylece herhangi bir runbook içerisinde Active Directory IP si içerisinde ki aktivitelerden birisini kullandığımızda bu oluşturmuş olduğumuz ayarları hazır olarak kullanacağız. Diğer IP ler için de benzer adımlar uygulanmaktadır.
Not: Eğer Configuration Password bölümünde ki kullanıcı parolası Active Directory üzerinde değiştirilir ise bu ayarı kullanan runbook ların düzgün çalışmaya devam edebilmesi için yeni parolanın bu bölümde de güncellenmesi gerekmektedir. Aksi halde runbook lar hata vererek çalışmayacakladır.
Bu makalemde ise sizlere aklımızda ki ya da ortamımızda bulunan yazılı iş akışlarını dijital ortama aktarmamızı sağlayan Runbook ve Runbook Designer kavramlarını anlatamaya çalıştım.
Faydalı olması dileğimle…