AWS hizmetlerine dayalı İş Zekası ardışık düzeni – örnek olay incelemesi
Yayınlanan: 2019-05-16Son yıllarda büyük veri analizine olan ilginin arttığını görüyoruz. Yöneticiler, yöneticiler ve diğer iş paydaşları, bilinçli kararlar almak için İş Zekasını (BI) kullanır. Kritik bilgileri anında analiz etmelerine ve yalnızca sezgilerine değil, müşterilerinin gerçek davranışlarından neler öğrenebileceklerine dayalı kararlar almalarına olanak tanır.
Etkili ve bilgilendirici bir BI çözümü oluşturmaya karar verdiğinizde, geliştirme ekibinizin atması gereken ilk adımlardan biri veri hattı mimarisini planlamaktır. Böyle bir işlem hattı oluşturmak için uygulanabilecek birkaç bulut tabanlı araç vardır ve tüm işletmeler için en iyi olacak tek bir çözüm yoktur. Belirli bir seçeneğe karar vermeden önce mevcut teknoloji yığınınızı, araçların fiyatlandırmasını ve geliştiricilerinizin beceri setini göz önünde bulundurmalısınız. Bu yazıda, Zaman Çizelgeleri uygulamasının bir parçası olarak başarıyla dağıtılan AWS araçlarıyla oluşturulmuş bir mimariyi göstereceğim.
Mimariye Genel Bakış
Zaman çizelgeleri, çalışanların zamanını izlemek ve raporlamak için bir araçtır. Web, iOS, Android ve masaüstü uygulamaları, Hangouts ve Slack ile entegre sohbet robotu ve Google Asistan'da eylem yoluyla kullanılabilir. Kullanılabilir birçok uygulama türü olduğundan, izlenecek çok çeşitli veriler de vardır. Veriler Revolt Analytics aracılığıyla toplanır, Amazon S3'te depolanır ve AWS Glue ve Amazon SageMaker ile işlenir. Analizin sonuçları Amazon RDS'de depolanır ve Google Data Studio'da görsel raporlar oluşturmak için kullanılır. Bu mimari yukarıdaki grafikte sunulmuştur.
Aşağıdaki paragraflarda, bu mimaride kullanılan Büyük Veri araçlarının her birini kısaca anlatacağım.
İsyan Analizi
Revolt Analytics, her türden uygulamadan gelen verileri izlemek ve analiz etmek için Miquido tarafından geliştirilmiş bir araçtır. İstemci sistemlerinde Revolt uygulamasını basitleştirmek için iOS, Android, JavaScript, Go, Python ve Java SDK'ları oluşturulmuştur. Revolt'un en önemli özelliklerinden biri performansıdır: tüm olaylar sıraya alınır, depolanır ve paketler halinde gönderilir, bu da hem hızlı hem de verimli bir şekilde iletilmesini sağlar. Revolt, uygulama sahibine kullanıcıları tanımlama ve uygulamadaki davranışlarını izleme yeteneği verir. Bu, tamamen kişiselleştirilmiş Öneri Sistemleri ve Kayıp Tahmini modelleri gibi değer getiren Makine Öğrenimi modelleri ve kullanıcı davranışına dayalı Müşteri Profili Oluşturmamızı sağlar. Revolt ayrıca bir oturum açma özelliği de sağlar. Uygulamalardaki kullanıcı yolları ve davranışları hakkında bilgi, müşterilerinizin hedeflerini ve ihtiyaçlarını anlamanıza yardımcı olabilir.
Revolt, seçtiğiniz herhangi bir altyapıya kurulabilir. Bu yaklaşım size maliyetler ve izlenen olaylar üzerinde tam kontrol sağlar. Bu makalede sunulan Zaman Çizelgeleri örneğinde, AWS altyapısı üzerine kurulmuştur. Veri deposuna tam erişim sayesinde, ürün sahipleri uygulamalarına ilişkin öngörüleri kolayca elde edebilir ve bu verileri diğer sistemlerde kullanabilir.
Revolt SDK'ları, Zaman Çizelgeleri sisteminin aşağıdakilerden oluşan her bileşenine eklenir:
- Android ve iOS uygulamaları (Flutter ile oluşturulmuştur)
- Masaüstü uygulaması (Electron ile oluşturulmuş)
- Web uygulaması (React'te yazılmıştır)
- Arka uç (Golang'da yazılmıştır)
- Hangouts ve Slack çevrimiçi sohbetleri
- Google Asistan'da işlem
Revolt, Zaman Çizelgeleri yöneticilerine, uygulamanın müşterileri tarafından kullanılan cihazlar (ör. cihaz markası, modeli) ve sistemler (ör. OS sürümü, dil, saat dilimi) hakkında bilgi verir. Ayrıca, kullanıcıların uygulamalardaki etkinlikleriyle ilişkili çeşitli özel etkinlikler gönderir. Sonuç olarak, yöneticiler kullanıcı davranışını analiz edebilir ve amaçlarını ve beklentilerini daha iyi anlayabilir. Ayrıca, uygulanan özelliklerin kullanılabilirliğini doğrulayabilir ve bu özelliklerin Ürün Sahibinin bunların nasıl kullanılacağına ilişkin varsayımlarını karşılayıp karşılamadığını değerlendirebilirler.

AWS Tutkalı
AWS Glue, verilerin analitik görevler için hazırlanmasına yardımcı olan bir ETL (ayıklama, dönüştürme ve yükleme) hizmetidir. ETL işlerini bir Apache Spark sunucusuz ortamında çalıştırır. Genellikle, aşağıdaki üç unsurdan oluşur:
- Tarayıcı tanımı – Her türlü havuz ve kaynaktaki verileri taramak, sınıflandırmak, bunlardan şema bilgilerini çıkarmak ve bunlarla ilgili meta verileri Veri Kataloğu'nda depolamak için bir tarayıcı kullanılır. Örneğin, Amazon S3'teki JSON dosyalarında depolanan günlükleri tarayabilir ve bunların şema bilgilerini Veri Kataloğu'nda depolayabilir.
- İş komut dosyası – AWS Glue işleri, verileri istenen biçime dönüştürür. AWS Glue, verilerinizi yüklemek, temizlemek ve dönüştürmek için otomatik olarak bir komut dosyası oluşturabilir. İstediğiniz dönüşümleri çalıştıracak Python veya Scala'da yazılmış kendi Apache Spark komut dosyanızı da sağlayabilirsiniz. Boş değerler, oturum açma, toplamalar vb. gibi görevleri içerebilirler.
- Tetikleyiciler – Tarayıcılar ve işler isteğe bağlı olarak çalıştırılabilir veya belirli bir tetikleyici oluştuğunda başlayacak şekilde ayarlanabilir. Tetikleyici, zamana dayalı bir program veya bir olay olabilir (örneğin, belirli bir işin başarılı bir şekilde yürütülmesi). Bu seçenek, raporlarınızdaki verilerin güncelliğini zahmetsizce yönetmenizi sağlar.
Zaman Çizelgeleri mimarimizde, işlem hattının bu kısmı aşağıdaki gibi sunulur:
- Zamana dayalı bir tetikleyici, veri temizliğini yürüten, oturumlara uygun olay günlüklerini atayan ve ilk toplamaları hesaplayan bir ön işleme işini başlatır. Bu işin sonuç verileri AWS S3'te depolanır.
- İkinci tetikleyici, ön işleme işinin eksiksiz ve başarılı bir şekilde yürütülmesinden sonra çalışacak şekilde ayarlanır. Bu tetikleyici, Ürün Sahipleri tarafından analiz edilen raporlarda doğrudan kullanılan verileri hazırlayan bir işi başlatır.
- İkinci işin sonuçları bir AWS RDS veritabanında depolanır. Bu, onları Google Data Studio, PowerBI veya Tableau gibi İş Zekası araçlarında kolayca erişilebilir ve kullanılabilir hale getirir.
AWS Bilge Yapıcı
Amazon SageMaker, makine öğrenimi modelleri oluşturmak, eğitmek ve dağıtmak için modüller sağlar.
Modellerin her ölçekte eğitilmesine ve ayarlanmasına olanak tanır ve AWS tarafından sağlanan yüksek performanslı algoritmaların kullanılmasına olanak tanır. Bununla birlikte, uygun bir liman işçisi görüntüsü sağladıktan sonra özel algoritmalar da kullanabilirsiniz. AWS SageMaker, farklı model parametresi kümeleri için ölçümleri karşılaştıran yapılandırılabilir işlerle hiperparametre ayarlamasını da basitleştirir.
Zaman Çizelgelerinde SageMaker Notebook Örnekleri, verileri keşfetmemize, ETL komut dosyalarını test etmemize ve rapor oluşturmak için bir BI aracında kullanılacak görselleştirme çizelgelerinin prototiplerini hazırlamamıza yardımcı olur. Bu çözüm, aynı geliştirme ortamında çalışmalarını sağladığı için veri bilimcilerinin işbirliğini destekler ve geliştirir. Ayrıca bu, not defterleri yalnızca AWS S3 klasörlerinde depolandığından ve iş arkadaşları arasında iş paylaşmak için git deposuna ihtiyaç duyulmadığından (dizüstü bilgisayar hücrelerinin çıktısının bir parçası olabilecek) hiçbir hassas verinin AWS altyapısının ötesinde depolanmamasını sağlamaya yardımcı olur. .
Sarmak
Hangi Büyük Veri ve Makine Öğrenimi araçlarının kullanılacağına karar vermek, bir İş Zekası çözümü için bir ardışık düzen mimarisi tasarlamada çok önemlidir. Bu seçim, sistem yetenekleri, maliyetler ve gelecekte yeni özellikler ekleme kolaylığı üzerinde önemli bir etkiye sahip olabilir. AWS araçları kesinlikle dikkate alınmaya değer, ancak mevcut teknoloji yığınınıza ve geliştirme ekibinizin becerilerine uygun bir teknoloji seçmelisiniz.
Geleceğe yönelik çözümler oluşturma konusundaki deneyimimizden yararlanın ve bizimle iletişime geçin!