Düzenle

Aracılığıyla paylaş


Otonom sürüş simülasyon ortamları için yapı taşları

Azure Container Instances
Microsoft Entra ID
Azure Virtual Network
Azure Virtual Machines
Azure Pipelines

Aşağıda açıklanan örnek iş yükü, otomatik olarak çalışan bir simülasyon oluşturmayı ve Azure DevOps işlem hattı aracılığıyla sanal araç işlevini değerlendirmeyi açıklar. Bu işlem hattı, bir mühendis örnek işlevin kaynak kodunun veya simülasyon ortamının yeni bir sürümünü her denetleyişinde çalışır.

Mimari

Otonom sürüş simülasyonu ortamları için yapı taşları gösteren diyagram.

Bu mimarinin bir Visio dosyasını indirin.

Kullanıcı giriş katmanı

Geliştirici yalnızca bu katmanla etkileşim kurar. Geliştirici iş istasyonunu (kapsamımızdaki bir Azure VM) ve simülasyon ortamını açıklayan belirtim dosyasını içerir.

Düzenleme katmanı

"Düzenleme"nin geniş bir anlamı vardır: kelimeyle açıklanan sorunların bazıları önemsiz bir şekilde çözülür; diğerleri çok daha karmaşıktır. Örneğin kapsayıcıları ve VM'leri oluşturma, izleme ve yok etme "düzenleme" sorunu birçok araç tarafından çözülür; Azure API'nin kendisi bunun için yeterli bir "düzenleyicidir"!

İş Akışı

Ancak, "düzenleme" kara kutusunu daha küçük bileşenlere ayırmak önemlidir.

  • Simülasyon API'si: Bu API bir belirtim dosyası alır ve Orchestration Katmanı ile simülasyon ortamlarını ve simülasyon çalıştırmalarını denetlemek için giriş noktasıdır.

  • Yorumlayıcı: Bu bileşen, belirtim dosyasını Benzetimi Yöneticisi için mantıksal bir yapıya yorumlar.

  • Benzetimi Yöneticisi: Bu, mantıksal benzetimi ortam nesnesini diğer bileşenler tarafından kullanılacak istenen durumlara ve eylemlere dönüştüren durum makinesidir. Bu, simülasyonun oluşturulmasını, yürütülmesini ve kaldırılmasını tetikleyen bileşendir. Ayrıca iç bağımlılıkları ve hata modlarını yönetir.

  • Zamanlayıcı: Bu bileşen altyapı kaynaklarına yapı taşları atar ve bunları orada başlatır. Donanım ve erişim gereksinimlerini, kullanılabilir kaynakları ve kaynak sınırlarını hesaplar.

  • Ortam Yöneticisi: Bu bileşen, temel alınan altyapıyı izler ve kapsayıcı ana bilgisayarının kapanması gibi sorunlara yanıt verir.

  • Ağ Yöneticisi: Bu bileşen, simülasyon ortamları için ağları ve yönlendirmeyi yönetir. Her ortam, etkileşim için gelen bağlantıları alan yalıtılmış yapı taşları ile yalıtılmış bir ağ ortamında yaşamalıdır. Bu bileşen, bir simülasyon içindeki yapı taşları (örneğin, bir iç DNS aracılığıyla) çözümlemek için de kullanılır.

  • Access Manager: Bu bileşen, Microsoft Entra Id'den sistemin geri kalanına yetkilendirmeyi/kimlik doğrulamasını yansıtır.

  • Configuration Manager: Bu bileşen, altyapı ve simülasyon ortamlarının durumu için kalıcı bir depolama mekanizması işlevi görür.

  • Altyapı Soyutlaması: Bu, genel komutları kapsayıcılar ve VM'ler için belirli Azure API komutlarına çeviren bir soyutlama katmanıdır.

  • Depolama Yöneticisi: Bu bileşen, benzetim ortamları için depolama sağlamayı ve eklemeyi yönetir (örneğin, VM kök cihazları veya kapsayıcıya bağlı birimler).

  • Kaynak İzleyicisi: Bu bileşen, ADP'nin temel izlemesine dışarı aktarmak için altyapı düzeyinde kaynak kullanımını bir zaman serisi veritabanına izler.

  • Log Manager: Bu bileşen, kullanıcı incelemesi için yapı taşları günlüklerini toplar. Ayrıca günlükleri ADP çekirdek günlüğüne aktarır.

Düzenleme Katmanı, bu örnek iş yükünün birincil odağıdır.

Benzetimi Altyapı Katmanı

Bu katman, çalışan tüm simülasyon ortamlarını temsil eder.

  • Benzetim ortamı: Tanım Dosyası ve Parametreler tarafından tanımlanan yapı taşları bileşimi burada, diğer simülasyon ortamlarından ağ yalıtımında oluşturulur.

  • Yapı Taşı Sözleşmesi: Tüm yapı taşları tarafından Orchestration Katmanı'na çıkışın, hataların ve durumun nasıl gönderildiğini tanımlayan yazılı standarttır.

  • Yapı Taşı İşlem Hattı: Bu alan yapı taşları oluşturma ve depolamayı yönetir.

  • Yapı Taşı Deposu: Bu, kapsayıcı kayıt defteri ve/veya Azure görüntü galerisi gibi yapı taşı görüntüleri için depolama ve alma sistemidir.

  • Yapı Taşı Fabrikası: Bildirim temelli bir yapılandırma dilinde (örneğin Chef veya Ansible) sabit, doğrulanabilir bileşen paketleri (örneğin dpkg veya apt) kullanarak yapı taşı görüntüleri oluşturan sürekli tümleştirme ve sürekli dağıtım (CI/CD) işlem hattı.

Depolama Katmanı

Bu katman, simülasyonun sonuçlarını durularak ve erişilebilir bir şekilde depolar. Çıktınızın bu ekip tarafından yönetilebilir olması gerekse de, bu öncelikle mobil uygulama geliştirme platformu (MADP) Data Lake iş akışının sorumluluğundadır.

  • Depolama arabirimi: Kullanıcıların simülasyon sonucu depolama ile çalışmasına olanak tanıyan arabirim. Bu, yukarıdaki Storage Manager düzenleme bileşeniyle yakın bir şekilde çalışır veya tarafından desteklenebilir.

  • Depolama: Benzetim sonuçlarını kaydetmek için kullanılan depolama mekanizması (örneğin, Azure Blob Depolama veya Azure Disk Depolama kaynakları).

Bileşenler

Azure Sanal Makineler, fiziksel donanım satın alıp bakımını yapmak zorunda kalmadan size sanallaştırma esnekliği sağlayan isteğe bağlı, ölçeklenebilir bilgi işlem kaynakları sağlar.

Azure Sanal Ağ, Azure'daki özel ağınız için temel yapı taşıdır. Azure Sanal Ağ, Azure Sanal Makineler gibi birçok azure kaynağının birbiriyle, İnternet'le ve şirket içi ağlarla güvenli bir şekilde iletişim kurmasını sağlar.

Azure Container Instances , herhangi bir VM'yi yönetmek zorunda kalmadan ve daha üst düzey bir hizmeti benimsemek zorunda kalmadan Azure'da kapsayıcı çalıştırmanın en hızlı ve en basit yolunu sunar.

Azure Container Registry , açık kaynak Docker Registry 2.0'ı temel alan yönetilen, özel bir Docker kayıt defteri hizmetidir. Mevcut kapsayıcı geliştirme ve dağıtım işlem hatlarınızla Azure kapsayıcı kayıt defterlerini kullanabilir veya Azure'da kapsayıcı görüntüleri oluşturmak için Azure Container Registry Görevleri'ni kullanabilirsiniz. kaynak kodu işlemeleri ve temel görüntü güncelleştirmeleri gibi tetikleyicilerle isteğe bağlı derlemeler oluşturun veya derlemeleri tam olarak otomatikleştirin.

Azure Pipelines , Azure DevOps Services'ın bir parçasıdır ve otomatik derlemeler, testler ve dağıtımlar çalıştırır. Jenkins gibi üçüncü taraf CI/CD çözümlerini de kullanabilirsiniz.

Microsoft Entra Id , kullanıcıların, hizmetlerin ve uygulamaların kimliğini doğrulayan bulut tabanlı kimlik ve erişim yönetimi hizmetidir.

Azure Depolama dayanıklı, yüksek oranda kullanılabilir ve yüksek oranda ölçeklenebilir bir bulut depolama çözümü sunar. Nesne, dosya, disk, kuyruk ve tablo depolama özelliklerini içerir.

Azure İzleyici , çeşitli şirket içi ve Azure kaynaklarından izleme telemetrisi toplar. Bu hizmet, telemetri verilerini maliyet ve performans için iyileştirilmiş bir günlük veri deposunda toplar ve depolar.

Alternatifler

Bu mimari, farklı araçları ve hizmetleri dağıtmak için VM'leri ve kapsayıcıları kullanır. Alternatif olarak, Azure Kubernetes Services'i (AKS) de kullanabilirsiniz. AKS sunucusuz Kubernetes, tümleşik CI/CD deneyimi, kurumsal sınıf güvenlik ve idare olanağı sunar.

Bu mimaride simülasyon sonuçlarını kaydetmek için kullanılan depolama mekanizması Azure Blob Depolama veya Azure Disk Depolama'yı temel alır. Daha büyük iş yüklerine alternatif olarak Azure'ın verileri depolamaya ve analiz etmeye yönelik büyük ölçekli veri ve analiz çözümlerine de bakabilirsiniz.

Ayrıca altyapınızın performansını analiz etmek ve iyileştirmek ve vm'lerinizde oturum açmadan ağ sorunlarını izlemek ve tanılamak için Azure İzleyici'yi kullanmayı göz önünde bulundurun.

Senaryo ayrıntıları

Otonom sürüşü (AD) değerlendirmek için işlev mühendislerinin AD özelliklerine sahip araçların davranışını simüle etmeleri gerekir. Aşağıdaki örnek sürüş senaryolarını göz önünde bulundurun:

Bir test aracı, 3 şeritli bir otoyolda sağ şeritte 80 mil hızla otonom olarak sürüyor. Aynı şeritte ve 55 mph'de aynı yönde ilerleyen 600 ft ileride bir kamyon var. Orta şeritte yakın bir araç yoktur. Yol işaretleri görünür, güneş araca dik parlıyor ve yol kuru.

Bunun gibi bir senaryo kullanılarak aracın davranışının sonlu simülasyonu, simülasyon çalıştırması olarak adlandırılır. Yukarıdaki senaryoda, simülasyon aracınızın beklenen davranışı kazaya neden olmadan ve trafik kurallarını ihlal etmeden kamyonu rahatça geçirmektir. AD işlev mühendisleri, bir işlevin her yeni sürümü için bir simülasyon çalıştırarak yeni sürümün beklenen davranışı sergileyip sergilemediğini test eder.

Bir simülasyonu çalıştırmak için AD işlev mühendisleri genellikle bir dizi yazılım uygulaması kullanır. Bunlar Arasında Sanal Test Sürüşü (VTD), Zaman Bölüm Testi (TPT), Avionics Geliştirme Sistemi 2G (ADS2) ve Otomotiv Verileri ve Zaman Ile Tetiklenen Çerçeve (ADTF) bulunabilir ve bunların tümü, Otoyol Pilotu gibi belirli bir otonom sürüş işlevini test etmek için kendi yapılandırmalarına göre birbirleriyle iletişim kurar. Bu yazılım araçlarının ve yapılandırmalarının şirket içi ve/veya buluttaki fiziksel ve/veya sanal makinelere (VM) dağıtımına benzetim ortamı adı verilir.

Çalıştırdığınız her simülasyon tarafından oluşturulan test sonuçlarının geçerliliğini sağlamak için simülasyonun ilk durumuna ayarlanmış yeni bir simülasyon ortamında başlatıldığından emin olmanız gerekir.

Her otonom sürüş ekibi, simülasyon ortamlarında benzersiz bir yapılandırmaya sahip ayrı bir uygulama kümesine ihtiyaç duyar. Birçok ekibin birden çok farklı simülasyon ortamına da ihtiyacı olacaktır. Örneğin, bir LIDAR sensörünü değerlendirmek için çok yüksek çözünürlüklü nesne simülasyonu gerekir, ancak başka sürücüler, yol işaretleri veya diğer özellikler gerekmez. Her ortam benzersiz olsa da, kullanılan uygulamalarda önemli bir çakışma vardır. Örneğin, birçok ekip VTD'yi birden çok simülasyon ortamı arasında kullanır.

Yeniden kullanılabilir, kapsüllenmiş ve bağımsız olarak değerlendirilen birimlerden oluşan bir simülasyon ortamında simülasyon çalıştırmak mümkündür. Bu birimler, Azure bulutunda simülasyon ortamlarının otomatik ve isteğe bağlı olarak oluşturulması için kullanacağınız "yapı taşları" görevi görür. Bu simülasyon ortamları otomatik sürüş platformları (ADP) olarak da adlandırılır.

Olası kullanım örnekleri

Bu çözüm otomotiv ve taşımacılık sektörleri için idealdir. Bu iş yükünün tipik kullanımları şunlardır:

  • Sürüş testlerini otomatikleştirme.

  • Otomotiv sektöründeki kontrol sistemlerinin prototipini oluşturma, geliştirme, tümleştirme, test etme, doğrulama ve doğrulama.

  • Görselleştirme için araç verilerini kaydetme.

  • Otomotiv sektöründe karmaşık sürüş senaryolarını simüle etme.

Dikkat edilmesi gereken noktalar

Bu önemli noktalar, bir iş yükünün kalitesini artırmak için kullanılabilecek bir dizi yol gösteren ilke olan Azure İyi Tasarlanmış Çerçeve'nin yapı taşlarını uygular. Daha fazla bilgi için bkz . Microsoft Azure İyi Tasarlanmış Çerçeve.

Kullanılabilirlik ve dayanıklılık

Vm'leri, uygulamaların planlı bakım olaylarına ve planlanmamış kesintilere karşı korunmasına yardımcı olan kullanılabilirlik kümeleri veya kullanılabilirlik alanları arasında dağıtmayı göz önünde bulundurun.

Kullanılabilirlik kümesi, Azure’un, uygulamanızın yedeklilik ve kullanılabilirlik sağlamak üzere nasıl oluşturulduğunu anlamasına olanak tanıyan bir mantıksal VM grubudur.

Kullanılabilirlik alanları, Vm'leri, uygulamaları ve verileri veri merkezi hatalarından korumaya yardımcı olan Azure bölgelerindeki benzersiz fiziksel konumlardır. Her bölge bir veya daha fazla veri merkezinden oluşur. Bölgelerdeki VM'ler ve uygulamalar, tek bir veri merkezinde fiziksel bir hata olsa bile kullanılabilir durumda kalabilir.

Ölçeklenebilirlik

Azure VM'lerini el ile veya otomatik ölçeklendirme özelliklerini kullanarak ölçeklendikleyebilirsiniz.

Kapsayıcı dağıtımları için Azure Kapsayıcı Örnekleri ve Azure Kubernetes Services ayrıca ölçeği el ile veya otomatik olarak artıracak veya genişletecek şekilde tasarlanmıştır.

Güvenlik

Güvenlik, kasıtlı saldırılara ve değerli verilerinizin ve sistemlerinizin kötüye kullanılmasına karşı güvence sağlar. Daha fazla bilgi için bkz . Güvenlik sütununa genel bakış.

Diğer tüm uygulama türlerinden birinde olduğu gibi simülasyon ortamı da hassas verileri işleyecek şekilde tasarlanabilir. Bu nedenle, kimlerin oturum açıp kullanabileceğini kısıtlamalı ve ayrıca kullanıcının kimliğine veya rolüne göre hangi verilere erişilebileceğini sınırlandırmalısınız. Kimlik ve erişim denetimi için Microsoft Entra Id'yi ve anahtarları ve gizli dizileri yönetmek için Azure Key Vault'u kullanın.

Güvenli çözümler tasarlama hakkında genel yönergeler için Azure güvenlik belgelerine bakın.

DevOps

Yeni simülasyon ortamlarını dağıtmak için, Azure DevOps veya GitHub Actions gibi bir çözüm kullanarak CI/CD işlemlerini kullanmak en iyisidir.

Maliyet iyileştirme

Maliyet iyileştirmesi, gereksiz giderleri azaltmanın ve operasyonel verimlilikleri iyileştirmenin yollarını aramaktır. Daha fazla bilgi için bkz . Maliyet iyileştirme sütununa genel bakış.

Genel olarak, maliyetleri tahmin etmek için Azure fiyatlandırma hesaplayıcısını kullanın. Ayrıca, süreci izleyerek vm'lerinizin kapasitesini en baştan doğru boyutlandırarak ve gerektiğinde basitleştirilmiş yeniden boyutlandırma yaparak maliyetlerinizi iyileştirebilirsiniz. Diğer önemli noktalar, Microsoft Azure İyi Tasarlanmış Çerçeve'nin Maliyet bölümünde açıklanmıştır.

Sonraki adımlar

Ürün belgeleri:

Microsoft öğrenme yolları:

Azure Mimari Merkezi'ne genel bakış makaleleri:

İlgili mimariler: