Page 10 - Yazılım Teknolojileri Araştırma Bülteni 2023
P. 10

10 | Sunucusuz Mikroservisler: AWS Uygulaması




           Sunucusuz (Serverless)






           Sunucusuz  altyapı  hizmetleri  ile  ilgilenmeden  uygulamaları  geliştirmek  ve  deploy  etmek  için
           kullanılan bir yaklaşımdır. Altyapısal hizmetler, bir bulut sağlayıcı tarafından yürütülür. Bu sayede
           geliştiriciler daha çok iş mantıklarına odaklanabilir ve donanım, güvenlik, depolama, ölçeklendirme,
           bakım gibi çeşitli altyapı uğraşları ile ilgilenmek mecburiyetinde olmazlar.

           Güncel  olarak  sunucusuz  mimarileri  genelde  FaaS  (Function  as  a  Service)  anlayışı  ile  çalışır.

           Bu  anlayışta  uygulama  ayrık  fonksiyonlar  şeklinde  geliştirilir  ve  her  fonksiyon  bir  olay  (event)
           tarafından tetiklenir.




                     </>                                                                      fx







                   Fonksiyon                           Fonksiyon                          Bulut sağlayıcısı,
                bulut sağlayıcıya                     tetikleyicileri                      tetiklendiğinde
                   gönderilir.                          ayarlanır.                        fonksiyonu çalışır.


                                       Şekil 1. Hizmet Olarak İşlevin (FaaS) Çalışma Diyagramı



                 Avantajları



           Maliyet:  Servislerin  ücretlendirmesinde,  kullandığın  kadar  öde  mantığı  vardır.  Kullanılmayan
           durumlarda ücret ödenmez ve boşa kaynak kullanımı olmaz. Aynı zamanda altyapısal işlevlere

           yönelik operasyonel maliyet de azalmış olur.

           Ölçeklendirme: Kullanılan servislerin ölçeklendirilmesi bulut sağlayıcısı tarafından yönetilir ve
           geliştiricilerin bir eforu gerekmez. Ölçeklendirme uygulamaya özel olarak daha hassas ve doğru
           bir şekilde yapılmış olur. Ayrıca istendiği durumda konfigüre edilebilir.

           Üretkenlik: Altyapı unsurlarından olabildiğince soyutlanmış geliştiriciler, daha çok iş mantıklarına
           odaklanır ve daha üretken hale gelirler. Uygulamanın geliştirilmesi ve kodun dağıtımı (deploy)

           arasında süre kısalır.

           Lokalizasyon:  Uluslararası  bir  hizmet  sunulduğunda,  servis  sağlayıcısının  dünyanın  uzak
           noktalarında sahip olduğu sunucular sayesinde, isteklerin en yakın sunucu tarafından yanıtlanması
           sağlanır ve hız artmış olur.
   5   6   7   8   9   10   11   12   13   14   15