İlk Adımlar

Mehmet Utku Tatlıdede
LCW Digital
Published in
3 min readJun 22, 2021

Yaklaşık 2,5 yıl önce başlamış olan LCW modernizasyon sürecimizi Medium’da yayınlama kararı almamız ile birlikte biraz da tarihçeyi de ele alarak bu ilk makaleyi yazma görevi bana düştü. Bu makale bir çok makalenin ilki olma özelliği taşıyacağı için çok daha genel konuları ele alıp detaylarını arkadaşlarımın diğer makaleler ile ele almasını bekliyorum.

2019 yılı Ocak ayında LC Waikiki ailesine Mimari Yönetim Müdürlüğünü kurmak için göreve başladım. Öncelikle LC Waikiki’nin 2019 yıldaki teknik olgunluğu ve BT ekibinin büyüklüğü karşısında ciddi oranda şaşırdım. Neredeyse tüm ihtiyaclarını kendi yazılımları ve inovatif çözümler ile hayata geçirmiş bir BT organizasyonu LC Waikiki. Elbette uzun yıllardır kullanılan ve modernizasyon ihtiyacı olan uygulamalrımız da var ancak yeni uygulamalar gayet sağlam mimariler üzerinde yükseliyordu.

Öncelik olarak mevcut eksikleri tanımlama, strateji belirleme, stratejiye uygun teknoloji yığınını belirleme ve örnek bir proje ile tüm yeni yapıların gerçek hayatta kendine yer bulmasını sağlamak olarak belirledik. İlk hedefimizi de örnek bir uygulamayı microservis mimarisinde Kubernetes ortamında hayata geçirmek olarak belirledik.

LC Waikiki de genel olarak .Net Framework kullanıldığı için .Net Core 2.2 a geçiş ile başladık. Servislerimizdeki common concern dediğimiz gereksinimleri Pars.Core isimli bir framework geliştirerek karsıladık. Mimari ekip olarak Pars.Core’u tüm developerlarla beraber opensource olarak geliştirilecek şekilde adresledik. Ön yüz konusunda da Angular 8 ile geliştirim yapıldı. İşletim katmanı Kubernetes için opensource olan Rancher’ı Ubuntu serverlar üzerine kurarak başladık. Teknoloji yığını olarak async işlemler icin Rabbit MQ, cache’in icin Redis ve loglama için Elastic Search kullanmaya başladık. Monitoring için ise Prometheus ve Grafana ikilisini kullandık. Kodlarımızı Azure Devops Server üzerinden Git’e aldık. Azure Devops Pipelines kullanarak tüm CI / CD işlemlerini otomatikleştirdik ayrıca Azure Artifacts ile paketlerimizi yayınlamaya başladık. Konfigurasyon ve şifre yönetimini Kubernetes config map ve secretları ile çözdük. Sonradan bunları HashiCorp Consul ve HashiCorp Vault üzerine taşıdık. Domian Driven Design a uygun ve pattern olarak da CQRS patterinini uygulamaya özen göstererek ilerledik.

Teknoloji yığını

Sonuçta Nisan 2019 da productionda mevcut olan monolithic bir uygulamayı gözümüze kestirip başladıgımız modernizasyon yolculuğunu Aralık 2019 da tüm çalışanlarımızın kullanımına açık olacak şekilde uygulamayı üretim ortamında almamız ile ilk durağına sağ salim ulaşmış oldu.

İlk uygulamamız tüm çalışanlarımız tarafından kullanılsa da LCWaikiki nin iş süreçleri açısından yaşanacak kesintinin etkisi hayati olmayan bir uygulama idi. Bu sayede ilk başlarda yaşadığımız bazı aksaklıkları kısa sürede aşmayı başarsak da ciddi de bir soruna yol açmadan ilerleyebilmiş olduk. Diğer taraftan eski sistem de ayakta oldugu icin her zaman işlerin eski yapı üzerinden devam edebilme sanşı vardı.

Özetle modernizasyon ve yeni teknolojinin yaygınlaşması gibi konularda başınıza ne zaman neyin geleceği belli olmaz. Yenilikten korkmak yerine geçişi yönetebilirsiniz. Sonrasında zaten işler yoluna girecek ve hem kendinizin hem de organizasyonun güveni ve bilgisi arttıkça işler daha da hızlanacaktır.

Önemli olan her zaman o ilk adımı atabilmektir…

--

--