Zephyrnet Logosu

Nexthink, Amazon MSK ile günde trilyonlarca etkinliğe ölçekleniyor | Amazon Web Hizmetleri

Tarih:

Gerçek zamanlı veri akışı ve olay işleme, ölçeklenebilirlik ve yönetim zorluklarını beraberinde getirir. AWS geniş bir yönetilen yelpazesi sunar gerçek zamanlı veri akışı hizmetleri Bu iş yüklerini her ölçekte zahmetsizce çalıştırmak için.

Bu yazıda Nexthink bunun nasıl yapıldığını paylaşıyor Apache Kafka için Amazon Tarafından Yönetilen Akış (Amazon MSK), olay işlemede büyük bir ölçeğe ulaşmaları için onları güçlendirdi. İş dünyasında hiper bir büyüme yaşayan Nexthink, şirket içi çözümlerin ölçeklendirme sınırlamalarının üstesinden gelmek için AWS'ye geçti. Nexthink, Amazon MSK ile artık günde trilyonlarca olayı sorunsuz bir şekilde işleyerek saniyede 5 GB'ın üzerinde toplam aktarım hızına ulaşıyor.

Aşağıdaki bölümlerde Nexthink, ürünlerini ve ölçeklenebilirlik ihtiyacını tanıtıyor. Daha sonra eski şirket içi uygulamalarının zorluklarını vurguluyorlar ve Amazon MSK tarafından desteklenen bulut merkezli bir hizmet olarak yazılım (SaaS) mimarisine geçişlerini sunuyorlar. Son olarak Nexthink, Amazon MSK'yı benimseyerek elde edilen faydaları ayrıntılarıyla anlatıyor.

Nexthink'in ölçeklendirme ihtiyacı

Nexthink, dijital çalışan deneyiminde (DeX) liderdir. Şirket, BT liderlerine ve üst düzey yöneticilere, çalışanların cihaz ve uygulama düzeyinde günlük teknoloji deneyimlerine ilişkin öngörüler sunarak işin geleceğini şekillendiriyor. Bu, BT'nin reaktif problem çözmeden proaktif optimizasyona doğru gelişmesine olanak tanır.

The Nexthink Infinity platformu çalışanların dijital deneyimini yönetmek için analitik, izleme, otomasyon ve daha fazlasını birleştirir. Platformumuz, cihaz ve uygulama olaylarını toplayarak, bunları gerçek zamanlı olarak işleyerek ve depolayarak, beş kıtada 15 milyondan fazla çalışanın sorunlarını çözmek ve deneyimlerini artırmak için verileri analiz eder.

Sadece 3 yıl içinde Nexthink'in işi on kat büyüdü ve daha fazla gerçek zamanlı verinin kullanıma sunulmasıyla uygulamamızın ölçeği saniyede 200 MB'tan saniyede 5 GB'ye ve günlük trilyonlarca olaya kadar büyümek zorunda kaldı. Bu büyümeyi sağlamak için uygulamamızı şirket içi tek kiracılı bir monolitten Amazon MSK tarafından desteklenen bulut tabanlı ölçeklenebilir bir SaaS çözümüne kadar modernleştirdik.

Sonraki bölümlerde, karşılaştığımız zorluklar ve yeni bulut merkezli, AWS tabanlı mimarimizle elde ettiğimiz faydalar da dahil olmak üzere modernizasyon yolculuğumuzun ayrıntıları veriliyor.

Şirket içi çözüm ve zorlukları

Amazon MSK'nın karşılaştığı zorlukları nasıl aştığını incelemeden önce ilk olarak önceki şirket içi çözümümüz Nexthink V6'yı inceleyelim. Aşağıdaki diyagram mimarisini göstermektedir.

Sonraki düşünce v6

V6, birbirine sıkı sıkıya bağlı iki monolitik, tek kiracılı Java ve C++ uygulamasından oluşuyordu. Portal, ön uç için arka uç bir Java uygulamasıydı ve çekirdek motor, aynı zamanda cihaz bağlantılarını, veri alımını, toplamayı ve sorgulamayı da yöneten şirket içi bir C++ bellek içi veritabanı uygulamasıydı. Tüm bu işlevlerin bir araya getirilmesiyle motorun yönetilmesi ve iyileştirilmesi zorlaştı.

V6'nın ölçeklenebilirliği de yoktu. Başlangıçta 10,000 cihazı destekleyen bazı yeni kiracıların 300,000'den fazla cihazı vardı. Kiracı başına birden fazla V6 motoru dağıtarak, karmaşıklığı ve maliyeti artırarak, kullanıcı deneyimini olumsuz etkileyerek ve pazara sunma süresini geciktirerek tepki gösterdik. Bu aynı zamanda konsept kanıtlarının ve işe alım döngülerinin daha uzun sürmesine yol açarak işletmeye zarar verdi.

Dahası, Kafka gibi bir akış platformunun yokluğu, sıkı HTTP/gRPC bağlantısı yoluyla ekipler arasında bağımlılıklar yarattı. Ek olarak ekipler, veritabanına alınmadan önce gerçek zamanlı olaylara erişemiyordu, bu da özellik geliştirmeyi sınırlıyordu. Ayrıca veri arabelleğimiz de yoktu, bu da kesintiler sırasında olası veri kaybı riskini taşıyordu. Bu tür kısıtlamalar yeniliği engelledi ve riskleri artırdı.

Özetle, V6 sistemi başlangıçtaki amacına hizmet etse de, ölçeklenebilirliği, güvenilirliği artırmak ve mühendislik ve ürün ekiplerimiz tarafından yenilikçiliği teşvik etmek için onu bulut merkezli teknolojilerle yeniden icat etmek zorunlu hale geldi.

Amazon MSK ile bulut merkezli bir mimariye geçiş

Modernizasyon hedeflerimize ulaşmak için kapsamlı araştırma ve yinelemelerden sonra olay odaklı bir mikro hizmet tasarımı uyguladık. Amazon Elastik Kubernetes Hizmeti (Amazon EKS), dağıtılmış olay depolama ve akış için Amazon MSK'da Kafka'yı kullanıyor.

V6 şirket içi çözümden bulut merkezli platforma geçişimiz dört yineleme üzerinden aşamalı olarak gerçekleştirildi:

  • Faz 1 – Şirket içi makinelerden buluttaki sanal makinelere geçerek operasyonel karmaşıklıkları azalttık ve müşterileri şeffaf bir şekilde taşırken kavram kanıtlama döngülerini hızlandırdık.
  • Faz 2 – Kubernetes üzerinde mikro hizmetler ve kendi kendini yöneten Kafka ile yeni ürün özelliklerini uygulayarak bulut mimarisini genişlettik. Ancak Kafka kümelerini kendimiz çalıştırmanın aşırı zor olduğu ortaya çıktı ve bu da bizi Aşama 3'e götürdü.
  • Faz 3 – Kendi kendini yöneten Kafka'dan Amazon MSK'ya geçiş yaparak istikrarı artırdık ve operasyonel maliyetleri düşürdük. Kafka'yı yönetmenin temel yetkinliğimiz veya farklılaştırıcı özelliğimiz olmadığını ve genel giderlerin yüksek olduğunu fark ettik. Amazon MSK, temel uygulamamıza odaklanmamızı sağlayarak bizi farklılaşmamış Kafka yönetiminin yükünden kurtardı.
  • Faz 4 – Son olarak, tüm eski bileşenleri ortadan kaldırarak tamamen bulut merkezli bir SaaS platformuna geçişi tamamladık. Bu çok yıllık öğrenme ve dönüşüm yolculuğu 3 yıl sürdü.

Başarılı geçişimizin ardından bugün Amazon MSK'yı iki temel işlev için kullanıyoruz:

  • Aşağıdaki şekilde gösterildiği gibi, dünya çapında 15 milyondan fazla cihazdan trilyonlarca günlük olayın gerçek zamanlı veri alımı ve işlenmesi.

Nexthink Mimarlık Alımı

  • Aşağıdaki şekilde gösterildiği gibi veri üreticilerini ve tüketicilerini ayıran olay odaklı bir sistemin etkinleştirilmesi.

Nexthink Mimarlık Etkinlik Odaklı

Ölçeklenebilirliğimizi ve dayanıklılığımızı daha da artırmak için, hücre tabanlı mimari AWS Bölgelerinde Amazon MSK'nın geniş kullanılabilirliğini kullanarak. Şu anda her biri SaaS çözümümüzün bağımsız bölgesel dağıtımını temsil eden 10'dan fazla hücre işletiyoruz. Bu hücre tabanlı yaklaşım, sorun olması durumunda etki alanını en aza indirir, veri yerleşimi gereksinimlerini karşılar ve aşağıdaki şekilde gösterildiği gibi AWS Bölgeleri arasında yatay ölçeklendirmeye olanak tanır.

Nexthink Mimari Hücreleri

Amazon MSK'nın Faydaları

Amazon MSK, olaya dayalı tasarımımızın etkinleştirilmesinde kritik öneme sahiptir. Bu bölümde, bunun benimsenmesinden elde ettiğimiz temel faydaları özetliyoruz.

Geliştirilmiş veri dayanıklılığı

Yeni mimarimizde, cihazlardan gelen veriler doğrudan Amazon MSK'daki Kafka konularına aktarılır, bu da yüksek kullanılabilirlik ve esneklik sağlar. Bu, olayların herhangi bir zamanda güvenli bir şekilde alınabilmesini ve saklanabilmesini sağlar. Bu verileri tüketen hizmetlerimiz, Amazon MSK'nın aynı dayanıklılığını devralır. Arka uç besleme hizmetlerimiz kesintilerle karşılaşırsa hiçbir olay kaybolmaz çünkü Kafka yayınlanan tüm mesajları saklar. Hizmetlerimiz devam ettiğinde, uygulama gereksinimlerine göre mesajların tam bir kez, en az bir kez veya en fazla bir kez işlenmesine olanak sağlayan Kafka'nın üretici semantiği sayesinde kesintisiz olarak kaldığı yerden işlemeye devam eder.

Amazon MSK, veri saklama süresini saniyelerden sınırsız süreye kadar değişen özel gereksinimlerimize göre uyarlamamıza olanak tanır. Bu esneklik, uygulamamıza önceki mimarimizde mümkün olmayan kesintisiz veri kullanılabilirliği sağlar. Ayrıca, işleme hataları veya bozulma durumunda veri bütünlüğünü korumak için Kafka, veri tutarlılığı ve güvenilirliği sağlayan bir veri yeniden yürütme mekanizması uygulamamızı sağladı.

Organizasyonel ölçeklendirme

Amazon MSK ile olay odaklı bir mimariyi benimseyerek monolitik uygulamamızı, Kafka konuları aracılığıyla eşzamansız iletişim kuran, gevşek bağlı, durum bilgisi olmayan mikro hizmetlere ayrıştırdık. Bu yaklaşım, mühendislik organizasyonumuzun 4'da yalnızca 5-2019 ekipten bugün 40'ın üzerinde ekibe ve yaklaşık 350 mühendise hızla ölçeklenmesini sağladı.

Etkinlik yayıncıları ve aboneler arasındaki gevşek bağlantı, ekiplerin veri alımı, tanımlama hizmetleri ve veri gölleri gibi farklı alanlara odaklanmasını sağladı. Ekipler, Kafka konuları üzerinden sıkı bağlantı olmadan iletişim kurarak kendi alanlarında bağımsız olarak çözümler geliştirebiliyordu. Bu mimari, yeni özelliklerin mevcut özellikleri etkileme riskini en aza indirerek özellik geliştirmeyi hızlandırdı. Ekipler, başkaları tarafından yayınlanan etkinlikleri verimli bir şekilde tüketerek, ekipler arası bağımlılıkları azaltırken yeni yetenekleri daha hızlı sunabilir.

Aşağıdaki şekil, sistemimize yeni alan adları eklemenin kusursuz iş akışını göstermektedir.

Alan ekleme

Ayrıca olay odaklı tasarım, ekiplerin saniye başına mesaj gibi MSK ölçümlerine dayalı olarak sorunsuz bir şekilde otomatik ölçeklendirme yapabilen durum bilgisi olmayan hizmetler oluşturmasına olanak tanıdı. Bu olay odaklı ölçeklenebilirlik, kapsamlı kapasite planlama ve manuel ölçeklendirme çalışmalarına olan ihtiyacı ortadan kaldırarak geliştirme süresinden tasarruf sağladı.

Amazon MSK'da olay odaklı bir mikro hizmet mimarisi kullanarak, operasyonel yükü en aza indirirken organizasyonel çeviklik, gelişmiş ölçeklenebilirlik ve hızlandırılmış inovasyon elde ettik.

Sorunsuz altyapı ölçeklendirmesi

Nexthink'in işi 3 yılda on kat büyüdü ve ürüne pek çok yeni özellik eklendi; bu da trafiğin saniyede 200 MB'tan saniyede 5 GB'a önemli ölçüde artmasına yol açtı. Bu hızlı veri artışı, Amazon MSK'nın güçlü ölçeklenebilirliği sayesinde mümkün oldu. Böyle bir ölçeğe şirket içi bir çözümle ulaşmak, mümkün olmasa bile zorlu ve pahalı olurdu.

Kafka'yı kendi kendine yönetmeye çalışmak, iş değeri sağlamadan gereksiz operasyonel yüke neden oldu. Bunu günümüz trafiğinin yalnızca %5'iyle çalıştırmak zaten karmaşıktı ve iki mühendis gerektiriyordu. Bugünkü hacimlerde, 6-10 özel personele ihtiyaç duyulacağını, maliyetlerin artacağını ve kaynakların temel önceliklerden uzaklaştırılacağını tahmin ettik.

Gerçek zamanlı yetenekler

Tüm verilerimizi Amazon MSK üzerinden kanalize ederek olayların gerçek zamanlı işlenmesini sağladık. Bu, gerçek zamanlı uyarılar, olaya dayalı tetikleyiciler ve daha önce erişilemeyen web kancaları gibi yeteneklerin kilidini açtı. Bu nedenle Amazon MSK, olaya dayalı mimarimizi kolaylaştırmada ve etkili inovasyonları desteklemede etkili oldu.

Güvenli veri erişimi

Yeni mimarimize geçiş yaparak güvenlik ve veri bütünlüğü hedeflerimize ulaştık. Kafka ACL'leriyle sıkı erişim kontrolleri uygulayarak tüketicilerin ve üreticilerin yalnızca yetkili konularla etkileşime girmesine olanak sağladık. Bu ayrıntılı veri erişim kontrollerini veri türü, alan adı ve ekip gibi kriterlere dayandırdık.

Konuların merkezi olmayan yönetimini güvenli bir şekilde ölçeklendirmek için özel mülkiyeti kullanıma sunduk Kubernetes Özel Kaynak Tanımları (CRD'ler). Bu CRD'ler ekiplerin güvenlikten ödün vermeden kendi konularını, ayarlarını ve ACL'lerini bağımsız olarak yönetmelerine olanak sağladı.

Amazon MSK şifrelemesi verilerin beklemede ve aktarım sırasında şifrelenmiş kalmasını sağladı. Ayrıca, tüm tek kiracılı ve çok kiracılı konular için müşteri anahtarlarıyla uygulama düzeyinde şifrelemeye olanak tanıyan Kendi Anahtarınızı Getirin (BYOK) seçeneğini de kullanıma sunduk.

Gelişmiş gözlemlenebilirlik

Amazon MSK, veri akışlarımızda bize mükemmel görünürlük sağladı. Kullanıma hazır Amazon Bulut İzleme metrikleri her konu ve kümeden akan veri miktarını ve türlerini görelim. Bu, veri hacimlerini konu düzeyinde izleyerek ürün özelliklerimizin kullanımını ölçmemize yardımcı oldu. Amazon MSK operasyonel ölçümleri, kümelerin ve aracıların zahmetsizce izlenmesine ve doğru boyutlandırılmasına olanak sağladı. Genel olarak Amazon MSK'nın zengin gözlemlenebilirliği, mimari ve ürün özelliklerine ilişkin veriye dayalı kararları kolaylaştırdı.

Sonuç

Nexthink'in şirket içi monolitten bulut SaaS'a yolculuğu, tam olarak yönetilen bir Kafka hizmeti olan Amazon MSK kullanılarak kolaylaştırıldı. Amazon MSK, kurumsal düzeyde güvenilirlik ve güvenlikten yararlanırken sorunsuz bir şekilde ölçeklememize olanak sağladı. Kafka yönetimini AWS'ye devrederek asıl işimize odaklanmayı sürdürebildik ve daha hızlı inovasyon yapabildik.

İleriye yönelik olarak Amazon MSK özelliklerini benimseyerek performansı, maliyetleri ve ölçeklenebilirliği daha da iyileştirmeyi planlıyoruz: katmanlı depolama ve AWS Graviton tabanlı EC2 bulut sunucusu türleri.

Ayrıca gelecek hizmet özelliklerine hazırlanmak için Amazon MSK ekibiyle yakın işbirliği içinde çalışıyoruz. Yeni yetenekleri hızla benimsemek, işimizi büyütmeye devam ederken yenilikçiliğin ön saflarında kalmamıza yardımcı olacaktır.

Nexthink'in küresel müşteri tabanına hizmet vermek için AWS'yi nasıl kullandığı hakkında daha fazla bilgi edinmek için AWS örnek olay incelemesi hakkında Nexthink. Ayrıca şu adresi ziyaret ederek Amazon MSK ile ilgili diğer müşteri başarı öykülerini keşfedin: Amazon MSK blog kategorisi.


Yazarlar Hakkında

Moe HaidarMoe Haidar Nexthink'in CTO ofisinde baş mühendis ve özel projeler lideridir. 2018'den beri AWS'de yer alıyor ve Nexthink platformunun AWS'ye bulut dönüşümüne önemli katkılarda bulunuyor. Odak noktası ürün ve teknoloji kuluçkası ve mimaridir, ancak aynı zamanda teknolojilere ilişkin bilgilerini keskin ve güncel tutmak için uygulamalı etkinlikler yapmayı da seviyor. Halen kod tabanına büyük katkılarda bulunuyor ve karmaşık sorunların üstesinden gelmeyi seviyor.
Simone PomataSimone Pomata AWS'de Kıdemli Çözüm Mimarıdır. 10 yıldan fazla bir süredir teknoloji sektöründe heyecanla çalıştı. AWS'de müşterilerin her gün yeni teknolojiler geliştirmede başarılı olmalarına yardımcı oluyor.
Magdalena GargasMagdalena Gargas teknoloji ve müşterilerin karşılaştığı zorlukları çözme konusunda tutkulu bir Çözüm Mimarıdır. AWS'de çoğunlukla yazılım şirketleriyle çalışarak onların bulutta yenilik yapmalarına yardımcı oluyor. Sektör etkinliklerine katılıyor, içgörülerini paylaşıyor ve konteynerle taşıma alanının ilerlemesine katkıda bulunuyor.

spot_img

En Son İstihbarat

spot_img