Commonwealth Bank, otomatik testler, güvenlik açığı taraması ve kod kalitesi incelemeleri sayesinde yazılım mühendislerinin yeni özellikleri daha hızlı üretime geçirmelerine yardımcı olmayı amaçlıyor.
CBA’dan Helen Lau.
Mühendislik araçları başkanı Helen Lau, geçen ayki GitHub Universe konferansında bankanın bu mali yılda, öncelikle GitHub Eylemleri aracılığıyla oluşturma sürecine otomatik kontroller getirmeye odaklandığını söyledi.
GitHub Actions, GitHub’un yerel CI/CD aracıdır ve GitHub belgelerine göre otomatik olarak kod oluşturan, test eden, yayınlayan, yayınlayan ve dağıtan iş akışları oluşturmak için kullanılır.
Lau, CI/CD hattında otomasyon oluşturmanın bankanın güvenlik kontrolü ve mevzuata uygunluk gereksinimlerini karşılamasına yardımcı olabileceğini söyledi.
“Bakıyoruz [the] karşılamamız gereken gereksinimler. Örneğin, bir akran değerlendirmesine ihtiyacımız varsa [of the code], bunu işlem hattımızda otomatikleştirebilir miyiz? Güvenlik açığı taraması yapıp bunu hattımızda otomatik hale getirebilir miyiz?” dedi.
“Bu mali yılda ekibimde aradığımız şey bu; banka genelindeki mühendislerimiz için bunu otomatik hale getirmek, böylece düzenleyici açıdan gerekli olan altı veya yedi adımı oluşturmayı düşünmek zorunda kalmıyorlar.
“Aslında bunları GitHub Eylemlerimizin zorunlu adımları olarak uyguluyoruz. Kullandığın sürece [GitHub Actions]bunların hepsini sizin için otomatik olarak yapıyor.”
Lau, GitHub Actions’ın dahili olarak desteklenen birkaç CI/CD aracından biri olduğunu ancak bankanın son zamanlarda bu sayıyı azaltmaya çalıştığını belirtti.
Nihai amaç olan “Kuzey Yıldızı”nın, mühendislerin “kodu kesmeyi bitirdikleri, taahhütte bulundukları, çekme isteğinin onaylandığı, [and] dakikalar içinde üretime geçebilecek çünkü [undergo] otomatik test, güvenlik açığı taraması, kod kalitesi vb.”
“Yapay zekadan yararlanmak istiyoruz [and] Mühendislerimizin özelliklerini ilk taahhütten birkaç dakika içinde üretime geçirmelerine yardımcı olacak otomasyon.”
Lau, CBA mühendislerinin şu anda GitHub deposuna ilk girişleri ile kodun üretime hazır olması arasındaki sürenin kısmen ölçüldüğünü söyledi.
“Temel olarak kodu ilk işlemenizden geliştirme/test aşamasından üretime kadar takip ediyoruz, çünkü üretim, gerçek son kullanıcımızın bu özelliği kullandığı yerdir” dedi. “Yani bu tür zamanlamayı izlemeye çalışıyoruz.”
Ayrıca, oluşturdukları ve sahip oldukları bir özelliği içeren “bir olay olması durumunda onarımın sağlanması için gereken süreye” göre de ölçülürler.
Lau, “Bunlar, müşterilerimize sunduğumuz hizmetlerin kullanılabilirliği ve esnekliği açısından önemli şeylerdir” dedi.
“[Time to restore] aslında müşteri etkisi var, [and can] düşük NPS’ye sahip olmamıza neden olur [net promoter] Gol.”
Lau, bankanın aynı zamanda koddaki güvenlik açıklarını, yanlışlıkla depolara eklenen sırları taramak ve kod tabanlı bağımlılıkları haritalamak için kullanılan bir eklenti olan GitHub Advanced Security’yi yakın zamanda benimsediğini söyledi.
Lau, özellikle sırların (API anahtarları veya parolalar gibi hassas verilerin) kodlara girme ihtimalinden endişe duyduğunu söyledi.
“Geceleri beni ayakta tutan şey, kaynak koduna ve üretime ulaşan sırlardır” dedi.
“Gerçekten baktığım ve kimsenin aptalca bir şey yapmamasını sağladığım şeyler bunlar. Eğer yaparlarsa, bunu araç ve otomasyon aracılığıyla yakalarız ve onlardan sorunu hemen düzeltmelerini isteriz. [when it’s] çok geç.”
Lau ayrıca bankanın, geliştirici üretkenliğini artırmanın bir yolu olarak pazarlanan yapay zeka çift programlama aracı olarak adlandırılan GitHub Copilot kullanımına da kısaca değindi.
Banka geçen ayın sonlarında Copilot’u başlangıçta 100 personele sunduğunu ve yakında bu kullanıcı grubunu 1000’e çıkaracağını söyledi.
Yaklaşım, bankanın farklı yapay zeka tabanlı araçları deneme biçiminin tipik bir örneğidir; daha ileri gidip gitmeyeceğine karar vermeden önce küçük bir ölçekte başlar.
“Bazen insanlar neden küçük bir kullanım senaryosu yaptığınızı söylüyorlar? Aslında her şeyi denemek istiyoruz ama asıl mesele şu ki, en büyük sorunun, paramızın karşılığını en büyük kazancın ne olduğunu söylerken pragmatik bir yaklaşım benimsememiz gerekiyor. Lau, test etmemiz ve öğrenmemiz gereken şeyler bunlar” dedi.
“Değerini kanıtladıktan sonra ölçekli bir dağıtım ve benimseme gerçekleştiriyoruz.”
Lau, denenen araçların yalnızca beşte birinin herhangi bir ölçekte gerçekten kullanıldığını ekledi.
“Birçok şey deniyoruz ama denediğimiz 10 şey değil, üretime geçen 10 şey var” dedi.
“Denediğimiz 10 şeyden belki iki veya üçü üretime geçebilir, ancak bu iki veya üç şeyin getirisi muhtemelen bugün yaptığımızın 10 katı veya 20 katıdır.”