Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Genel Bakış
Yenilik, günümüzün rekabet ortamındaki yeni para birimidir. Sürüş paylaşımı, akış içeriği, kendi kendine araba sürme ve diğer hizmetler, pazarları alt üst ederken ve rekabet ortamının fiziksel varlıklardan dijital deneyimlere nasıl geçtiğini gösterirken insanların günlük ritmini temelden değiştirdi.
Bu tür üstün dijital deneyimler, köklü işletmelerin yenilik yapabilecek ve müşterilerine daha hızlı değer sağlayabilen şirketlerin sert rekabetleriyle karşı karşıya kaldığı bir kesintiye yol açıyor. Rekabet etmek ve kesintiyi önlemek için işletmelerin bir yenilik kültürü oluşturması ve en iyi ve en uygun araçları ve bulut hizmetlerini kullanması gerekir.
GitHub, şirketlerin şunları sağlamasına yardımcı olabilecek çeşitli özellikler sunar:
- Azure hizmetlerinden ve özelliklerinden yararlanın.
- Uygulamalarını modernleştirin.
- Bu kültürel değişim sırasında daha çevik ve yenilikçi olun.
Şirketler, GitHub'ın açık kaynak topluluğuna olan bağlılığından yararlanabilir ve Azure hizmetlerini başarıyla benimsemiş kuruluşların binlerce yinelenmiş, gelişmiş ve dağıtıma hazır bulut çözümü örneğini bulabilir. İş ihtiyaçlarına göre uyarlamak için bu çözümlerden kolayca ödünç alabilir ve bunları yineleyebilirler.
GitHub, kuruluşların ekiplerinde paylaşımda bulunmalarını kolaylaştırır ve bu da bir sonraki uygulamayı veya iş yükünü modernleştirmeyi ve dağıtmayı hızlandırır. Şirketler, açık kaynak topluluğundan paylaşım ve yeniden kullanma, işbirliği ve iletişim gibi en iyi yöntemleri ödünç almak ve bunları kuruluşlarında uygulamak için yeniliklerin önemli bir ağı olan InnerSource'a bakabilir.
Açık kaynak paketlerin güvenliğini sağlamaktan günlük olarak yazılan fikri mülkiyete kadar tüm yazılım tedarik zincirinin güvenliğini sağlamak her şirket için temel bir öncelik olmalıdır. Bu hedef, tüm yaşam döngüsü boyunca birleştirilebilen ve otomatik hale gelebilen gelişmiş güvenlik teknolojisi gerektirir ve GitHub gelişmiş güvenlik ve GitHub Actions gibi yerel GitHub özellikleri bu tür esneklik sunar.
Açık kaynak varlıklarından yararlanma
Son derece etkili kuruluşlar, açık kaynak yazılımları (OSS) modern yazılım geliştirme için gerekli ve isteğe bağlı olarak tanır. Bağlı oldukları geliştirici topluluklarıyla etkileşim kurar ve OSS'ye stratejik yatırım yapmak için güvenli bir platform kullanırlar. Sonuç olarak, bu kuruluşlar hızla yenilik deneyimi yaşar, rakiplerden daha fazla avantaj elde eder ve riski en aza indirirken maliyetleri düşürür.
OSS; uygulamalara dahil edilen paketlerden, kitaplıklardan, betiklerden ve bağımlılıklardan oluşur. OSS ayrıca kod olarak altyapı (IaC), belgeler ve iyi tanımlanmış Azure mimarileri için rehberlik biçiminde binlerce açık kaynak varlığı içerir. Microsoft, iş ortakları, satıcılar, müşteriler ve bireyler bu paketleri OSS topluluğuna katkıda bulunur. Bunları GitHub'da bulabilir, bunları değiştirebilir, yeniden kullanabilir ve belirli bir Azure ortamına dağıtabilirsiniz.
Kod olarak altyapı
IaC, açıklayıcı bir modelde ağları, sanal makineleri, yük dengeleyicileri ve bağlantı topolojisini içeren altyapının yönetimidir. IaC, DevOps ekibinin kaynak kodu için kullandığı sürüm oluşturma sistemini kullanır. Örneğin DevOps ekibi, aynı kaynak kodun aynı ikiliyi oluşturma ilkesini izler. IaC modeli de bu ilkeyi izler ve modeli her uyguladığınızda aynı ortamı oluşturur. IaC, sürekli teslim (CD) ile kullanabileceğiniz önemli bir DevOps uygulamasıdır.
IaC, yayın işlem hattındaki ortam kayma sorununu çözmek için gelişti. Bu olmadan, ekiplerin tek tek dağıtım ortamlarının ayarlarını koruması gerekir ve ortamlar arasındaki tutarsızlıklar dağıtımlar sırasında sorunlara yol açar. Her ortam sonunda benzersiz bir yapılandırma, bir kar tanesi haline gelir ve otomatik olarak yeniden oluşturulamaz. Kar taneleriyle altyapı yönetimi ve bakımı, hatalara katkıda bulunan ve izlenmesi zor olan el ile işlemler gerektirir. IaC ile altyapı dağıtımları yinelenebilir ve yapılandırma kayması veya eksik bağımlılıklardan kaynaklanan çalışma zamanı sorunlarını önler.
IaC ile ekipler, genellikle JSON gibi iyi belgelenmiş kod biçimlerinde yer alan yapılandırma modelinin ortam açıklamasında ve sürümünde değişiklik yapar; Daha fazla bilgi için bkz. Azure Resource Manager şablonları . Geliştiriciler, IaC kodunu uygulama kaynak kodlarıyla aynı GitHub deposunda barındırarak ve GitHub Actions tarafından desteklenen IaC için aynı sürekli tümleştirme (CI) /CD uygulamalarını benimseyerek iş akışlarını basitleştirebilir.
Çeşitli Azure kapsamlarında özel Resource Manager şablonlarının nasıl dağıtılacağına ilişkin bir örnek için AzOps GitHub eylemine bakın. Resource Manager şablonlarını veya IaC'yi yeni kullanıyorsanız GitHub'da depoya göz atabilirazure-quickstart-templates
, dağıtmak istediğiniz şablonu bulabilir ve nasıl çalıştığını test etmek için Azure'a Dağıt düğmesini seçebilirsiniz.
Bulut deseni bileşenleri ve en iyi yöntemler
Aşağıdaki mimari diyagramı, GitHub DevSecOps ortamının GitHub ve Azure bileşenlerinde çalışan güvenlik denetimlerini vurgular:
GitHub , geliştiricilerin açık kaynak ve InnerSource projelerinde işbirliği yapmak için kullanabileceği bir kod barındırma platformu sağlar.
Codespaces çevrimiçi bir geliştirme ortamıdır. GitHub tarafından barındırılan ve Microsoft Visual Studio Code tarafından desteklenen bu araç, bulutta eksiksiz bir geliştirme çözümü sağlar.
GitHub güvenliği , tehditleri çeşitli yollarla ortadan kaldırmak için çalışır. Aracılar ve hizmetler, depolardaki ve bağımlı paketlerdeki güvenlik açıklarını belirler. Ayrıca bağımlılıkları geçerli ve güvenli sürümlere yükseltiyorlar.
GitHub Actions , doğrudan depolarda CI/CD özellikleri sağlayan özel iş akışlarıdır. Runners adlı bilgisayarlar bu CI/CD işlerini çalıştırır.
Microsoft Entra ID , Azure'a ve Microsoft 365 ve GitHub gibi diğer bulut uygulamalarına erişimi denetleen çok kiracılı, bulut tabanlı bir kimlik hizmetidir.
Azure App Service , web uygulamaları oluşturmaya, dağıtmaya ve ölçeklendirmeye yönelik bir çerçeve sağlar. Bu platform yerleşik altyapı bakımı, güvenlik yamaları uygulama ve ölçeklendirme sunar.
Azure İlkesi , ekiplerin bulut kaynakları için kuralları zorunlu kılabilir ilke tanımları aracılığıyla BT sorunlarını yönetmelerine ve önlemelerine yardımcı olur. Örneğin, bir proje tanınmayan bir SKU'ya sahip bir sanal makine dağıtmak üzereyse, Azure İlkesi sorunla ilgili uyarılar gönderir ve dağıtımı durdurur.
Bulut için Microsoft Defender, hibrit bulut iş yükleri arasında birleşik güvenlik yönetimi ve gelişmiş tehdit koruması sağlar.
Azure İzleyici performans ölçümlerini, etkinlik günlüklerini ve diğer uygulama telemetrilerini toplar ve analiz eder. Bu hizmet, düzensiz koşullar tanımladığında uygulamaları ve personeli uyarır.
InnerSource
InnerSource'a genel bakış
Birçok şirket, mühendislik ekiplerinin kod üzerinde birlikte nasıl çalıştığını açıklamak için InnerSource terimini kullanır. InnerSource, mühendislerin Kubernetes veya Visual Studio Code gibi büyük ölçekli açık kaynak projelerinden en iyi yöntemlerle özel yazılımlar derlediği bir geliştirme metodolojisidir.
Büyük ölçekli açık kaynak projeleri, binlerce katkıda bulunan arasında koordinasyon ve ekip çalışması gerektirir. En başarılı projeler, gelecekteki ve günlük kullanıcı ihtiyaçlarına yönelik bir vizyonla yönlendirilir: hız, güvenilirlik ve işlevsellik. Bu projelerin çalışma ölçeği bazı dersler sağlar ve şirketlerin InnerSource ile daha hızlı bir şekilde daha iyi yazılım oluşturmalarına yardımcı olabilir.
GitHub'ın çekme istekleri ve sorunlarıyla birlikte, işbirliği ve kod incelemesi geliştirme sürecinde yerleşik olarak yer alır. şirket içi ve dış kaynaklı ekipler tek bir yerden iş paylaşabilir, değişiklikleri tartışabilir ve geri bildirim alabilir. Bu, kuruluşların dahili olarak uzmanlığı paylaşmasına ve diğer projeler için geliştirilen alan testli çözümleri yeniden icat etmekten kaçınmasına yardımcı olur.
InnerSource projesinin anatomisi
Kişilerin, ekiplerin ve kaynakların doğru karışımı projenin başarısını sağlayabilir. Birçok açık kaynak proje, kuruluşların InnerSource projelerini yönetmek için işlevsel ekipler ayarlamasına yardımcı olabilecek benzer bir kurumsal yapıyı izler. Tipik bir açık kaynak projesinde aşağıdaki kişi türleri vardır:
Bakımcılar: Bu katkıda bulunanlar, vizyonunu yönlendirmek ve projenin kurumsal yönlerini yönetmekle sorumludur. Kodun özgün sahipleri veya yazarları olmayabilirler.
Katkıda bulunan: Bu kişiler projeye katkıda bulunan herkestir.
Topluluk üyeleri: Bunlar projeyi kullanan kişilerdir. Konuşmalarda etkin olabilirler veya projenin yönü hakkında görüşlerini ifade edebilirler.
Daha büyük projelerin araçlar, triyaj ve topluluk moderasyonu gibi farklı görevlere odaklanan alt komiteler veya çalışma grupları bulunabilir. InnerSource projeleri büyük olasılıkla benzer bir yapıyı izler. Birçok mühendislik kuruluşu, geliştiricileri uygulama mühendisliği, platform mühendisliği ve web geliştirme gibi ekipler halinde sıralar. Kuruluşların bu şekilde yapılandırılması, nitelikli kişileri dışlayan kör noktalar bırakabilir. Bir kuruluş genelinde ekipler tarafından desteklenen temel bir karar alma grubu düzenlemek, sorunları daha hızlı çözmek için gereken uzmanlığın bir arada kullanılmasına yardımcı olabilir.
Bir kuruluşta katkıda bulunanlar şirket genelinde geliştiricilerdir ve bakımcılar bir projenin liderleri ve önemli karar alıcılarıdır.
Bakımcılar: Bir şirketin içindeki geliştiriciler, ürün yöneticileri ve diğer önemli karar alıcılar projenin vizyonunu yönlendirmek ve günlük katkıları yönetmekle sorumludur.
Katkıda bulunan: Bir şirket içindeki geliştiriciler, veri bilimcileri, ürün yöneticileri, pazarlamacılar ve diğer roller, yazılımların ilerlemesini sağlamaya yardımcı olur. Katkıda bulunanlar doğrudan proje ekibinin bir parçası olmayabilir, ancak koda katkıda bulunarak, hata düzeltmeleri göndererek ve daha fazlasını yaparak yazılım oluşturmaya yardımcı olabilir.
Daha fazla bilgi için , InnerSource'a giriş teknik incelemesine bakın.
Otomasyon
GitHub Actions, kullanıcıların doğrudan GitHub depolarında özel iş akışları oluşturmasına olanak tanır. Kullanıcılar CI/CD dahil olmak üzere herhangi bir işi gerçekleştirmek için eylemleri bulabilir, oluşturabilir ve paylaşabilir ve eylemleri tamamen özelleştirilmiş bir iş akışında birleştirebilir. Ayrıca farklı programlama dillerinde yazılmış projeleri derleyen ve test eden CI iş akışları da oluşturabilirler. Örnekler GitHub Actions kılavuzlarında bulunabilir.
GitHub Actions, hedef ortamı yinelenebilir bir şekilde sağlama veya güncelleştirme ve uygulamanın kendisini paketleme ve dağıtma dahil olmak üzere uçtan uca dağıtım yaşam döngüsünün tamamını otomatikleştirmek için IaC kavramlarını ve CI/CD uygulamalarını birleştirmek için kullanılabilir.
Örnek:
Azure için GitHub Actions, Azure App Service, Azure Kubernetes Service, Azure İşlevleri ve daha fazlası gibi Azure hizmetlerini hedeflemek için dağıtım işlemlerinizi otomatikleştirmeyi basitleştirmek için oluşturulmuştır. Azure başlangıç eylemi iş akışları deposu, herhangi bir dilde ve herhangi bir ekosistemde web uygulamaları derlemek ve Azure'a dağıtmak için uçtan uca iş akışları içerir. Kullanılabilir tüm eylemleri görmek için GitHub marketini ziyaret edin.
Güvenlik
GitHub'ın sola kaydırma güvenlik özellikleri
Geliştirmenin ilk adımlarından itibaren DevSecOps, en iyi güvenlik uygulamalarına bağlıdır. DevSecOps, sola kaydırma stratejisini kullanarak güvenlik odağını yeniden yönlendirir. Sonunda denetime işaret etmek yerine başlangıçta geliştirme aşamasına geçer. Güçlü kod üretmenin yanı sıra, bu erken hata tespit yaklaşımı sorunları daha kolay çözülebilecekleri bir aşamada erken çözmenize yardımcı olur.
GitHub, birçok güvenlik özelliğiyle DevSecOps iş akışının her bölümünü destekleyen araçlar sunar:
- Yerleşik güvenlik uzantılarına sahip tarayıcı tabanlı IDE'ler
- Sürekli güvenlik bildirimlerini izleyen ve güvenlik açığı bulunan, güncel olmayan bağımlılıkları değiştiren aracılar
- Kaynak kodu güvenlik açıkları için tarayan arama özellikleri
- Geliştirme, test ve dağıtımın her adımını otomatik hale getiren eylem tabanlı iş akışları
- Güvenlik tehditlerini özel olarak tartışmak ve çözmek ve ardından bilgileri yayımlamak için bir yol sağlayan alanlar
- Azure'ın izleme ve değerlendirme gücüyle birlikte, bu özellikler güvenli bulut çözümleri oluşturmak için mükemmel bir hizmet sağlar
Örnek:
GitHub DevSecOps yüklemeleri birçok güvenlik senaryosunu kapsar. Olasılıklar aşağıdaki durumları içerir:
- Güvenlik özellikleri sunan önceden yapılandırılmış ortamlardan yararlanmak isteyen geliştiriciler.
- up-to-date, önceliklendirilmiş güvenlik raporlarının parmaklarının ucunda olmasını ve etkilenen kodla ilgili ayrıntıları ve önerilen düzeltmeleri kullanan yöneticiler.
- Kodda gizli bilgiler ifşa edildiğinde, yeni ve tehlikeye atılmamış güvenlik cihazlarını otomatik olarak edinmesi gereken güvenlik odaklı kuruluşlar.
- Dış paketlerin daha yeni veya daha güvenli sürümleri kullanıma sunulduğunda otomatik yükseltmelerden yararlanabilecek geliştirme ekipleri.
Daha fazla bilgi için bakınız:
- GitHub'da DevSecOps: Azure çözüm fikirleri
- Azure DevOps işlem hattındaki GitHub gelişmiş güvenliğini kullanarak GitHub deposunu kod tarama
- Yazılım tedarik zincirinize DevSecOps uygulama
Sonraki adımlar
- Uygulama ekibinizi (genellikle bir geliştirici yöneticisi ve yönetici olarak tanımlanan birkaç geliştirici) seçin ve GitHub'ı dağıtın.
- GitHub'ı kullanma şeklinizi geliştirmek için yaygın ve gelişmiş Git iş akışlarını öğrenin.
Aşağıdaki bağlantılar GitHub hakkında daha fazla bilgi sağlar.