hurriyet.com.tr ve Python Devrimi

Ahmet seğmen
Hürriyet Labs
Published in
2 min readApr 23, 2017

Geçtiğimiz hafta Hürriyet iç eğitimlerinde Python-101 eğitimine ilgi büyüktü ve bu ilginin sebebi geçiş döneminden itibaren Python’ın hurriyet.com.tr’ye olumlu yönleriyle girişiydi.

Nisan 2015 tarihinden sonra hurriyet.com.tr’de gerçekleşen büyük değişimde hayatımıza giren teknolojiler Kemal Ogün Işık ın 50 Milyon Ziyaretçili Web Sitesini Nasıl Sıfırdan Yazdık? yazısında belirtilmişti. Python da bu teknolojilerin en önemlilerinden biri.

Yeni sistemin veri tabanı olarak MongoDB tercih edildi. Bu NoSQL ve Bson tipinde Document tutan veri tabanına, Python kütüphanesi olan pymongo ile erişim oldukça hızlı ve düşünülen kod bloğunun yazılması kolay olduğu için script dili olarak kullanılabilen Python tercih edildi.

Zamanlanmış görevlerde daha önceden başka programlama dilleri kullanılarak hazırlanan kodları kolayca Python alt yapısına çevirip kontrolünü tek bir proje üzerinden sağladık.

Geçiş döneminde en büyük sorunlardan biri yaklaşık 3 milyonluk içeriğin MsSQL’den MongoDB’ye aktarılmasıydı. Yine burada da Python kullanarak aktarımı daha keyifli hale getirdik.

hurriyet.com.tr için Python ile elde edilen kazanımlardan biri, resimlerin dinamik olarak istenilen boyutlarda ve kalitede üretilerek önyüze tornado uygulaması ile basılmasıdır. Bu yöntem ile büyük bir alan tasarrufu sağlandı ve büyük bir dinamizm kazandırıldı.

hurriyet.com.tr’nin arama alt yapısı Elastic üzerinden çalışmaktadır. Dataların Elastic’e aktarılmasında Python’dan faydalanıldı. Canlı ve hızlı bir ekosistem olduğumuz için belirli kriterlerde sıcak içerik verebilmek için Elastic’ten çekilen verileri sunan DataSource sistemi oluşturduk. Bu sistem kullanmış olduğumuz içerik yönetim sisteminin en önemli parçası haline geldi ve gün geçtikçe daha fazla kullanılmaya başlandı. Bazı sorunlarla karşılaşınca(dataların geçikmeli olarak gelmesi veya herhangi bir hatada bazı verilerin kaybolması), Python ile yazılmış Mongo-Connector’u Elastic için sistemimize uyarlayarak kullanmaya başladık. Böylece bir sorunumuzu daha Python ile aşmış olduk.

Son olarak hali hazırda devam eden Yerel Haberler Projesi(spolier :D) kapsamında hurriyet.com.tr yi ziyaret eden kişilerin ip bazlı lokasyon bilgilerini alabildiğimiz micr0-service projesi tornado alt yapısı ile geliştirerek artık Python’ın çoğu nimetinden faydalanmaya başladık.

Python’ın, hurriyet.com.tr’nin hayatına giriş ve gelişmesi bu şekilde devam etmektedir. Yeni geliştirmelerle tekrardan karşınızda olacağız. Görüş ve önerilerinizi paylaşmanızı bekleriz.

--

--