WEB EKOSISTEM
Netlify Nedir ? Ne İşe Yarıyor ?
Web uygulamalası geliştiricilerinin uygulamalarını genellikle (Jamstack) olanları Serverless (Edge) host ederek daha hızlı geliştirmelerini sağlayan bir platform
Netlify Frontend veya Jamstack dediğimiz blog, CMS ve benzeri uygulamalar için size hosting platformu sağlıyor.
Aşağıda bu Netlify ne olduğunu kısaca özetlemiş.
1. Öncelikle Uygulamanız İçin Bir Teknoloji Seçin
Frontend uygulaması yazıyor iseniz React, Vue, Angular veya Wordpress, Blog, CMS geliştiriyorsanız JAMStack altyapılar seçmeniz gerekiyor.
JAMStack, website ve app oluşturmak için geliştiricilere modern bir yöntem ile teknoloji stack daha performanslı, ucuz ve hızlı bir altyapı sunar. Bunu sunarken aşağıdaki teknolojileri kullanarak bunu geliştirir.
- Javascript,
- API (GraphQL, REST)
- ve Markup anlamına gelir
JAMStack ilk olarak 2015 yılında Netlify CEO’su Mathias Biilmann tarafından geliştirilmiştir. Jamstack web sitelerinde, uygulama mantığı genellikle arka uca sıkıca bağlanmadan istemci tarafında bulunur sunucu. Wikipedia
2. Ufak Bir Ekran Geliştirin Ve GitHub Atın
Projeniniz Git üzerinde bir repository’de olmasını istiyor. Projenizi geliştirdikten sonra GitHub, GitLab veya Bitbucket attınız.
Artık Netlify ekranında aşağıdaki düğmeye basarak Netlify ortamı ile projenizi birbirine bağlayabilirsiniz. Bu adımlar sonrasında Netlify Plugini sizin GitHub vb hesabınızdaki yere yüklenerek, Git attığınız Commit sonrasında Netlify sayfasını tetikleyecektir.
3. Netlify Ana Sayfasına Geldiğinizde
Kullanım Durumu alanı Netlify platformunu ne düzeyde kullandığınızı özetler.
- Bandwith → Network kullanımı
- Build Süresi → Lambda vb.. Execution Process kullanımı
- Concurrent Builds.. → Çok fazla projeniz olduğu durumlarda bunları eş zamanlı işletebilme
- Members → Hesabınızdaki kullanıcı sayısı
Alt kısımda ise Web Uygulamalarınızın bir listesi ve bu listenin sağ kısmında, Git commit sonrasında alınan build’lerin her birisine ulaşabilirsiniz.
4. Netlify Build Nasıl Tetikleniyor ? CI/CD işlemini Nasıl Gerçekleştiriyor ?
Aslında oldukça basit bir yapıya sahip. Git commit gönderdiğinizde, Git Reposunda plugin hook ile bu commit yakalayıp, bu kaynak kod üzerinde gatsby build çalıştırıyor. Bu kısımda yarn build, npm build vb.. komutlar olabilir.
Bu işlemler sonrasında eğer build başarılıysa çıktıyı /public folder altında atıyor.
5. Netlify Build Edge Lokasyona Yükleyerek Public Erişimini Sağlıyor .
Build olan proje çıktınız bir sonraki aşamada Netlify Edge (CDN) denen alanlara deploy oluyor. CDN (Content Delivery Network) ile veriye daha hızlı erişebildiğiniz kısımlar hatta AWS Edge Locations CloudFront Functions çalıştırabilmeniz için altyapı sunmasını geçen yazımda anlatmıştım. Netlify Edge benzer bir mekanizmada.
Özetle build sonrası oluşan dosyaları Edge ilgili folder atayıp, kendisi bir abc..netlify.app şeklinde bir web adresi oluşturarak uygulamanıza buradan ulaşabilmenizi sağlıyor.
Tabi siz projeniz sizin belirleyeceğiniz özel bir alan adı olmasını istiyorsanız. Netlify tarafından bu alan adını almanız.
Ve sonrada projeniz ile bu Domain ismi arasında bağlantı kurmanız gerekiyor. Bu işlemleri Netlify oldukça kolay bir şekilde arayüz üzerinden gerçekleştirmenizi sağlıyor.
Daha sonra projenizin HTTPS support etmesini bir seçenek olarak belirledikten sonra artık sayfanıza belirtilen SSL.TSL sertifikası sayesinde HTTPS üzerinden erişebilir olacaktır.
6. Netlify Platformunun Sağladığı Ekstra Servisler
Edge üzerinde çalışan bir sistemde eğerki bir veritabanı veya başka servislere (Örneğin Auth0, Stripe, Mailgun vb ..) erişmek isterseniz ;
- Netlify Functions kullanabilirsiniz.
Çalıştıracağınız fonksiyonlar uzun zaman alacak fonksiyonlar ise Bacground Fonksiyonları olarak çalıştırabiliyorsunuz
Idenitity servisi ile üyelikleri yönetebilirsiniz ama ücretli versiyonlarda anlamlı, diğer kısımlarda biraz deneme amaçlı kullanmak için size bir opsiyon sunulmuş
Form Servisi ile hiç server-side kodu ve JS kullanmadan Form elemanları geliştirebilmenizi sağlıyor . Form geliştirmek için Submissiın alabilecek bir Edge Function ve bunları depolayabileceğiniz bir DB gerekiyor. Basit form ekranlarınız var ise bu zahmete katlanmadan bunları Netlify Forms ile tasarlayabilirsiniz.
Diğer servisleride Analtyics, Log Drains ve Large Media…
Okumaya Devam Et 😃
Bu yazının devamı veya yazı grubundaki diğer yazılara erişmek için bu linke tıklayabilirsiniz.