paint-brush
Daha Az Zamanda Öğrenme, Daha Fazla Zaman Oluşturma: Güvenli Mikro Hizmetler Arayışı ile@johnjvester
1,341 okumalar
1,341 okumalar

Daha Az Zamanda Öğrenme, Daha Fazla Zaman Oluşturma: Güvenli Mikro Hizmetler Arayışı

ile John Vester6m2024/05/28
Read on Terminal Reader

Çok uzun; Okumak

Güvenli bulut benimseme artık özel bulut altyapı bilgisine yatırım yapılmasını gerektirmiyor ve ekiplerin işleriyle uyumlu uygulamaları uygulamasına olanak tanıyor. Güvenli mikro hizmet dağıtımı için AWS ile Heroku arasındaki karşılaştırmayı inceleyin. Bulut benimseme ve altyapı yönetiminde stratejik bir alternatif sunan Heroku'nun Özel Alanlarının ve Heroku Shield'in uyumluluk açısından avantajları hakkında bilgi edinin.
featured image - Daha Az Zamanda Öğrenme, Daha Fazla Zaman Oluşturma: Güvenli Mikro Hizmetler Arayışı
John Vester HackerNoon profile picture
0-item
1-item


2018 yılında boş zamanımı bir aile üyesinin işini modernleştirmeye yardımcı olmak için kullanmaya karar verdim. Bu süreçte AWS konusunda biraz deneyim ve anlayış kazanmak istedim.


Sonunda boş zamanımın neredeyse tamamının AWS bulut altyapısı kavramlarını öğrenmekle geçtiğini keşfettim. Başlangıçta aklımda olan modern, bulut tabanlı çözümü oluşturmaya odaklanmak için zamanımın yalnızca küçük bir kısmı kalmıştı. Uygulama için daha fazla özellik isteği planladığımda daha iyi bir yaklaşıma ihtiyacım olduğunu fark ettim.


2020'nin başlarında Heroku'yu keşfettim. Temel bulut yapılandırmaları hakkında endişelenmeme gerek olmadığından zamanımı yeni özellikler eklemeye odaklayabildim.


Heroku ekosistemi basit kullanım durumum için harika çalıştı ancak daha karmaşık kullanım senaryolarını merak etmeye başladım. Bir ödeme işleme çözümü için güvenli ve özel hizmetlerden oluşan bir topluluğun birbiriyle etkileşime girmesi gereken senaryoya ne dersiniz?

Bu kullanım durumu beni üç büyük bulut hizmeti sağlayıcısından birinin ekosisteminde yaşamaya zorlar mı? Öğreneceğim.


Güvenli Mikro Hizmetlerin Mevcut Durumu

Birkaç yıl boyunca DevOps yaşam döngüsüne değer veren bir ortamda çalışma şansına sahip oldum. DevOps ekibi benim için bulutla ilgili her şeyi halletti, böylece müşterilerimin ihtiyaçlarını karşılayacak mikro hizmetlerin mimarisine ve oluşturulmasına odaklanabildim.


Hayatımın o döneminde bu ortam norm değil istisnaydı. Tarayıcımda "bulut altyapısı bilgisi olmayan şirketler" diye bir arama yaptım ve sonuçlar oldukça şaşırtıcı bazı sonuçlara ulaştı:


  • Bulut uzmanlığında ciddi bir eksiklik var.
  • Bulut becerilerinin eksikliği, bulutta yerel hizmetlerde önemli performans etkilerine yol açıyor.
  • Bulut güvenliği 4 şirketten 1'i için zorluk teşkil ediyor.


En iyi arama sonuçlarında, temel bulut kavramlarının anlaşılmamasından ve ekiplerin etkili olabilmesi için önemli eğitimlere duyulan ihtiyaçtan bahsedildi. Müşteri talepleri ve teslimatlar daha yüksek öncelik taşıdığından, çoğu ekibin ihtiyaç duyduğu eğitim genellikle bir kenara bırakılır.

Bu güncel yaklaşımla, çoğu bulut uygulaması daha yavaş ilerlemeye zorlanmakta ve çoğu zaman bilinmeyen güvenlik açıklarına maruz kalmaktadır.


Mikro hizmetlerinizi bulutta güvence altına almanın mevcut durumu mutlu bir durum değil.


Güvenli Mikro Hizmetler için İdeal Durum

Bulutta yerel çözümler için ideal durum, birkaç yıl önce oluşturduğum kişisel bir misyon beyanına bağlı kalmaktır:


“Zamanınızı fikri mülkiyetinizin değerini artıran özellikler/işlevsellik sunmaya odaklayın. Diğer her şey için çerçevelerden, ürünlerden ve hizmetlerden yararlanın.”

– J. Vester


Bu bağlamda, bulutta yerel çözümlere yönelme talimatı olanlar, kurumsal hedeflerle uyumlu bir hızda ilerleyebilmelidir. Temel bulut altyapısıyla ilişkili öğrenme eğrisi nedeniyle yavaşlamamalılar.


Peki, birden fazla mikro hizmeti kapsayan ve hepsinin halktan izole edilmesi ve uyumluluk düzenlemelerine (SOC, ISO, PCI veya HIPAA gibi) uyması gereken bir bulut çözümüyle karşı karşıya kaldığımızda bu nasıl görünüyor?


Özel Alanlar Hakkında

2020 Heroku deneyimim olumluydu. Bu yüzden bu karmaşık kullanım durumunda nasıl çalışacağını görmek istedim. İşte o zaman Özel Alanları keşfettim.


Özel Alanlar Heroku Enterprise'ın bir parçası olarak mevcuttur. Yalıtılmış bir ağ içinde mikro hizmetleri çalıştırmak için ayrılmış ortamlardır. Bu yaklaşım, ekiplerin hizmetlerini genel internete açık olmayan bir ağa dağıtmalarına olanak tanır. Kaputun altında, bu hizmetler temel kullanım durumumdakiyle tamamen aynı şekilde çalışıyor. Bunları Heroku CLI aracılığıyla ayarlayabilirim ve Git tabanlı basit komutlar dağıtımları tetikleyebilir.


Mevzuat uyumluluğu ihtiyaçları konusunda PCI DSS, HIPAA, ISO (27001, 27017 ve 27018) ve SOC (1, 2 ve 3) ile uyumluluk konusunda Heroku Shield'e güvenebilirim.


Yüksek düzeyde Heroku, şu şekilde gösterilebilecek güvenli, bulutta yerleşik bir tasarım uygulamama izin veriyor:


Burada, Heroku Kalkanı'nı tamamen Özel Alan içinde kullanan bir uygulamamız var. Bu, birkaç farklı programlama dili kullanan bir mikro hizmet koleksiyonunun, çeşitli düzenleyici uyumluluk gerekliliklerine bağlı kalarak tüm ana birincil ve ikincil kart ağlarıyla etkileşime girmesine olanak tanır. Ayrıca Salesforce platformu ve GitLab ile güvenli iletişim kurabiliyorum.

Heroku İş Başında

Heroku CLI'yi kullanarak Özel Alanımı ve Heroku Kalkanımı çalışır duruma getirebilirim. Heroku'da buna Kalkan Özel Alanı denir. İşte süreç boyunca çalışmak için bazı üst düzey örnekler.


Yeni bir Shield Özel Alanı oluşturmak için spaces:create kullanıyoruz ve --shield seçeneğini ekliyoruz.


 $ heroku spaces:create payment-network --shield --team payments-team --region oregon Creating space payment-network in team payments-team... done === payment-network Team: payments-team Region: oregon State: allocating


Kullanım durumu Sınıfsız Etki Alanları Arası Yönlendirme (CIDR) aralıkları gerektiriyorsa --cidr ve --data-cidr işaretlerini kullanabilirim.


Özel Alanımı Oregon bölgesinde oluşturduğumu fark edeceksiniz. Mevcut 10 bölgeden birinde (ABD, Avrupa, Asya ve Avustralya'da) Özel Alan oluşturabilirsiniz. Kullanılabilir bölgelerin listesi için aşağıdakileri yapın:


 $ heroku regions ID Location Runtime ───────── ─────────────────────── ────────────── eu Europe Common Runtime us United States Common Runtime dublin Dublin, Ireland Private Spaces frankfurt Frankfurt, Germany Private Spaces london London, United Kingdom Private Spaces montreal Montreal, Canada Private Spaces mumbai Mumbai, India Private Spaces oregon Oregon, United States Private Spaces singapore Singapore Private Spaces sydney Sydney, Australia Private Spaces tokyo Tokyo, Japan Private Spaces virginia Virginia, United States Private Spaces


payment-network Özel Alanında çalışması gereken her mikro hizmet için apps:create komutunu çalıştırırken --space seçeneğini ekliyorum:


 $ heroku apps:create clearing-service --space payment-network Creating app... done, clearing-service


Tüketicilere payment-network alanına erişim izni vermek için güvenilir IP'lerin izin verilenler listesini tutabilirim:


 $ heroku trusted-ips:add 192.0.2.128/26 --space payment-network Added 192.0.2.128/26 to trusted IP ranges on payment-network ▸ WARNING: It may take a few moments for the changes to take effect.


Çözüm

Ekiplere genellikle bulutta yerel bir yaklaşımı benimsemeleri için yukarıdan talimat verilir. Ancak pek çok ekibin güvenli bulut mimarilerini devreye alma konusunda ciddi bir anlayış boşluğu var. Üç büyük bulut sağlayıcısından birini kullanıyorsanız, bu boşluğu kapatmanın bir bedeli olacaktır; muhtemelen ürün sahibinin beklediği zaman çizelgelerini kaçıracaktır.


Güvenli bulut dağıtımı için daha iyi bir seçenek var mı? Heroku Kalkanı ile birlikte Özel Alanların daha iyi bir seçeneği temsil ettiğini düşünüyorum. Kişisel olarak benim için Heroku'nun, müşterilerinin başarısına odaklanan bir bulut benimseme alternatifi sağlamaya adanmış bir geçmişi olan Salesforce'un çözüm platformunun bir parçası olması da önemli. Bu yüzden bunun dikkate alınması gereken uzun vadeli bir strateji olduğunu hissettim.


Gerçekten harika bir gün geçirin!