Özel Yazılım Geliştirme

Tek bir kurumun problemi için yazılmış yazılım; üzerinde çalıştığı altyapıyı da işleten mühendisler tarafından.

GİTA Teknoloji, hazır ürünlerin bittiği yerde yazılım geliştirir: birbiriyle konuşması hiç düşünülmemiş iki sistem arasındaki entegrasyon, herkesin sessizce bağımlı olduğu bir hesap tablosunun yerini alan kurum içi araç, kapalı bir uygulamayı izlenebilir kılan ajan.

Aynı ekip altyapıyı da işlettiği için geliştirdiğimiz şeyler nasıl işletileceklerine göre biçimlenir; loglama, izleme kancaları, dağıtım ve arıza davranışı sonradan eklenen değil tasarımın parçası olan konulardır. Çalışmalarımızın çoğu Python ve Go ile; servis, ajan veya küçük web uygulamaları olarak teslim edilir.

Kendi ürünlerimizi de geliştiriyoruz; pratiği dürüst tutan da budur: Passeidon, Active Directory ve Microsoft 365 için parola sıfırlama yükünün büyük bölümünü çağrı masasından kaldıran self servis portal; bir de Citrix ISV programı kapsamında Citrix NetScaler için geliştirilen izleme aracı.

Neler geliştiriyoruz

Entegrasyon servisleri

Arayüzleri uyumsuz sistemler arasında ara katman — kuyruklama, yeniden deneme, mutabakat ve bir entegrasyonun güvenilir olup olmadığını belirleyen hata yönetimi.

Kurum içi araçlar

Paylaşılan bir hesap tablosunun veya elle yürütülen bir sürecin yerini alan küçük uygulamalar; güvenilebilecek kadar düzgün yazılmış olarak.

İzleme ajanları ve exporter’lar

Bir uygulamanın gerçek durumunu — kuyruk derinliği, iş sonuçları, iş birimine ait sayaçlar — izleme platformuna açan amaca özel toplayıcılar.

Otomasyon

Kurulum, yapılandırma ve rutin değişiklik etrafında operasyonel otomasyon; genellikle Ansible üzerine, gerektiğinde özel modüllerle.

Portaller ve self servis

Aksi halde çağrı masasına düşecek işleri kullanıcıların güvenle ve yardımsız yapmasını sağlayan web uygulamaları.

API’ler

Mevcut sistemlerin üzerine iyi belgelenmiş REST arayüzleri; böylece bir sonraki entegrasyon yeni bir özel bağlayıcı gerektirmez.

Nasıl geliştiriyoruz

Python

Geliştirme hızının ve kütüphane genişliğinin öne çıktığı entegrasyon, otomasyon, veri işleme ve kurum içi araç geliştirme.

Go

Ajanlar, uzun süre çalışan servisler ve tek bir dağıtılabilir ikili dosya ile küçük ayak izi gereken her şey.

Konteynerler

Dağıtımı basitleştirdiği yerde konteyner, basitleştirmediği yerde düz servis — tercih işletme modelini izler.

Edge ve sunucusuz

Cloudflare iş ortağı olarak; uç katman mantığı, istek işleme ve hafif API’ler için Cloudflare Workers.

İşletilebilir tasarım

İlk sürümden itibaren yapılandırılmış loglama, sağlık uç noktaları ve metrikler; çünkü işletmesini üstlenebileceğimiz bir yazılım gözlemlenebilir olmalıdır.

Sürüm kontrolü ve dokümantasyon

Kaynak kodu sizin deponuzda; başka bir mühendisin devralabilmesi için gereken dokümantasyonla birlikte.

Kendi ürünlerimiz

Bir katalog değil, pratiğin kanıtı.

Passeidon

Microsoft Active Directory ve Microsoft 365 için self servis parola yönetimi portalı; parola sıfırlama taleplerinin büyük çoğunluğunu çağrı masasından kaldırır.

NetScaler izleme

Citrix ISV programı kapsamında geliştirilen, Citrix NetScaler için izleme aracı.

Özel izleme ajanları

Müşteriye özel uygulamalar için geliştirilmiş exporter ve ajanlardan oluşan bir birikim; her biri kendisini sipariş eden müşteriye teslim edilmiştir.

Açık kaynak katılımı

OpenSDDC platformu dahil açık altyapı çalışmalarına katılım.

Patentli mühendislik

Dağıtık depolama, ağ sanallaştırma ve kümeleme alanlarında üç tescilli patent.

Ar-Ge geçmişi

TÜBİTAK destekli araştırma ve geliştirme çalışmalarından gelen ürün geliştirme deneyimi.

Bir proje nasıl ilerler

Önce analiz

Gerçek problemin kapsamı belirlenmiş bir analizi; bu analiz düzenli olarak beklenenden daha küçük bir yazılımın yeteceğini ortaya çıkarır.

Erken prototip

Tasarım kesinleşmeden önce kullanacak kişilerin önüne çalışan bir şey koymak; çünkü yazılı gereksinimler ilk temasta nadiren ayakta kalır.

Kapsamı sabit adımlar

İş, tek bir teslim tarihi olan uzun bir proje yerine ayrı ayrı fiyatlanan ve tek başına da işe yarayan adımlara bölünür.

Kaynak koduyla teslim

Kaynak kodu, dokümantasyon ve kurulum talimatları size teslim edilir. Özel geliştirme, bedelini ödeyen müşteriye aittir.

İstenirse bakım

Destek anlaşması kapsamında sürekli bakım ve geliştirme veya kendi geliştiricilerinize temiz bir devir.

Ekibinizle birlikte

Sıklıkla mevcut bir geliştirme ekibinin yerine değil, o ekibe ek kapasite olarak çalışıyoruz.

Sık sorulan sorular

Kaynak kodunun sahibi kim?

Müşteri. Sizin için özel yazılan her şey, tam kaynak kodu ve dokümantasyonuyla, sizin sürüm kontrolünüzde teslim edilir. Kodu müşteriyi elde tutma aracı olarak kullanmıyoruz.

Teslimden sonra bakımını yapıyor musunuz?

İstemeniz halinde evet. Bakım ve geliştirme bir destek anlaşması kapsamında yürüyebilir; ya da kod tabanı, devralmak için gereken dokümantasyonla kendi geliştiricilerinize aktarılır.

Mevcut geliştirme ekibimizle çalışabilir misiniz?

Evet ve bu yaygın bir düzendir. Sıklıkla belirli bir yetkinliği — sistem seviyesinde işler, entegrasyon, ajanlar — ana uygulamanın sahibi olan kurum içi ekibin yanında sağlıyoruz.

Hangi büyüklükte projeler alıyorsunuz?

İşin çoğu bilinçli olarak küçüktür: tek bir entegrasyon, bir exporter, bir kurum içi araç. Kapsamı küçük parçaları doğru fiyatlamak da, değmediği anlaşıldığında bırakmak da daha kolaydır.

Hangi dilleri kullanıyorsunuz?

Ağırlıklı olarak Python ve Go. Entegrasyon, otomasyon ve araç geliştirme için Python; tek ikili dosya ve küçük ayak izinin işe yaradığı ajanlar ve uzun süre çalışan servisler için Go.

API’si olmayan bir sistem üzerine geliştirme yapabilir misiniz?

Genellikle evet. Bir log dosyası, veritabanı tablosu, port veya dosya bırakma dizini çoğunlukla yeterlidir. Gerçekte neye erişilebildiğini tespit etmek ilk iş adımıdır.

Etrafından dolaştığınız süreci anlatın

İşe yarayan kurum içi yazılımların çoğu, bir hesap tablosu veya kimsenin düzeltmeye vakit bulamadığı elle yapılan bir adım olarak başlar.

İletişime geçin