Azure IoT başvuru mimarisi

Blob Depolama
İşlevler
IoT Hub
Logic Apps
Stream Analytics

Bu başvuru mimarisi Azure'da IoT uygulamaları için PaaS (hizmet olarak platform) bileşenlerinin kullanıldığı önerilen mimariyi gösterir.This reference architecture shows a recommended architecture for IoT applications on Azure using PaaS (platform-as-a-service) components.

Mimarinin diyagramı

IoT uygulamaları, içgörülerin oluşturulduğu verileri gönderen öğeler (cihazlar) olarak açıklanabilir.IoT applications can be described as things (devices) sending data that generates insights. Bu içgörüler de, işleri veya süreçleri geliştirecek eylemler oluşturur.These insights generate actions to improve a business or process. Buna örnek olarak sıcaklık verilerini gönderen bir altyapı (öğe) verilebilir.An example is an engine (the thing) sending temperature data. Bu veriler altyapının beklendiği gibi çalışıp çalışmadığını değerlendirmek için kullanılır (içgörü).This data is used to evaluate whether the engine is performing as expected (the insight). İçgörü, altyapıda bakım zamanlamasının önceliğini proaktif olarak belirlemek için kullanılır (eylem).The insight is used to proactively prioritize the maintenance schedule for the engine (the action).

Bu başvuru mimarisinde Azure PaaS (hizmet olarak platform) bileşenleri kullanılır.This reference architecture uses Azure PaaS (platform-as-a-service) components. Azure 'da IoT çözümleri oluşturmaya yönelik başka bir önerilen seçenek şunlardır:Another recommended option for building IoT solutions on Azure is:

  • Azure IoT Central.Azure IoT Central. IoT Central tam olarak yönetilen bir SaaS (hizmet olarak yazılım) çözümüdür.IoT Central is a fully managed SaaS (software-as-a-service) solution. Teknik seçenekleri ayırır ve özel olarak çözümünüze odaklanmanıza olanak sağlar.It abstracts the technical choices and lets you focus on your solution exclusively. Bu basitlik için verilen ödün, IoT Central'ın PaaS tabanlı çözümlerden daha az özelleştirilebilir olmasıdır.This simplicity comes with a tradeoff in being less customizable than a PaaS-based solution.

Yüksek bir düzeyden bakıldığında, telemetri verilerini işlemenin iki yolu vardır: etkin yol ve durgun yol.At a high level, there are two ways to process telemetry data, hot path and cold path. Aralarındaki fark, gecikme süresi ve veri erişimi gereksinimleriyle ilgilidir.The difference has to do with requirements for latency and data access.

  • Etkin yol, gelen verileri neredeyse gerçek zamanlı analiz eder.The hot path analyzes data in near-real-time, as it arrives. Etkin yolda, telemetrinin çok düşük bir gecikme süresiyle işlenmesi gerekir.In the hot path, telemetry must be processed with very low latency. Etkin yol normalde akış işleme altyapısı kullanılarak uygulanır.The hot path is typically implemented using a stream processing engine. Çıkış bir uyarıyı tetikleyebilir veya analiz araçları kullanılarak sorgulanabilecek, yapılandırılmış bir biçimde yazılabilir.The output may trigger an alert, or be written to a structured format that can be queried using analytical tools.
  • Durgun yol, daha uzun aralıklarla (saatlik veya günlük) toplu işleme gerçekleştirir.The cold path performs batch processing at longer intervals (hourly or daily). Durgun yol normalde çok büyük hacimli veriler üzerinde çalışır ama sonuçların etkin yoldaki gibi zamanında alınması gerekmez.The cold path typically operates over large volumes of data, but the results don't need to be as timely as the hot path. Durgun yolda, ham telemetri yakalanır ve toplu işleme beslenir.In the cold path, raw telemetry is captured and then fed into a batch process.

MimariArchitecture

Bu mimari aşağıdaki bileşenlerden oluşur.This architecture consists of the following components. Bazı uygulamalara burada listelenen bileşenlerin tümü gerekmeyebilir.Some applications may not require every component listed here.

IoT cihazları.IoT devices. Cihazlar buluta güvenle kaydedilebilir ve buluta bağlanarak veri gönderip alabilir.Devices can securely register with the cloud, and can connect to the cloud to send and receive data. Cihazların bazıları, cihazın kendisinde veya alan ağ geçidinde bazı veri işleme işlemleri yapan uç cihazlar olabilir.Some devices may be edge devices that perform some data processing on the device itself or in a field gateway. Uç işleme işlemleri için Azure IoT Edge'i öneririz.We recommend Azure IoT Edge for edge processing.

Bulut ağ geçidi.Cloud gateway. Bulut ağ geçidi, cihazların buluta güvenle bağlanması ve veri göndermesi için bir bulut merkezi sunar.A cloud gateway provides a cloud hub for devices to connect securely to the cloud and send data. Ayrıca, cihazların kumandası ve denetimi de dahil olmak üzere cihaz yönetim özellikleri sağlar.It also provides device management, capabilities, including command and control of devices. Bulut ağ geçidi için IoT Hub'ı öneririz.For the cloud gateway, we recommend IoT Hub. IoT Hub barındırılan bir bulut hizmetidir. Cihazlardan olayları alır ve cihazlarla arka uç hizmetleri arasında ileti aracısı işlevini üstlenir.IoT Hub is a hosted cloud service that ingests events from devices, acting as a message broker between devices and backend services. IoT Hub güvenli bağlantı, olay alımı, çift yönlü iletişim ve cihaz yönetimi sağlar.IoT Hub provides secure connectivity, event ingestion, bidirectional communication, and device management.

Cihaz sağlama.Device provisioning. Büyük cihaz kümelerini kaydetmek ve bağlamak için IoT Hub Cihazı Sağlama Hizmeti'nin (DPS) kullanılmasını öneririz.For registering and connecting large sets of devices, we recommend using the IoT Hub Device Provisioning Service (DPS). DPS, her ölçekte cihazları belirli Azure IoT Hub uç noktalarına atamanıza ve kaydetmenize olanak tanır.DPS lets you assign and register devices to specific Azure IoT Hub endpoints at scale.

Akış işleme.Stream processing. Akış işleme, büyük veri kaydı akışlarını analiz eder ve bu akışlar için kuralları değerlendirir.Stream processing analyzes large streams of data records and evaluates rules for those streams. Akış işleme işlemleri için Azure Stream Analytics'i öneririz.For stream processing, we recommend Azure Stream Analytics. Stream Analytics zaman pencereli işlevleri, akış toplamlarını ve dış veri kaynağı birleştirmelerini kullanarak her ölçekte karmaşık analizler yürütebilir.Stream Analytics can execute complex analysis at scale, using time windowing functions, stream aggregations, and external data source joins. Bir diğer seçenek de Azure Databricks üzerinde Apache Spark'tır.Another option is Apache Spark on Azure Databricks.

Makine öğrenimi , tahmine dayalı algoritmaların, tahmine dayalı bakım gibi senaryoları etkinleştirerek, geçmişteki telemetri verileri üzerinden yürütülmesini sağlar.Machine learning allows predictive algorithms to be executed over historical telemetry data, enabling scenarios such as predictive maintenance. Makine öğrenmesi için Azure Machine Learning'i öneririz.For machine learning, we recommend Azure Machine Learning.

Etkin yol depolama alanı, raporlama ve görselleştirme için cihazdan gelen ve hemen kullanılabilir olması gereken verileri içerir.Warm path storage holds data that must be available immediately from device for reporting and visualization. Etkin yol depolama alanı için Cosmos DB'yi öneririz.For warm path storage, we recommend Cosmos DB. Cosmos DB global olarak dağıtılmış, çok modelli bir veritabanıdır.Cosmos DB is a globally distributed, multi-model database.

Durgun yol depolama alanı, daha uzun süre saklanan ve toplu işleme için kullanılan verileri içerir.Cold path storage holds data that is kept longer-term and is used for batch processing. Durgun yol depolama alanı için Azure Blob Depolama'yı öneririz.For cold path storage, we recommend Azure Blob Storage. Veriler Blob depolamada düşük maliyetle süresiz olarak arşivlenebilir ve toplu işleme için bu verilere kolayca erişilebilir.Data can be archived in Blob storage indefinitely at low cost, and is easily accessible for batch processing.

Veri dönüştürme, telemetri akışını işler veya toplar.Data transformation manipulates or aggregates the telemetry stream. İkili verilerin JSON'a dönüştürülmesi veya veri noktalarının birleştirilmesi gibi protokol dönüştürmeleri buna örnek olarak verilebilir.Examples include protocol transformation, such as converting binary data to JSON, or combining data points. Verilerin IoT Hub'a ulaşmadan önce dönüştürülmesi gerekiyorsa, protokol ağ geçidinin kullanılmasını öneririz (burada gösterilmemiştir).If the data must be transformed before reaching IoT Hub, we recommend using a protocol gateway (not shown). Aksi takdirde, veriler IoT Hub'a ulaştıktan sonra dönüştürülebilir.Otherwise, data can be transformed after it reaches IoT Hub. Bu durumda IoT Hub, Cosmos DB ve Blob Depolama ile yerleşik tümleştirmesi bulunan Azure İşlevleri’ni kullanmanızı öneririz.In that case, we recommend using Azure Functions, which has built-in integration with IoT Hub, Cosmos DB, and Blob Storage.

İş süreci tümleştirmesi, cihaz verilerinden gelen içgörüler temelinde eylemler gerçekleştirir.Business process integration performs actions based on insights from the device data. Bunlar bilgi iletilerini depolama, alarm oluşturma, e-posta veya kısa mesaj gönderme ya da CRM ile tümleştirme olabilir.This could include storing informational messages, raising alarms, sending email or SMS messages, or integrating with CRM. İş süreci tümleştirmesi için Azure Logic Apps'in kullanılmasını öneririz.We recommend using Azure Logic Apps for business process integration.

Kullanıcı yönetimi, cihazlar üzerinde üretici yazılımını yükseltme gibi eylemler gerçekleştirebilecek kullanıcıları ve grupları kısıtlar.User management restricts which users or groups can perform actions on devices, such as upgrading firmware. Ayrıca uygulamalarda kullanıcılar için özellikleri de tanımlar.It also defines capabilities for users in applications. Kullanıcıların kimlik doğrulama ve yetkilendirme işlemleri için Azure Active Directory’nin kullanılmasını öneririz.We recommend using Azure Active Directory to authenticate and authorize users.

IoT için güvenlik izleme Azure Güvenlik Merkezi , IoT iş yükleri için uçtan uca bir güvenlik çözümü sağlar ve ayrıca, yan yana ve bulut aracılığıyla yaprak cihazlardan gelen iş yükleri arasında Birleşik görünürlük ve denetim, uyarlamalı tehdit önleme ve akıllı tehdit algılama ve yanıt sağlayarak bunların korunmasını basitleştirir.Security monitoring Azure Security Center for IoT provides an end-to-end security solution for IoT workloads and simplifies their protection by delivering unified visibility and control, adaptive threat prevention, and intelligent threat detection and response across workloads from leaf devices through Edge as well as up through the clouds.

Ölçeklenebilirlik konusunda dikkat edilmesi gerekenlerScalability considerations

IoT uygulaması, bağımsız olarak ölçeklendirilebilecek ayrı ayrı hizmetler olarak oluşturulmalıdır.An IoT application should be built as discrete services that can scale independently. Ölçeklenebilirlikle ilgili aşağıdaki noktalara dikkat edin:Consider the following scalability points:

Iothub.IoTHub. IoT Hub için, aşağıdaki ölçek faktörlerine dikkat edin:For IoT Hub, consider the following scale factors:

  • IoT Hub'a gelen iletilerde en yüksek günlük kota.The maximum daily quota of messages into IoT Hub.
  • IoT Hub örneğindeki bağlı cihazların kotası.The quota of connected devices in an IoT Hub instance.
  • Alım hızı (IoT Hub'ın iletileri ne kadar hızlı alabileceği).Ingestion throughput — how quickly IoT Hub can ingest messages.
  • İşleme hızı (gelen iletilerin ne kadar hızlı işlendiği).Processing throughput — how quickly the incoming messages are processed.

Her IoT hub'ı belirli bir katmanda belirli bir birim sayısıyla sağlanır.Each IoT hub is provisioned with a certain number of units in a specific tier. Katman ve birim sayısı, cihazların hub'a gönderebileceği iletilerin en yüksek günlük kotasını belirler.The tier and number of units determine the maximum daily quota of messages that devices can send to the hub. Daha fazla bilgi için IoT Hub kotaları ve azaltma konusuna bakın.For more information, see IoT Hub quotas and throttling. Mevcut işlemleri kesintiye uğratmadan hub'ın ölçeğini artırabilirsiniz.You can scale up a hub without interrupting existing operations.

Stream Analytics.Stream Analytics. Stream Analytics işlerinde en iyi ölçeklendirme, bu işlerin Stream Analytics işlem hattının her noktasında (girişten sorguya ve çıkışa kadar) paralel olması durumunda elde edilir.Stream Analytics jobs scale best if they are parallel at all points in the Stream Analytics pipeline, from input to query to output. Tam olarak paralel bir iş Stream Analytics'in çalışmayı birden çok işlem düğümüne bölebilmesini sağlar.A fully parallel job allows Stream Analytics to split the work across multiple compute nodes. Aksi takdirde, Stream Analytics'in akış verilerini tek bir yerde birleştirmesi gerekir.Otherwise, Stream Analytics has to combine the stream data into one place. Daha fazla bilgi için bkz. Azure Stream Analytics'te sorgu paralelleştirmesinden yararlanma.For more information, see Leverage query parallelization in Azure Stream Analytics.

IoT Hub cihaz kimliği temelinde cihaz iletilerini otomatik olarak bölümlere ayırır.IoT Hub automatically partitions device messages based on the device ID. Belirli bir cihazdan gelen iletilerin tümü her zaman aynı bölüme gelir ama tek bir bölüme birden çok cihazdan ileti gelir.All of the messages from a particular device will always arrive on the same partition, but a single partition will have messages from multiple devices. Dolayısıyla, paralelleştirme birimi bölüm kimliğidir.Therefore, the unit of parallelization is the partition ID.

İşlevler.Functions. Event Hubs uç noktasından okurken, Event hub'ı bölümü başına işlev örneği sayısının bir üst sınırı vardır.When reading from the Event Hubs endpoint, there is a maximum of function instance per event hub partition. En yüksek işleme hızı, bir işlev örneğinin tek bir bölümden gelen olayları ne hızla işleyebildiğine göre belirlenir.The maximum processing rate is determined by how fast one function instance can process the events from a single partition. İşlevin iletileri toplu olarak işlemesi gerekir.The function should process messages in batches.

Cosmos DB.Cosmos DB. Cosmos DB koleksiyonunun ölçeğini artırmak için, bölüm anahtarı olan bir koleksiyon oluşturun ve yazdığınız her belgeye bölüm anahtarını ekleyin.To scale out a Cosmos DB collection, create the collection with a partition key and include the partition key in each document that you write. Daha fazla bilgi için bkz. Bölüm anahtarı seçerken en iyi yöntemler.For more information, see Best practices when choosing a partition key.

  • Cihaz başına tek belge depoluyor ve güncelleştiriyorsanız, cihaz kimliği iyi bir bölüm anahtarı olur.If you store and update a single document per device, the device ID is a good partition key. Yazma işlemleri anahtarlar arasında eşit dağıtılır.Writes are evenly distributed across the keys. Her bölümün boyutu kesin bir şekilde sınırlanmıştır, çünkü her anahtar değeri için tek bir belge vardır.The size of each partition is strictly bounded, because there is a single document for each key value.
  • Her cihaz iletisi için ayrı bir belge depoluyorsanız, bölüm anahtarı olarak cihaz kimliği kullanıldığında bölüm başına 10 GB sınırı kısa sürede aşılabilir.If you store a separate document for every device message, using the device ID as a partition key would quickly exceed the 10-GB limit per partition. Böyle bir durumda ileti kimliği daha iyi bir bölüm anahtarı olacaktır.Message ID is a better partition key in that case. Dizin oluşturma ve sorgulama amacıyla cihaz kimliğini belgeye yine de ekleyebilirsiniz.Typically you would still include device ID in the document for indexing and querying.

Azure Time Series Insights (TSI) , zaman serisi verilerine yönelik bir analiz, depolama ve görselleştirme HIZMETIDIR ve SQL benzeri filtreleme ve toplama gibi yetenekler sunarak Kullanıcı tanımlı işlevlere ihtiyaç hafifletmesini.Azure Time Series Insights (TSI) is an analytics, storage and visualization service for time-series data, providing capabilities including SQL-like filtering and aggregation, alleviating the need for user-defined functions. Time Series Insights , verileri görselleştirmek ve sorgulamak için bir veri GEZGINI ve REST sorgu API 'leri sağlar.Time Series Insights provides a data explorer to visualize and query data as well as REST Query APIs. Zaman serisi verilerine ek olarak, TSI büyük veri kümelerinde toplamları sorgulamak için gereken çözümler için de uygundur.In addition to time series data, TSI is also well-suited for solutions that need to query aggregates over large sets of data. Çoklu katmanlı depolama, zengin API 'Ler, model ve BT 'nin Azure IoT ekosistemi ile tümleştirilmesi, görselleştirmeler için Gezgin ve Power BI aracılığıyla genişletilebilirlik desteği vardır. TSI, zaman serisi veri depolama ve analiz için önerimiz.With support for multi layered storage, rich APIs, model and it’s integration with Azure IoT ecosystem, explorer for visualizations, and extensibility through Power BI, etc. TSI is our recommendation for time series data storage and analytics.

Güvenlik konularıSecurity considerations

Güvenilir ve güvenli iletişimTrustworthy and secure communication

Cihaza gönderilen ve cihazdan alınan tüm bilgilerin güvenilir olması gerekir.All information received from and sent to a device must be trustworthy. Aşağıdaki şifreleme özelliklerini destekleyemeyen cihazlar yerel ağlarla sınırlı tutulmalı ve ağlar arasındaki tüm iletişim alan ağ geçidi üzerinden olmalıdır:Unless a device can support the following cryptographic capabilities, it should be constrained to local networks and all internetwork communication should go through a field gateway:

  • Güvenli olduğu kanıtlanan, herkese açık şekilde analiz edilen ve kapsamlı olarak uygulanan bir simetrik anahtar şifreleme algoritmasıyla veri şifreleme.Data encryption with a provably secure, publicly analyzed, and broadly implemented symmetric-key encryption algorithm.
  • Güvenli olduğu kanıtlanan, herkese açık şekilde analiz edilen ve kapsamlı olarak uygulanan bir simetrik anahtar imza algoritmasıyla dijital imzalama.Digital signature with a provably secure, publicly analyzed, and broadly implemented symmetric-key signature algorithm.
  • TCP veya diğer akış tabanlı iletişim yolları için TLS 1.2 ya da veri birimi tabanlı iletişim yolları için DTLS 1.2 desteği.Support for either TLS 1.2 for TCP or other stream-based communication paths or DTLS 1.2 for datagram-based communication paths. X.509 sertifikası işleme desteği isteğe bağlıdır ve TLS için işlem açısından ve kablolu bağlantı açısından daha verimli, önceden paylaşılan anahtar moduyla değiştirilebilir (bu mod, AES ve SHA-2 algoritmaları desteğiyle uygulanabilir).Support of X.509 certificate handling is optional and can be replaced by the more compute-efficient and wire-efficient pre-shared key mode for TLS, which can be implemented with support for the AES and SHA-2 algorithms.
  • Güncelleştirilebilir anahtar deposu ve cihaz başına anahtarlar.Updateable key-store and per-device keys. Her cihazın kendisini sisteme tanıtan benzersiz bir anahtar malzemesi veya belirteçleri olmalıdır.Each device must have unique key material or tokens that identify it toward the system. Cihazların anahtarı cihaz üzerinde güvenle depolaması gerekir (örneğin güvenli bir anahtar deposu kullanabilir).The devices should store the key securely on the device (for example, using a secure key-store). Cihaz anahtarları veya belirteçleri düzenli aralıklarla veya sistemde güvenlik ihlali olması gibi acil durumlara karşılık olarak güncelleştirebilmelidir.The device should be able to update the keys or tokens periodically, or reactively in emergency situations such as a system breach.
  • Cihazdaki üretici yazılımı ve uygulama yazılımları, bulunan güvenlik açıklarının onarılabilmesi için güncelleştirmelere izin vermelidir.The firmware and application software on the device must allow for updates to enable the repair of discovered security vulnerabilities.

Ancak birçok cihaz bu gereksinimleri destekleyemeyecek kadar kısıtlanmıştır.However, many devices are too constrained to support these requirements. Böyle durumlarda alan ağ geçidi kullanılmalıdır.In that case, a field gateway should be used. Cihazlar yerel ağ üzerinden güvenli bir şekilde alan ağ geçidine bağlanır ve alan ağ geçidi de bulutla güvenli iletişim sağlar.Devices connect securely to the field gateway through a local area network, and the gateway enables secure communication to the cloud.

Fiziksel kurcalamaya dayanıklılık sağlamaPhysical tamper-proofing

Genel olarak sistemin güvenlik bütünlüğünden ve güvenilirliğinden emin olmak için cihazın tasarımında fiziksel oynama girişimlerine karşı koruma sağlayan özelliklerin bulunması kesinlikle önerilir.It is strongly recommended that device design incorporates features that defend against physical manipulation attempts, to help ensure the security integrity and trustworthiness of the overall system.

Örneğin:For example:

  • Güvenli depolama ve Güvenilir Platform Modülü (TPM) tümleştirmesi gibi şifreleme anahtarı malzemelerinin kullanımını sağlayan mikro denetleyiciler/Mikro işlemciler veya yardımcı donanımlar ' i seçin.Choose microcontrollers/microprocessors or auxiliary hardware that provides secure storage and use of cryptographic key material, such as trusted platform module (TPM) integration.
  • TPM'e bağlanmış, güvenli önyükleme yükleyici ve güvenli yazılım yüklemesi.Secure boot loader and secure software loading, anchored in the TPM.
  • Yetkisiz erişim ve cihaz ortamını değiştirme girişimlerini algılayan, uyarı özelliğine sahip ve potansiyel olarak cihazın "dijital olarak kendi kendini yok edebilmesini" sağlayabilen algılayıcılar kullanın.Use sensors to detect intrusion attempts and attempts to manipulate the device environment with alerting and potentially "digital self-destruction" of the device.

Güvenlikle ilgili dikkat edilmesi gereken ek noktalar için bkz. Nesnelerin İnterneti (IoT) güvenlik mimarisi.For additional security considerations, see Internet of Things (IoT) security architecture.

İzleme ve günlüğe kaydetmeMonitoring and logging

Günlüğe kaydetme ve izleme sistemleri çözümün çalışıp çalışmadığını saptamak ve sorunların giderilmesine yardımcı olmak için kullanılır.Logging and monitoring systems are used to determine whether the solution is functioning and to help troubleshoot problems. İzleme ve günlüğe kaydetme sistemleri, çalışma durumuyla ilgili aşağıdaki soruları yanıtlamaya yardım eder:Monitoring and logging systems help answer the following operational questions:

  • Cihazlarda veya sistemlerde hata durumu mu var?Are devices or systems in an error condition?
  • Cihazlar veya sistemler doğru yapılandırılmış mı?Are devices or systems correctly configured?
  • Cihazlar veya sistemler doğru veri üretiyor mu?Are devices or systems generating accurate data?
  • Sistemler hem işletmenin hem de son kullanıcıların beklentilerini karşılıyor mu?Are systems meeting the expectations of both the business and end customers?

Günlüğe kaydetme ve izleme araçları normalde aşağıdaki dört bileşenden oluşur:Logging and monitoring tools are typically comprised of the following four components:

  • Sistemi izlemeye ve temel sorun giderme işlemlerine yönelik sistem performansı ve zaman çizelgesi görselleştirme araçları.System performance and timeline visualization tools to monitor the system and for basic troubleshooting.
  • Günlük verilerini arabelleğe almak için, arabelleğe alınmış verilerin alımı.Buffered data ingestion, to buffer log data.
  • Günlük verilerini depolamak için kalıcılık depo.Persistence store to store log data.
  • Ayrıntılı sorun giderme işlemlerinde kullanmak üzere günlük verilerini görüntülemek için arama ve sorgulama özellikleri.Search and query capabilities, to view log data for use in detailed troubleshooting.

İzleme sistemleri, bir IoT çözümünün durumu, güvenliği, kararlılığı ve performansı ile ilgili içgörüler sağlar.Monitoring systems provide insights into the health, security, and stability, and performance of an IoT solution. Ayrıca bu sistemler bileşen yapılandırma değişikliklerinin kaydını alarak ve olası güvenlik açıklarını ortaya çıkarabilecek, ayıklanmış günlük verileri sağlayarak daha ayrıntılı bir görünüm sunabilir, olay yönetim sürecini iyileştirebilir ve sistem sahibinin sorunları gidermesine yardımcı olabilir.These systems can also provide a more detailed view, recording component configuration changes and providing extracted logging data that can surface potential security vulnerabilities, enhance the incident management process, and help the owner of the system troubleshoot problems. Kapsamlı izleme çözümlerinde belirli alt sistemler için bilgileri sorgulama veya birden çok alt sistemden toplama özelliği bulunur.Comprehensive monitoring solutions include the ability to query information for specific subsystems or aggregating across multiple subsystems.

İzleme sistemi geliştirmeye başlarken önce sağlıklı işlem, yasal düzenlemelere uyumluluk ve denetim gereksinimleri tanımlanmalıdır.Monitoring system development should begin by defining healthy operation, regulatory compliance, and audit requirements. Şu ölçümler toplanabilir:Metrics collected may include:

  • Yapılandırma değişiklikleri bildiren fiziksel cihazlar, uç cihazları ve altyapı bileşenleri.Physical devices, edge devices, and infrastructure components reporting configuration changes.
  • Yapılandırma değişiklikleri, güvenlik denetimi günlükleri, istek hızları, yanıt süreleri, hata oranları ve yönetilen diller için atık toplama istatistikleri bildiren uygulamalar.Applications reporting configuration changes, security audit logs, request rates, response times, error rates, and garbage collection statistics for managed languages.
  • Sorgu ve yazma performansı, şema değişiklikleri, güvenlik denetimi günlüğü, kilitler veya kilitlenmeler, dizin performansı, CPU, bellek ve disk kullanımı bildiren veritabanları, kalıcılık depoları ve önbellekler.Databases, persistence stores, and caches reporting query and write performance, schema changes, security audit log, locks or deadlocks, index performance, CPU, memory, and disk usage.
  • Sistem durumu ölçümleri ve bağımlı sistem durumu ile performansını etkileyen yapılandırma değişiklikleri bildiren yönetilen hizmetler (IaaS, PaaS, SaaS ve FaaS).Managed services (IaaS, PaaS, SaaS, and FaaS) reporting health metrics and configuration changes that impact dependent system health and performance.

İzleme ölçümlerinin görselleştirmesi, operatörleri sistemdeki kararsızlıklara karşı uyarır ve olaylara yanıt vermeyi kolaylaştırır.Visualization of monitoring metrics alert operators to system instabilities and facilitate incident response.

Telemetriyi izlemeTracing telemetry

Telemetriyi izleme, operatörün bir telemetri parçasının oluşturulmasından başlayıp sistem boyunca süren yolculuğunu takip edebilmesini sağlar.Tracing telemetry allows an operator to follow the journey of a piece of telemetry from creation through the system. İzleme özelliği, hata ayıklama ve sorun giderme için de önemlidir.Tracing is important for debugging and troubleshooting. Azure IoT Hub ve IoT Hub Cihaz SDK'ları kullanan IoT çözümleri için, izleme veri birimleri Buluttan Cihaza iletiler olarak başlatılabilir ve telemetri akışına eklenebilir.For IoT solutions that use Azure IoT Hub and the IoT Hub Device SDKs, tracing datagrams can be originated as Cloud-to-Device messages and included in the telemetry stream.

Günlüğe kaydetmeLogging

Günlüğe kaydetme sistemleri, bir çözümün hangi eylemleri veya etkinlikleri gerçekleştirdiğini, hangi hataların oluştuğunu anlamak için vazgeçilmez sistemlerdir ve söz konusu hataları düzeltmeye yardımcı olabilir.Logging systems are integral in understanding what actions or activities a solution has performed, failures that have occurred, and can provide help in fixing those failures. Günlüklerin analiz edilmesi hata durumlarını anlamaya ve düzeltmeye; performans özelliklerini iyileştirmeye; geçerli olan kurallara ve yasal düzenlemelere uyumluluğu güvence altına almaya yardımcı olabilir.Logs can be analyzed to help understand and remedy error conditions, enhance performance characteristics, and ensure compliance with governing rule and regulations.

Düz metin günlüklerin ön geliştirme maliyetlerine fazla etkisi olmasa da, makinelerin bunları ayrıştırması/okuması zor olabilir.Though plain-text logging is lower impact on upfront development costs, it is more challenging for a machine to parse/read. Yapılandırılmış günlük kullanılmasını öneririz çünkü bu durumda toplanan bilgiler hem makineler tarafından ayrıştırılabilir hem de insanlar tarafından okunabilir.We recommend structured logging be used, as collected information is both machine parsable and human readable. Yapılandırılmış günlük kaydında günlük bilgilerine durumsal bağlam ve meta veriler eklenir.Structured logging adds situational context and metadata to the log information. Yapılandırılmış günlük kaydında arama ve sorgu özelliklerini iyileştirmek amacıyla, anahtar/değer çiftleri olarak veya sabit bir şemayla biçimlendirilen özelliklere çok önem verilir.In structured logging, properties are first class citizens formatted as key/value pairs, or with a fixed schema, to enhance search and query capabilities.

DevOps için dikkat edilmesi gerekenlerDevOps considerations

Kod olarak altyapıyı (IAC) kullanın.Use the Infrastructure as code (IaC). IAC bildirime dayalı bir yaklaşımla altyapı (ağlar, sanal makineler, yük dengeleyiciler ve bağlantı topolojisi) yönetimidir.IaC is the management of infrastructure (networks, virtual machines, load balancers, and connection topology) with a declarative approach. Şablonların sürümü ve yayın işlem hattının bir parçası olması gerekir.Templates should be versioned and part of the release pipeline. En güvenilir dağıtım işlemlerinin otomatikleştirilmesi ve ıdempotent.The most reliable deployment processes are automated and idempotent. Tek yönlü, IoT kaynaklarını ve altyapısını sağlamak için Azure Resource Manager şablonu oluşturmaktır.One way is to create Azure Resource Manager template for provisioning the IoT resources and the infrastructure.

Altyapı dağıtımını otomatikleştirmek için Azure DevOps Services, Jenkins veya diğer CI/CD çözümlerini kullanabilirsiniz.To automate infrastructure deployment, you can use Azure DevOps Services, Jenkins, or other CI/CD solutions. Azure Pipelines, Azure DevOps Services'in bir parçasıdır ve otomatik derlemeler, testler ve dağıtımlar çalıştırır.Azure Pipelines is part of Azure DevOps Services and runs automated builds, tests, and deployments.

Bir sonrakine geçmeden önce çeşitli aşamalara dağıtarak ve her aşamada doğrulamaları çalıştırarak iş yüklerinizi hazırlamayı düşünün; Bu şekilde, güncelleştirmeleri üretim ortamlarınıza yüksek düzeyde denetlenen bir şekilde gönderebilir ve beklenmeyen dağıtım sorunlarını en aza indirmenize olanak sağlar.Consider staging your workloads by deploying to various stages and running validations at each stage before moving on to the next one; that way you can push updates to your production environments in a highly controlled way and minimize unanticipated deployment issues. Mavi-yeşil dağıtım ve Canary sürümleri , canlı üretim ortamlarını güncelleştirmek için önerilen dağıtım stratejilerine sahiptir.Blue-green deployment and Canary releases are recommended deployment strategies for updating live production environments. Ayrıca, bir dağıtım başarısız olduğunda iyi bir geri alma stratejisi de düşünün; Örneğin, dağıtım geçmişinizden daha önceki, başarılı bir dağıtımı otomatik olarak yeniden dağıtırsınız, Azure CLı 'de--Rollback-on hata bayrağı parametresi iyi bir örnektir.Also consider having a good rollback strategy for when a deployment fails; for example you could automatically redeploy an earlier, successful deployment from your deployment history, the --rollback-on-error flag parameter in Azure CLI is good example.

Azure izleyici'yi kullanarak çözümünüzü izlemeyi düşünün.Consider monitoring your solution by using Azure Monitor. Azure Izleyici, tüm Azure hizmetleri için izleme ve günlüğe kaydetme ana kaynağıdır. Azure kaynakları için tanılama bilgileri sağlar.Azure Monitor is the main source of monitoring and logging for all your Azure services, it provides diagnostics information for Azure resources. Örneğin, IoT Hub 'ınız içinde gerçekleşen işlemleri izleyebilirsiniz.You can for example, monitor the operations that take place within your IoT hub. Azure Izleyici 'nin desteklediği belirli ölçümler ve olaylar ve Azure tanılama günlükleri için hizmetler, şemalar ve kategoriler vardır.There are specific metrics and events that Azure Monitor supports, as well as services, schemas, and categories for Azure Diagnostic Logs.

Daha fazla bilgi için Microsoft Azure Well-Architected FrameworkIçindeki DevOps bölümüne bakın.For more information, see the DevOps section in Microsoft Azure Well-Architected Framework.

Maliyetle ilgili konularCost considerations

Genel olarak, maliyetleri tahmin etmek için Azure Fiyatlandırma hesaplayıcısı ' nı kullanın.In general, use the Azure pricing calculator to estimate costs. Diğer konular, Microsoft Azure Well-Architected Framework 'Ünmaliyet bölümünde açıklanmaktadır.Other considerations are described in the Cost section in Microsoft Azure Well-Architected Framework.

Bu başvuru mimarisinde kullanılan hizmetlerle ilişkili maliyetleri iyileştirmek için yollar vardır.There are ways to optimize costs associated the services used in this reference architecture.

Azure IoT HubAzure IoT Hub

Bu mimaride, IoT Hub cihazlardan gelen olayları gösteren bulut ağ geçididir.In this architecture, IoT Hub is the cloud gateway that ingests events from devices. IoT Hub faturalandırma, işlem türüne bağlı olarak değişir.IoT Hub billing varies depending on the type of operation. Oluşturma, güncelleştirme, ekleme, silme ücretsizdir.Create, update, insert, delete are free. Cihazdan buluta ve buluttan cihaza iletiler gibi başarılı işlemler ücretlendirilir.Successful operations such as device-to-cloud and cloud-to-device messages are charged.

Cihazdan buluta gönderilen iletiler başarıyla gönderildi, IoT Hub girişi sırasında 4 KB 'lık öbeklere göre ücretlendirilir.Device-to-cloud messages sent successfully are charged in 4-KB chunks on ingress into IoT Hub. Örneğin, 6 KB 'lik bir ileti iki ileti olarak ücretlendirilir.For example, a 6-KB message is charged as two messages.

IoT Hub, bir Device ikizi JSON belgesinde her bağlı cihazla ilgili durum bilgilerini tutar.IoT Hub maintains state information about each connected device in a device twin JSON document. Bir cihazdan okuma işlemleri ikizi belgesi ücretlendirilir.Read operations from a device twin document are charged.

IoT Hub iki katman sunar: temel ve Standart.IoT Hub offers two tiers: Basic and Standard.

IoT mimariniz çift yönlü iletişim özellikleri kullanıyorsa Standart katmanı kullanmayı düşünün.Consider using the Standard tier if your IoT architecture uses bi-directional communication capabilities. Bu katman, test amacıyla en uygun ücretsiz sürümü de sunmaktadır.This tier also offers a free edition that is most suited for testing purposes.

Cihazlardan buluta yalnızca tek yönlü iletişim gerekiyorsa, bu, söz konusu olan temel katmanı kullanın.If you only need uni-directional communication from devices to the cloud, use the Basic tier, which is cheaper.

Daha fazla bilgi için bkz. IoT Hub fiyatlandırması.For more information, see IoT Hub Pricing.

Azure Stream AnalyticsAzure Stream Analytics

Azure Stream Analytics, akış işleme ve kural değerlendirmesi için kullanılır.Azure Stream Analytics is used for stream processing and rules evaluation. Azure Stream Analytics, verileri işlemek için gereken işlem, bellek ve aktarım hızını alan, saat başına akış birimi (SU) sayısına göre fiyatlandırılır.Azure Stream Analytics is priced by the number of Streaming Units (SU) per hour, which takes into compute, memory, and throughput required to process the data. IoT Edge üzerinde Azure Stream Analytics iş başına faturalandırılır.Azure Stream Analytics on IoT Edge is billed per job. Faturalandırma, iş durumu, çalışıyor, başarısız veya durdurulmuş olursa olsun cihazlara Stream Analytics bir iş dağıtıldığında başlatılır.Billing starts when a Stream Analytics job is deployed to devices regardless of the job status, running, failed, or stopped.

Fiyatlandırma hakkında daha fazla bilgi için bkz. Stream Analytics fiyatlandırması.For more information about pricing, see Stream Analytics pricing.

Azure İşlevleriAzure Functions

Azure Işlevleri, IoT Hub ulaştıktan sonra verileri dönüştürmek için kullanılır.Azure Functions is used to transform data after it reaches the IoT Hub. Maliyet açısından, yalnızca kullandığınız işlem kaynakları için ödeme yaptığınız için Tüketim planının kullanılması önerilir.From a cost perspective, the recommendation is to use consumption plan because you pay only for the compute resources you use. Bir olay, işlevin yürütülmesini tetiklediği her seferinde ikinci kaynak tüketimine göre ücretlendirilirsiniz.You are charged based on per-second resource consumption each time an event triggers the execution of the function. Tek bir yürütmede veya toplu işlerle çeşitli olayların işlenmesi maliyeti düşürebilir.Processing several events in a single execution or batches can reduce cost.

Azure Logic AppsAzure Logic Apps

Bu mimaride, Logic Apps iş süreci tümleştirmesi için kullanılır.In this architecture, Logic Apps is used for business process integration.

Logic Apps fiyatlandırması, Kullandıkça öde modelinde çalışmaktadır.Logic apps pricing works on the pay-as-you-go model. Bir mantıksal uygulama her çalıştığında Tetikleyiciler, Eylemler ve bağlayıcı yürütmeleri ölçülür.Triggers, actions, and connector executions are metered each time a logic app runs. Tetikleyiciler de dahil olmak üzere tüm başarılı ve başarısız eylemler yürütmeler olarak değerlendirilir.All successful and unsuccessful actions, including triggers, are considered as executions.

Örneğin, mantıksal uygulamanız günde 1000 ileti işler.For instance, your logic app processes 1000 messages a day. Beş eylemden oluşan bir iş akışı $6 'den daha az ücret alacak.A workflow of five actions will cost less than $6.

Daha fazla bilgi için bkz. Logic Apps fiyatlandırması.For more information, see Logic Apps pricing.

Veri DepolamaData Storage

Soğuk yol depolaması için, Azure Blob depolaması en düşük maliyetli seçenektir.For cold path storage, Azure Blob Storage is the most cost-effective option.

Sıcak yol depolaması için Azure Cosmos DB kullanmayı düşünün.For warm path storage, consider using Azure Cosmos DB. Daha fazla bilgi için bkz. Cosmos DB fiyatlandırması.For more information, see Cosmos DB pricing.

Sonraki adımlarNext steps