İçindekiler:
- Hizmetleri yerel olarak barındırma
- Hizmetlerin bulutta barındırılması
- İyi bir geliştirme ortamı tanımlama
Video: Building Apps for Mobile, Gaming, IoT, and more using AWS DynamoDB by Rick Houlihan 2024
AWS'nin sunduğu servis sayısı ne olursa olsun, hizmetleri kullanmak için halen bir miktar donanıma ihtiyacınız var. AWS donanımı ağır kaldırdığından, buluttaki hizmetler ile çalışırken gereksinim duyduğunuz donanım miktarı azdır. Hizmetlerle yerel olarak çalışırken, AWS artık sizin için ağır kaldırma yapmadığı için ek donanıma gereksinim duyarsınız. Bu nedenle, AWS hizmetini barındırdığınız yere bağlı olarak farklı donanım gereksinimlerini düşünmelisiniz.
Hizmetleri yerel olarak barındırma
AWS belgelerinde gizli olan, çeşitli hizmetler hakkında her türlü yararlı bilgidir. Örneğin, AWS Storage Gateway, bulut tabanlı depolama ile kurum içi yazılım aletini () (donanım veya sanal makinede çalıştırmak için yeterli işletim sistemi yeteneği ile birlikte bir uygulama) bağlayacaktır.
Başka bir deyişle, uygulamanızı gerektirdiği veri depolama alanına bağlamak için ağ geçidini kullanırsınız. Ağ geçidini bulutta çalıştırmak iyi bir fikir olabilir, çünkü ek donanıma yatırım yapmanız gerekmez. Bununla birlikte, gereksinimlere baktığınızda AWS Storage Gateway'in belirli donanım, örnek ve depolama gereksinimleri ile birlikte geldiğini görürsünüz. Anlaşılması gereken en önemli şey, bulutun herhangi bir planlama aşamasında göz önüne almanız gereken sınırları sunduğudır.
İstediğiniz yapılandırmayı çalıştırabildiğinizden emin olduktan sonra bulutta çalışma avantajlarını ve dezavantajlarını göz önüne almaya başlayabilirsiniz. Örneğin, hizmeti bulutta barındıracak olursak, otomatik ölçeklendirme gerektiği gibi yapılır ve Amazon, sizin için bir çok idari görevi yerine getirir. Bununla birlikte, gerçekçi bir bakış açısı ile, bu dezavantajların farkında olarak aşağıdaki avantajları dengelemek zorundasınız:
- Düşük uygulama hızı potansiyeli
- Güvenilir bir İnternet bağlantısını korumak gerekiyor
- Esneklik kaybı
- Satıcılar iş dışına çıkıyor
Temel donanım ihtiyaçları daha az pahalı olmasına rağmen, işten çıkarmalar şeklinde ilave harcamalar düşünmelisiniz. Çoğu kuruluş, buluta taşınmanın donanım maliyetlerinin eksiksiz bir BT departmanını korumaktan çok daha az olduğunu keşfeder, bu nedenle bu hareketi gerçekleştirdiler. Bununla birlikte, yaptığınızda göz önüne almanız gereken başka hususların olduğu anlayışıyla hareket etmelisiniz.
Hizmetlerin bulutta barındırılması
Hizmetleri yerel olarak barındırırken, pahalı olabilecek tüm gerekli altyapıyı sağlamanız gerekir.AWS, bir hizmeti bir yerel olarak barındırmaya ilişkin minimum gereksinimler konusunda rehberlik eder.
Hizmetleri yerel olarak barındırırken iyi bir kural olarak satıcı tarafından tedarik edilen tüm gereksinimler minimum olarak görülmelidir. Hizmeti yüklü olarak yüklemeyi planlamıyorsanız, bu asgari ücretler genellikle çalışır. Ancak, Ağ Geçidi Performansını En İyileştir bağlantısını tıklattığınızda, gördüğünüz ilk öneriniz ağ geçidine kaynaklar eklemektir. Çok fazla kapasitenin planlanması, yetersiz olduğundan daha iyidir, ancak konfigürasyona ihtiyacınız olana mümkün olduğunca yakın olmanız her zaman mali açıdan yardımcı olacaktır.
Yeterli kaynak için plan yapın.Tüm hizmetler yerel olarak çalışmayabilir, ancak birçoğunun bunu yaptığını görmek sizi şaşırtabilir. Mesele, belirli bir hizmeti nasıl kullanmayı planladığınızı ve yapmayı düşündüğünüz dengelilikleri tam olarak tanımlamanın biridir. Örneğin, yerel olarak bir hizmete ev sahipliği yaparken, bulutta aynı hizmeti barındırırken üçüncü taraflara sağlayabileceğiniz aynı düzeyde bağlantıyı sağlamak zor olabilir.
İyi bir geliştirme ortamı tanımlama
AWS için gerekli olan kaynakları bildikten ve kurulumunuzun temellerini açıkladıktan sonra, geliştirme ortamınızı değerlendirmeniz gerekir. Düşünmeniz gereken ilk sayı bir dilden biridir. AWS, hangi IDE'yi kullanacağınız ile ilgilenmez (IDE seçimi, uzaktan erişim için hangi özelliklere sahip olduğunuzu belirse de) ancak dil için önemlidir. Erişmek istediğiniz hizmet için AWS'nin seçtiğiniz dili desteklediğini doğrulamanız gerekir. Örneğin, Basit Kuyruk Hizmeti (SQS) için seçimler aşağıda belirtilmiştir.
AWS'nin kullanmak istediğiniz dilde destek sağladığından emin olun.EC2'yi kullanarak bir dağıtım ortamı oluşturabilirsiniz. Bu yazıda bu görevi nasıl yapacağınız anlatılmaktadır. Bu yaklaşımın en önemli avantajı, kuramsal olarak AWS uygulamalarını herhangi bir yerden geliştirebilmenizin, çünkü geliştirme için artık belirli kaynaklara sahip yerel bir sistemi gerektirmediğidir.
Bununla birlikte, bu yaklaşım kesinlikle özgür değildir ve bu, kalkınma görevlerini yerine getirmek istediğiniz her yerden güvenilir bir İnternet bağlantınızın olması gerektiği anlamına gelir; bu, işyerinde sorun değil, muhtemelen evde bir sorun oluşturur. Bulut tabanlı geliştirme yaklaşımı AWS Komut Satırı Arabirimini (CLI) kullanmaktadır.
Yerelleştirilmiş bir geliştirme ortamı kullanmak için temel neden, kuruluşunuzun geliştirme görevlerini yerine getirmek için kullandığı yerel kaynaklara ve kod kitaplıklarına erişebilmenizdir.
Bu seçeneğin güvenilirlik açısından bir avantajı vardır, çünkü bunu kullanmak için uzak bir bağlantıya güvenmiyorsunuz. İnternet bağlantınız kesilirse, kod geliştirmeye devam edebilirsiniz (ancak bağlantı yeniden kurulana kadar test mümkün değildir). Bu seçeneği kullanırken, en azından test amaçları için ve kurumun güvenlik duvarıyla AWS erişimine izinler için ek bant genişliği gerekiyor.
AWS ile çalışırken sadece iki seçenekle sınırlı değilsiniz. Örneğin, yerel bir geliştirme ortamı kullanabilir, ancak kodunuzu S3'e yerleştirebilirsiniz.Bulut tabanlı veri depolama biriminin kullanımı, çeşitli konumlarda yerelleştirilmiş kurulumlara sahip olabileceğiniz anlamına gelir (böylece yerel kaynaklara erişiminizi korur) ve bulut tabanlı geliştirme avantajlarından yararlanır; kodunuza nerede olduğunuz her yerden erişebilirsiniz yapılandırılmış bir geliştirme ortamı var.
Elastiki Beanstalk'u proje, kaynak kontrolü ve havuz kullanımı için nasıl kullanacağınızı anlatan bu eğitim de ilginç. Yerelleştirilmiş bir geliştirme ortamında olduğu gibi, Internet erişimi için gerekli izinlerin ve bu seçeneğin iyi çalışması için veri isteklerindeki artışın üstesinden gelmek için yeterli bant genişliğine ihtiyacınız vardır. Aslında, bant genişliği gereksinimleri yerel bir yapılandırmadan daha yüksektir ve geliştirme ortamı uzak kaynaklarla çalışmalıdır.
Doğru geliştirme ortamını seçmek kolay değildir. Çoğu durumda, seçim kişisel tercih ve örgütsel gerekliliklerden biri haline gelir. Örneğin, hassas geliştirme görevleriyle uğraşırken bir bulut tabanlı geliştirme çözümü kullanmak bir seçenek olamaz; güvenlik ihtiyaçları diğer isteklerle çelişebilir.