Etkinlik: PHP ve Mikroservisler
Dün (15 Şubat 2020) İstanbul PHP User Group’un düzenlediği “PHP ve Mikroservisler” isminde bir etkinliğe katıldım. 3 oturum yapıldı.
İlk oturumda ICS Defence’da takım lideri olan Erhan Yakut “PHP ve NATS ile Mikroservis Mesajlaşma” isminde bir sunum yaptı.
Mikroservis mimarisi yeni yazılım geliştirme trendlerinden. Özetle, bir uygulamanın her bir modülünün tek başına çalışan bir uygulama olması. Tek başına çalışan servislerin apiler aracılığıyla birbirleri ile konuşarak verileri bir araya getirip istemciye sunulması. Avantajlarından şöyle bahsedebilirim. Her bir servis tek başına çalıştığı için herhangi bir dilde yazılabilir. Büyük bir projede kalabalık ekipler servisleri paylaşarak geliştirip ve bakımlarını yapabilir.
Mikroservis mimarisinde servislerin birbirleri arasında haberleşmesinde birden fazla yöntem kullanılabilir. Http ile apiler kendi endpointlerine erişebilir. Eğer bu yöntem kullanılırsa her servisin bir web sunucuya ihtiyacı olur. Onun yerine Pub/Sub (Publisher/Subscriber) özelliğine sahip servis aracılığıyla birbirlerine mesajlar iletirler.
NATS ise açıkkaynak bir mesajlaşma sistemidir. GO dili ile yazılmış, hafif bir yazılımdır. Pub/Sub, Request/Replay ve Queueing iletişim methodlarına sahiptir. Docker üzerinde çalışan görüntüsü (image) 10MB’dır. 10 komuttan oluşan basit bir yapısı vardır. TLS desteğiyle güvenli bağlantılara izin verir. Alternatifleri olan Redis’den iki kat RabbitMQ’dan ise 10 kat daha hızlıdır.
İkinci Oturumda Zingat’da Yazılım Mimarı olan İlkay Narlı “Kong Api Gateway” konulu bir sunum yaptı.
Api Gateway sistemleri Mikroservis mimarisinde uygulamalarının bel kemiğidir. Tüm veri bu katmandan üzerinden geçer. Mikroservis mimarisinde olmayan uygulamalara Monolit olarak adlandırılır. Monolit uygulamanın tüm katmanları bir arada bulunur. Api Gatewayden genelde Routing, Authentication ve Trafik Kontrol, Analiz, Loglama gibi işler beklenir.
Kong ise Açık kaynak ve Enterprise sürümleri vardır. NGNIX Web serverin üzerine yazılmış ve proxy mantığında çalışmaktadır. Kong eklenti temelli bir servistir. 60’dan fazla açık kaynak eklentisi bulunuyor. Konga isminde yine açık kaynak bir arayüze sahiptir. Sunumda performans konusunda herhangi bir bilgi yoktu ama asıl kullanım amacı olarak dışarıya açılan API’lar için hızlı ve kolay bir şekilde yönetilebilir ölçümlenebilir kapı oluşturmak.
Üçüncü Oturumda Google Developer Expert olan İsmail Baskın “Istio ile Mikroservislerinizi yayına hazır hale getirin!” isminde bir sunum yaptı.
Mikroservis mimarisinin ana omurgasını oluşturan ve servislerin birbirine izole çalışmasını sağlayan container teknolojisi linux işletim sisteminin kernel seviyesinde bir özellikti. Docker ise bu özelliği kullanarak basit configurasyon dosyaları yazarak birbirlerinden bağımsız konteynerlerin yönetimini sağladı. İlk çıkışında geliştirme ortamında geliştiricilerin uygulamaları aynı geliştirme ortamlarında çalıştırmalarını sağlıyordu. Daha sonra Google bünyesinde geliştirilen Kubernetes sayesinde uygulamaların trafik altında scale işlemlerini otomatize eden araç çıktı. Bu sayede docker artık canlı ortamlarda kullanılmaya başladı.
Tabiki her yeni ürünle birlikte karmaşıklık daha da arttı. Bunun yönetimi için şirketler DevOps isminde yeni bir departman oluşturdular. DevOps development ve operation kelimelerinin bileşiminden oluşur. DevOps uzmanları yazılım, sistem, docker, kubernetes konularında uzmanlaşırlar. Uygulamaların tüm bileşenlerin trafiğe uygun şekilde yatayda genişlemesi (autoscale) senaryolarını oluşturur. Yük altında testlerini yapar. Sistemlerin bakımlarıyla ilgilenirler.
Istio ise kubernates ve docker konfigurasyonlarını yöneten ölçümleyen analizi için araçlar sağlayan açıkkaynak bir uygulamalar bütünüdür. Arayüzleri sayesinde konfigürasyonu işlerini kolaylaştırır. Yazılımcılarda devops bilmeden kolayca uygulamaların canlı ortamda yayınlanmasını grafikleri izleyerek sorunların giderilmesini sağlar. Örnek mikroservis mimarisi projesisini ile istio ile Google Cloud üzerinden canlıya alıp demo yaptıldı.
Etkinlik Iyzico sponsorluğunda Altunizade de bulunan ofislerinde yapıldı. Katılım hava kapalı olmasına ragmen 50 kişi civarındaydı.
11 Nisan’da yapılacak PHPKonf etkinliğinin duyurusu yapıldı. Önemli sunumların yapılacağı konferansa katılmak istiyorum. Konferansın ayrıntıları bu sayfada.
Dün (15 Şubat 2020) İstanbul PHP User Group’un düzenlediği “PHP ve Mikroservisler” isminde bir etkinliğe katıldım. 3 oturum yapıldı.
İlk oturumda ICS Defence’da takım lideri olan Erhan Yakut “PHP ve NATS ile Mikroservis Mesajlaşma” isminde bir sunum yaptı.
Mikroservis mimarisi yeni yazılım geliştirme trendlerinden. Özetle, bir uygulamanın her bir modülünün tek başına çalışan bir uygulama olması. Tek başına çalışan servislerin apiler aracılığıyla birbirleri ile konuşarak verileri bir araya getirip istemciye sunulması. Avantajlarından şöyle bahsedebilirim. Her bir servis tek başına çalıştığı için herhangi bir dilde yazılabilir. Büyük bir projede kalabalık ekipler servisleri paylaşarak geliştirip ve bakımlarını yapabilir.
Mikroservis mimarisinde servislerin birbirleri arasında haberleşmesinde birden fazla yöntem kullanılabilir. Http ile apiler kendi endpointlerine erişebilir. Eğer bu yöntem kullanılırsa her servisin bir web sunucuya ihtiyacı olur. Onun yerine Pub/Sub (Publisher/Subscriber) özelliğine sahip servis aracılığıyla birbirlerine mesajlar iletirler.
NATS ise açıkkaynak bir mesajlaşma sistemidir. GO dili ile yazılmış, hafif bir yazılımdır. Pub/Sub, Request/Replay ve Queueing iletişim methodlarına sahiptir. Docker üzerinde çalışan görüntüsü (image) 10MB’dır. 10 komuttan oluşan basit bir yapısı vardır. TLS desteğiyle güvenli bağlantılara izin verir. Alternatifleri olan Redis’den iki kat RabbitMQ’dan ise 10 kat daha hızlıdır.
İkinci Oturumda Zingat’da Yazılım Mimarı olan İlkay Narlı “Kong Api Gateway” konulu bir sunum yaptı.
Api Gateway sistemleri Mikroservis mimarisinde uygulamalarının bel kemiğidir. Tüm veri bu katmandan üzerinden geçer. Mikroservis mimarisinde olmayan uygulamalara Monolit olarak adlandırılır. Monolit uygulamanın tüm katmanları bir arada bulunur. Api Gatewayden genelde Routing, Authentication ve Trafik Kontrol, Analiz, Loglama gibi işler beklenir.
Kong ise Açık kaynak ve Enterprise sürümleri vardır. NGNIX Web serverin üzerine yazılmış ve proxy mantığında çalışmaktadır. Kong eklenti temelli bir servistir. 60’dan fazla açık kaynak eklentisi bulunuyor. Konga isminde yine açık kaynak bir arayüze sahiptir. Sunumda performans konusunda herhangi bir bilgi yoktu ama asıl kullanım amacı olarak dışarıya açılan API’lar için hızlı ve kolay bir şekilde yönetilebilir ölçümlenebilir kapı oluşturmak.
Üçüncü Oturumda Google Developer Expert olan İsmail Baskın “Istio ile Mikroservislerinizi yayına hazır hale getirin!” isminde bir sunum yaptı.
Mikroservis mimarisinin ana omurgasını oluşturan ve servislerin birbirine izole çalışmasını sağlayan container teknolojisi linux işletim sisteminin kernel seviyesinde bir özellikti. Docker ise bu özelliği kullanarak basit configurasyon dosyaları yazarak birbirlerinden bağımsız konteynerlerin yönetimini sağladı. İlk çıkışında geliştirme ortamında geliştiricilerin uygulamaları aynı geliştirme ortamlarında çalıştırmalarını sağlıyordu. Daha sonra Google bünyesinde geliştirilen Kubernetes sayesinde uygulamaların trafik altında scale işlemlerini otomatize eden araç çıktı. Bu sayede docker artık canlı ortamlarda kullanılmaya başladı.
Tabiki her yeni ürünle birlikte karmaşıklık daha da arttı. Bunun yönetimi için şirketler DevOps isminde yeni bir departman oluşturdular. DevOps development ve operation kelimelerinin bileşiminden oluşur. DevOps uzmanları yazılım, sistem, docker, kubernetes konularında uzmanlaşırlar. Uygulamaların tüm bileşenlerin trafiğe uygun şekilde yatayda genişlemesi (autoscale) senaryolarını oluşturur. Yük altında testlerini yapar. Sistemlerin bakımlarıyla ilgilenirler.
Istio ise kubernates ve docker konfigurasyonlarını yöneten ölçümleyen analizi için araçlar sağlayan açıkkaynak bir uygulamalar bütünüdür. Arayüzleri sayesinde konfigürasyonu işlerini kolaylaştırır. Yazılımcılarda devops bilmeden kolayca uygulamaların canlı ortamda yayınlanmasını grafikleri izleyerek sorunların giderilmesini sağlar. Örnek mikroservis mimarisi projesisini ile istio ile Google Cloud üzerinden canlıya alıp demo yaptıldı.
Etkinlik Iyzico sponsorluğunda Altunizade de bulunan ofislerinde yapıldı. Katılım hava kapalı olmasına ragmen 50 kişi civarındaydı.
11 Nisan’da yapılacak PHPKonf etkinliğinin duyurusu yapıldı. Önemli sunumların yapılacağı konferansa katılmak istiyorum. Konferansın ayrıntıları bu sayfada.
Yorumlar
Yorum Gönder