DevOps Mühendisliği
Bizim için DevOps, hızlı gitmenin ve virajda tek parça kalmanın bir yoludur. Deneme yapmaya, değişiklik yayınlamaya, paniğe kapılmadan geri almaya ve sistemde şu anda ne olduğunu görmeye imkân veren bir altyapı. GitHub yaklaşımını benimsiyoruz: Infrastructure as Code, yani her şeyin kodla tanımlandığı ve sistemin durumunun Git'te yaşadığı bir yaklaşım. Bu, dijital varlıklarınızın güvende, taşınabilir ve tekrarlanabilir kalmasının garantisidir. Altyapı kodla tanımlandığında, herhangi bir noktaya hızlıca dönebilir, ortamı sıfırdan yeniden kurabilir ve dünkü gibi davranacağından emin olabilirsiniz.


İş değeri
Tekrarlanabilirlik, ortamın yeniden ayağa kaldırılabileceği ve aynı olacağı anlamına gelir. Özel depolar kodu ve altyapı yapılandırmasını saklar — yedeğiniz ve değişiklik geçmişiniz. Dijital varlıkların taşınabilirliği, tek bir sağlayıcıya veya sunucuya bağımlı kalmamak demektir. Hızlı geri almalar sizi pahalı hatalardan kurtarır: bir şey ters gittiğinde dakikalar içinde çalışan sürüme dönersiniz. Bu iş için özellikle önemlidir: dijital varlıklarınız güvende kalır, ortamlar arasında taşınır ve sorun çıktığında hızlıca geri alma imkânınız olur. Altyapı bir varlığa dönüşür.

Hızı seviyoruz. Ve üretim hijyeni olmadan hız, kendi sisteminize dokunmaktan korkmanızla biter.
MLOps ve inference mühendisliği
MLOps, makine öğrenmesi için DevOps'un doğal devamıdır. Inference mühendisleriyle birlikte GPU ve özel ortamların gerektiği örnekler için çözümler ararız. Yeni modellerin ne kadar hızlı ortaya çıktığı ve onları hızlıca test etmenin ne kadar önemli olduğu düşünüldüğünde bu özellikle anlamlıdır. İyi bir altyapı bir denemenin fiyatını ciddi biçimde düşürür. Özellikle ML tarafında: modelleri kendiniz yayınlamanız gerekiyorsa, onları ne kadar hızlı uygulayabilirseniz o kadar iyidir. Yarın göreviniz için daha iyi çözüm getiren yeni bir model ortaya çıkabilir — ve siz onu hızlıca test etmeye hazır olmalısınız. Doğru altyapı olmadan her deneme pahalıdır. Doğrusuyla günde onlarca varyantı deneyebilirsiniz.
Secret yönetimi ve güvenlik
Secret yönetimi, modern DevOps'un zorunlu parçasıdır. Secret yönetimi için Vault ve bulut çözümlerini kullanırız, çünkü şifreleri ve anahtarları kod veya config dosyalarında tutmak bir risktir. Secret'lar izole, versiyonlu ve yalnızca gerçekten ihtiyacı olanların erişimine açık olmalıdır. Güvenlik bir alışkanlıktır: secret'lar doğru depolarda, erişim politikaları, asgari yetkiler, net sınırlar. Her dağıtım güvenlik açısından kontrol edilir, her erişim loglanır, her hata analiz edilir.
Bulut ve bare metal
Hem bulutta hem de bare metalde çalışırız — çünkü seçim göreve bağlıdır. Bulut esneklik ve ölçeklenebilirlik verir; bare metal kontrol ve öngörülebilirlik verir. Bazen kombinasyon gerekir: kritik görevler için kendi sunucularınız, denemeler için bulut. Özellikle ilginç bir görev, kendi makinelerinizi Kubernetes'e bağlamaktır. GPU'lu kendi donanımınız varsa ve bunu bulutta kiralamayı tercih etmiyorsanız, tek bir Kubernetes kümesine bağlanabilir. Bu, kendi kaynaklarınızı kullanarak merkezi yönetim sağlar. ML modelleriyle çalışan ve altyapıyı kontrol ederken bulut GPU faturalarını kontrol altında tutmak isteyenler için yararlıdır.
Standartlar ve kılavuzlar
Programcılar için araç, standart ve kılavuz yazmaya ayrı bir özen gösteririz. Mevcut mekanizmaları, CI/CD'yi, test süreçlerini, dağıtım süreçlerini tanımlarız. Çünkü DevOps, altyapı ve tüm ekiplerin çalışma rahatlığı ile ilgilidir. Standartlar vardır: nasıl dağıtılır, nasıl dağıtılması yasaktır, hangi kontroller zorunludur, nasıl geri alınır. Kılavuzlar vardır: secret'larla nasıl çalışılır, monitoring nasıl kurulur, sorunlar nasıl debug edilir. Bunların hepsi işi tüm süreç katılımcıları için öngörülebilir ve anlaşılır kılar. Bizim için DevOps disiplin ve rahatlıkla ilgilidir. Disiplin, her şeyin tanımlı, kontrol edilmiş ve belgelenmiş olması demektir. Rahatlık, programcıların altyapıyı düşünmeden çalışabilmesi ve operasyonun kâbusa dönüşmemesi demektir.
Bu projelerimizde nasıl görünür
Şamanizm istemeyen pipeline'lar. Durdurulabilen dağıtımlar. "Hatırlayan tek kişiye" bağımlı kalmayan altyapı. Ve ölçme alışkanlığı: hız, istikrar, hataların maliyeti, kaynak tüketimi. Temel metriklerimizden biri kaynak tüketimidir. Ne kadar uygun, nasıl yeniden düzenlenebilir, nerede optimize edilebilir. Çünkü iyi bir altyapı verimli çalışır. Bir sistemi sakin biçimde geliştirilebileceği bir duruma getirmeniz gerekiyorsa — bir iş planı hazırlamayı ve ilk adımları öyle atmayı biliyoruz ki sonrasında kendi başınıza ilerleyebilirsiniz.
Durum
Yetkinlik aktif ve sürekli gelişiyor — çünkü projelerimiz aynı anda hız, istikrar ve netlik talep ediyor. Mikro bilgisayarlar üzerinde saha altyapısı: sensörler, yerel işleme, iletişim ve gözlemlenebilirlik - gerçekliğin ölçülmesi gerektiğinde.
Mikro Bilgisayarlar