
Her Mühendisin FinOps Hakkında Bilmesi Gerekenler
FinOps Nedir?
Duolingo’da kullanıcı deneyimi her şeyden önce gelir. Maliyet tasarrufu sağlayan bir değişiklik kullanıcı deneyimini olumsuz etkiliyorsa, buna değmez. Ancak bunun dışında, maliyet şeffaflığını en üst düzeye çıkarmak, israfı en aza indirmek ve mühendislik ekiplerini eyleme geçirilebilir içgörülerle güçlendirmek için birçok fırsat mevcuttur.
FinOps, Mühendislik ve Finans arasındaki boşluğu doldurur, böylece herkes israfı azaltmak için birlikte çalışabilir. Yakın tarihli bir örnek: FinOps panolarımızdan biri, belirli bir Max kullanıcı kategorisine bağlı OpenAI maliyetlerinde ani 10 kat artış olduğunu bildirdi. Finans departmanı bu eğilimi tespit etti, ürün ekibiyle iletişime geçti ve maliyetli değişikliği hızla geri almak için mühendislerle iş birliği yaptı.
FinOps’tan gelen bu görünürlük olmasaydı, bu artış haftalarca fark edilmeyebilirdi. Oysa saatler içinde çözüldü. Bu hızlı çözüm şans eseri değildi. Duolingo’da FinOps’a yaklaşımımızın bir sonucuydu. İşte bu gibi sorunları tespit edip önlemek için kullandığımız ilkeler.
Maliyet görünürlüğü maliyet içgörülerine yol açar
Tek bir dolar tutarı bize para harcadığımızı gösterir, nereye veya neden harcadığımızı değil. Bu yüzden her şeyi etiketliyoruz. Veriler ne kadar ayrıntılı olursa, tasarruf etmek o kadar kolay olur.
Ekibimizdeki bir mühendis, metinden sese (TTS) maliyetlerimize dahili maliyet takibi ekledi. Harcamaları kullanıcı türüne ve özelliğe göre ayırarak, Görüntülü Arama özelliğinin TTS maliyetlerinin, her ikisi de benzer TTS işlevlerine sahip olmasına rağmen, Rol Yapma özelliğinden 60-100 kat daha yüksek olduğunu keşfettiler.Temel fark ne mi? Rol yapma, TTS yanıtları için bellek içi önbelleğe alma özelliğine sahipken, Görüntülü Arama’da bu özellik yoktu. Ekibimiz Görüntülü Arama için de benzer bir önbellek uyguladı ve toplam TTS maliyetlerimizi %40 oranında azalttı! Sorunu çözmek zor değildi; sadece görmek zordu.
Maliyetleri saatlik olarak takip ettiğimiz için, yalnızca bir şeyin değiştiğini değil, tam olarak ne zaman değiştiğini de görüyoruz. Bir optimizasyonu devreye aldığımızda, maliyet düşüşlerini doğrudan devreye alma penceresine bağlayabiliyoruz ve bir sorun çıktığında ve maliyetler yükseldiğinde, tüm bir gün veya haftalık devreye alımları incelemek yerine, araştırmayı yalnızca birkaç saatlik değişikliklerle sınırlayabiliyoruz. Bu, kök neden analizini daha hızlı ve maliyet etkisini daha ölçülebilir hale getiriyor.
Birim ekonomisi, paydaşlarınızın önemsediği birimler cinsinden dolar tutarlarını belirleyerek maliyetleri görünür kılmanın bir başka yoludur. Mühendisler, istek veya örnek başına maliyet üzerinden düşünebilir. Finans, DAU, oturum veya özellik başına maliyet üzerinden düşünebilir. Herkes aynı dili konuşuyor, sadece önceliklerine göre eşleniyor.
Tavsiye
Maliyetlerinizi mümkün olduğunca ayrıntılı bir zamansallıkla etiketleyip atfederek başlayın. Temel görünürlük bile kolay kazanımların kapısını açabilir.
Maliyeti değil, atığı azaltın
Çalışma prensiplerimizden biri, kullanıcı deneyimini kısa vadeli tasarruflardan önce tutan Uzun Vadeli Bakış’tır. Ve eğer maliyet tasarrufu sağlayan bir değişiklik kullanıcı deneyimini olumsuz etkiliyorsa, buna değmez. Duolingo, Lily’nin ifadesiz ve alaycı bir şekilde konuşurken aynı zamanda öğrencinin seviyesinde konuşmasını sağlamak için Görüntülü Arama için daha kaliteli ve daha pahalı Hukuk Yüksek Lisans programlarına yatırım yapıyor. Daha ucuz modellere geçerek maliyetleri düşürebilirdik, ancak Lily ile Görüntülü Arama aynı olmazdı. Yalnızca maliyete odaklanan katı bütçe politikaları, inovasyonu engelleyebilir ve uzun vadeli büyümeyi yavaşlatabilir.
Duolingo’da ekipler, değer katan harcamalar yapmaya teşvik edilir. FinOps Ekibi ise yalnızca maliyet verimliliğini sağlamaya yardımcı olur. Tüm maliyet tasarrufları ödünlerle birlikte gelmez. Diğer durumlarda ise, saf israfı, yani kalite veya değerden ödün vermeden maliyetleri düşürme fırsatlarını tespit ettik. Deneylerde tarafsız metrikleri benimseyen nadir ekiplerden biriyiz. Amacımız her zaman öğrenmeye zarar vermeden tasarruf etmektir. En pahalı CloudWatch metriklerimizi Prometheus’a taşıyarak, gözlemlenebilirlikte hiçbir kayıp olmadan maliyetleri düşürdük.
Tavsiye
Maliyet verimliliği, inovasyonu kısıtlamamalı, desteklemelidir. Kısa vadeli tasarruflar yerine uzun vadeli değere öncelik verin. Katma değer sağladığında harcayın. Katma değer sağlamadığı yerde tasarruf edin.
Tech debt costs money
Güncel olmayan altyapı sizi sadece yavaşlatmakla kalmaz, aynı zamanda bulut faturalarınızı da yükseltir. Ekibimiz için kazanımlar genellikle büyük yatırım getirisi sağlayan küçük çabalardan gelir. Daha uygun maliyetli örneklere geçiş, gereksiz API çağrılarını ortadan kaldırma, Graviton’a yükseltme ve hizmetlerimizin Python ve Java sürümlerini güncelleme gibi küçük değişiklikler uygulayarak önemli maliyet tasarrufları elde ettik. Zorlu kısımları bir kez çözüp süreci belgeleyerek diğer mühendislik ekiplerine güç veriyoruz, böylece yüksek etkili çözümlerimiz tekrarlanabilir oluyor. Tasarruflarımızı ve performans kazanımlarımızı vurgulayarak ekiplerin yaptıkları işi haklı çıkarmasını kolaylaştırıyoruz.
Tavsiye
Teknoloji borcunu gerçek dolar cinsinden çerçevelemek, yöneticilerden ve liderlikten destek almanıza yardımcı olabilir.
Let automation do the heavy lifting
Duolingo’daki FinOps, beş kişilik küçük ama güçlü bir ekip. Manuel sayısal hesaplamalar ölçeklenemiyor. AWS faturaları tek başına çok büyük ve bu sadece bir tedarikçinin faturası. CloudZero, ham bulut maliyetlerini kullanıcı dostu panolara dönüştürerek her şeyi anlamamıza yardımcı oluyor. Böylece verileri segmentlere ayırıp filtreleyerek birçok maliyet artışının temel nedenini ortaya koyabiliyor ve maliyet düşüşlerimizi gösterebiliyoruz.
FinOps ekibi olarak, betiklerimizi çok seviyoruz. 100’den fazla mikro hizmetimizdeki maliyet anormalliklerini otomatik olarak tespit etmek için bunları kullanıyoruz, böylece her birini manuel olarak izlemek zorunda kalmıyoruz. Ayrıca, mühendislik liderliğini ve Finans departmanını bilgilendirmek için bulut ve yapay zeka maliyetlerinin haftalık ve aylık özetlerini oluşturuyoruz.
Bu, Finans’ın yapması gereken manuel hesaplamaların miktarını azaltır, trendler ile tahminler arasında görünürlük sağlar ve yoğun paydaşların neyin değiştiğini, neden değiştiğini ve nereye gittiğimizi hızlı bir şekilde anlamasını kolaylaştırır.
Tavsiye
FinOps işlerinizin mümkün olduğunca çoğunu otomatikleştirin. Gelecekteki benliğiniz (ve finans ekibiniz) size teşekkür edecek.
Sonuç olarak
FinOps, harcamalara “hayır” demek değildir. Her doların öğrencilerimiz için değer yaratmasını sağlamaktır. Tasarruf ettiğimiz her dolar, misyonumuzu desteklemek için daha fazla kaynak anlamına gelir. Duolingo’nun parasının bir kısmını (sorumlu bir şekilde) herkese yüksek kaliteli eğitim sunmak için harcamaya hazır bir mühendisseniz, işe alım yapıyoruz!