Cómo Integrar Application Insights En Las Funciones De Azure

En este artículo, hablaremos sobre Application Insights y cómo integrar Application Insight en la aplicación Azure Function. También crearemos una aplicación de funciones de Azure simple y también registraremos datos en la información de la aplicación.

Si es nuevo en las funciones de Azure, primero consulte los artículos a continuación,

En este artículo, cubriremos los siguientes temas,

  • ¿Qué es Application Insights?
  • Habilite Application Insight en el momento de crear la aplicación de función
  • Integre Application Insight en la aplicación de función existente
  • Registrar datos de Azure Functions en Application Insights

¿Qué es Application Insights?

Al crear una aplicación en la nube o una aplicación local, el monitoreo siempre nos ayuda a analizar y depurar rápidamente cualquier problema. Azure Monitor es un servicio proporcionado por Azure para monitorear, analizar, mejorar la disponibilidad y el rendimiento de su aplicación. 

De acuerdo con los documentos de Microsoft ,

Application Insights, una característica de Azure Monitor, es un servicio extensible de administración del rendimiento de aplicaciones (APM) para desarrolladores y profesionales de DevOps. Úselo para monitorear sus aplicaciones en vivo. Detectará automáticamente anomalías de rendimiento e incluye poderosas herramientas de análisis para ayudarlo a diagnosticar problemas y comprender qué hacen realmente los usuarios con su aplicación.
 

La información de la aplicación recopila datos de telemetría de las aplicaciones conectadas y proporciona Métricas en vivo, análisis de registros  , etc. Podemos integrar la información de la aplicación en la función de Azure de varias maneras, como se muestra a continuación:

requisitos previos

Habilite Application Insight en el momento de crear la aplicación de función

Cuando creamos una aplicación de función y también creamos información de la aplicación junto con eso, la clave de instrumentación ya está configurada en la configuración de la aplicación con el nombre  APPINSIGHTS_INSTRUMENTATIONKEY

  1. Inicie sesión en el portal de Azure . En la barra de búsqueda, busque como "aplicación de funciones" y luego seleccione la aplicación de funciones. 

    Cómo integrar Application Insights en las funciones de Azure

    Cómo integrar Application Insights en las funciones de Azure

     

Después de eso, haga clic en el botón "Agregar" para agregar una nueva aplicación de función. Complete los detalles básicos,


  1. Cómo integrar Application Insights en las funciones de Azure

     
  2. Una vez que completamos los detalles básicos, haga clic en el botón Siguiente: Hosting.

    Cómo integrar Application Insights en las funciones de Azure

     
  3. Una vez que completamos los detalles del alojamiento, haga clic en el botón Siguiente: Monitoreo.

    Cómo integrar Application Insights en las funciones de Azure

    Así que aquí podemos habilitar la información de la aplicación para nuestra aplicación de función. De forma predeterminada, toma el mismo nombre que el nombre de la función, pero si desea dar un nombre personalizado, haga clic en el botón "Crear nuevo" y luego ingrese el nombre para obtener información y también puede seleccionar una ubicación preferida.

    Cómo integrar Application Insights en las funciones de Azure

     
  4. Ahora haga clic en el botón Revisar: Crear y revise todos los detalles y haga clic en el botón Crear. Espere unos minutos para crear los recursos. 

     
  5. Abra la aplicación de función -> haga clic en Application Insight en el panel izquierdo. Verá que nuestra información de la aplicación ahora está vinculada a la aplicación de función.

    Cómo integrar Application Insights en las funciones de Azure

     
  6. Abra la información de la aplicación y podrá verificar la clave de instrumentación aquí.

    Cómo integrar Application Insights en las funciones de Azure

     
  7. Vaya a Configuración para ver que Azure agregó automáticamente APPINSIGHTS_INSTRUMENTATIONKEY a nuestra aplicación de funciones .

    Cómo integrar Application Insights en las funciones de Azure
     

Integre Application Insight en la aplicación de función existente

Si ya ha creado una aplicación de función y en ese momento no ha habilitado Application Insight, entonces puede integrar la aplicación de función a la información de aplicación existente si tiene alguna o crear un nuevo recurso de información de aplicación e integrarlo con su aplicación de función. . 

  1. Haga clic en el botón Crear recurso y busque Application Insight y haga clic en el botón Crear.

    Cómo integrar Application Insights en las funciones de Azure

     
  2. Complete todos los detalles y haga clic en el botón Revisar + crear. Espere unos minutos para crear los recursos.

    Cómo integrar Application Insights en las funciones de Azure

     
  3. Ahora abra la aplicación de función a la que desea vincular y haga clic en Application Insights en la barra lateral izquierda. Haga clic en el botón Activar Application Insights.

    Cómo integrar Application Insights en las funciones de Azure

     
  4. Ahora puede crear recursos o seleccionar la información de la aplicación existente. Seleccione el recurso de conocimiento de la aplicación existente para crear en el paso anterior. Finalmente, haga clic en el botón Aplicar. 

    Cómo integrar Application Insights en las funciones de Azure

     
  5. Eso es todo, ahora hemos integrado la información de la aplicación en nuestra aplicación de funciones.

    Cómo integrar Application Insights en las funciones de Azure

Registrar datos de Azure Functions en Application Insights

Para que la aplicación de funciones envíe datos a Application Insight, se requiere la clave de instrumentación del recurso de Application Insight. En primer lugar, crearemos una aplicación de funciones localmente con Visual Studio y agregaremos la clave de instrumentación en el archivo local.settings.json. 

  1. Abra un estudio visual y cree una nueva aplicación de función. Si no está familiarizado con cómo crearlo desde Visual Studio, consulte mi artículo aquí .

    Cómo integrar Application Insights en las funciones de Azure

     
  2. Vaya a su recurso de información de la aplicación y copie la clave de instrumentación

    Cómo integrar Application Insights en las funciones de Azure

     
  3. Abra el archivo local.settings.json y agregue una nueva configuración llamada  APPINSIGHTS_INSTRUMENTATIONKEY y pegue la clave copiada del segundo paso.
    1. {  
    2.     "Está cifrado":  falso ,  
    3.     "Valores": {  
    4.         "AzureWebJobsStorage": "UseDevelopmentStorage=true",  
    5.         "FUNCTIONS_WORKER_RUNTIME": "dotnet",  
    6.         "APPINSIGHTS_INSTRUMENTATIONKEY": "5916dc8e-7c17-4f59-ab1d-932ea1abac21" //<reemplaza la clave de instrumentación aquí>  
    7.     }  
    8. }  
  4. Ejecute la aplicación y presione la URL de la función. Puede ver los datos de telemetría en la información de la aplicación.

    Cómo integrar Application Insights en las funciones de Azure

    Cómo integrar Application Insights en las funciones de Azure

    Cómo integrar Application Insights en las funciones de Azure

Conclusión

En este artículo, hemos discutido sobre Application Insights y también diferentes formas de integrar la información de la aplicación en la aplicación de funciones de Azure. Realmente espero que disfrutes este artículo, lo compartas con tus amigos y no dudes en enviarme tus pensamientos o comentarios.

Estén atentos para obtener más artículos sobre funciones de Azure.

¡Feliz codificación!

Fuente: https://www.c-sharpcorner.com/article/how-to-integrate-application-insights-into-azure-functions/

#azure 

What is GEEK

Buddha Community

Cómo Integrar Application Insights En Las Funciones De Azure

Cómo Integrar Application Insights En Las Funciones De Azure

En este artículo, hablaremos sobre Application Insights y cómo integrar Application Insight en la aplicación Azure Function. También crearemos una aplicación de funciones de Azure simple y también registraremos datos en la información de la aplicación.

Si es nuevo en las funciones de Azure, primero consulte los artículos a continuación,

En este artículo, cubriremos los siguientes temas,

  • ¿Qué es Application Insights?
  • Habilite Application Insight en el momento de crear la aplicación de función
  • Integre Application Insight en la aplicación de función existente
  • Registrar datos de Azure Functions en Application Insights

¿Qué es Application Insights?

Al crear una aplicación en la nube o una aplicación local, el monitoreo siempre nos ayuda a analizar y depurar rápidamente cualquier problema. Azure Monitor es un servicio proporcionado por Azure para monitorear, analizar, mejorar la disponibilidad y el rendimiento de su aplicación. 

De acuerdo con los documentos de Microsoft ,

Application Insights, una característica de Azure Monitor, es un servicio extensible de administración del rendimiento de aplicaciones (APM) para desarrolladores y profesionales de DevOps. Úselo para monitorear sus aplicaciones en vivo. Detectará automáticamente anomalías de rendimiento e incluye poderosas herramientas de análisis para ayudarlo a diagnosticar problemas y comprender qué hacen realmente los usuarios con su aplicación.
 

La información de la aplicación recopila datos de telemetría de las aplicaciones conectadas y proporciona Métricas en vivo, análisis de registros  , etc. Podemos integrar la información de la aplicación en la función de Azure de varias maneras, como se muestra a continuación:

requisitos previos

Habilite Application Insight en el momento de crear la aplicación de función

Cuando creamos una aplicación de función y también creamos información de la aplicación junto con eso, la clave de instrumentación ya está configurada en la configuración de la aplicación con el nombre  APPINSIGHTS_INSTRUMENTATIONKEY

  1. Inicie sesión en el portal de Azure . En la barra de búsqueda, busque como "aplicación de funciones" y luego seleccione la aplicación de funciones. 

    Cómo integrar Application Insights en las funciones de Azure

    Cómo integrar Application Insights en las funciones de Azure

     

Después de eso, haga clic en el botón "Agregar" para agregar una nueva aplicación de función. Complete los detalles básicos,


  1. Cómo integrar Application Insights en las funciones de Azure

     
  2. Una vez que completamos los detalles básicos, haga clic en el botón Siguiente: Hosting.

    Cómo integrar Application Insights en las funciones de Azure

     
  3. Una vez que completamos los detalles del alojamiento, haga clic en el botón Siguiente: Monitoreo.

    Cómo integrar Application Insights en las funciones de Azure

    Así que aquí podemos habilitar la información de la aplicación para nuestra aplicación de función. De forma predeterminada, toma el mismo nombre que el nombre de la función, pero si desea dar un nombre personalizado, haga clic en el botón "Crear nuevo" y luego ingrese el nombre para obtener información y también puede seleccionar una ubicación preferida.

    Cómo integrar Application Insights en las funciones de Azure

     
  4. Ahora haga clic en el botón Revisar: Crear y revise todos los detalles y haga clic en el botón Crear. Espere unos minutos para crear los recursos. 

     
  5. Abra la aplicación de función -> haga clic en Application Insight en el panel izquierdo. Verá que nuestra información de la aplicación ahora está vinculada a la aplicación de función.

    Cómo integrar Application Insights en las funciones de Azure

     
  6. Abra la información de la aplicación y podrá verificar la clave de instrumentación aquí.

    Cómo integrar Application Insights en las funciones de Azure

     
  7. Vaya a Configuración para ver que Azure agregó automáticamente APPINSIGHTS_INSTRUMENTATIONKEY a nuestra aplicación de funciones .

    Cómo integrar Application Insights en las funciones de Azure
     

Integre Application Insight en la aplicación de función existente

Si ya ha creado una aplicación de función y en ese momento no ha habilitado Application Insight, entonces puede integrar la aplicación de función a la información de aplicación existente si tiene alguna o crear un nuevo recurso de información de aplicación e integrarlo con su aplicación de función. . 

  1. Haga clic en el botón Crear recurso y busque Application Insight y haga clic en el botón Crear.

    Cómo integrar Application Insights en las funciones de Azure

     
  2. Complete todos los detalles y haga clic en el botón Revisar + crear. Espere unos minutos para crear los recursos.

    Cómo integrar Application Insights en las funciones de Azure

     
  3. Ahora abra la aplicación de función a la que desea vincular y haga clic en Application Insights en la barra lateral izquierda. Haga clic en el botón Activar Application Insights.

    Cómo integrar Application Insights en las funciones de Azure

     
  4. Ahora puede crear recursos o seleccionar la información de la aplicación existente. Seleccione el recurso de conocimiento de la aplicación existente para crear en el paso anterior. Finalmente, haga clic en el botón Aplicar. 

    Cómo integrar Application Insights en las funciones de Azure

     
  5. Eso es todo, ahora hemos integrado la información de la aplicación en nuestra aplicación de funciones.

    Cómo integrar Application Insights en las funciones de Azure

Registrar datos de Azure Functions en Application Insights

Para que la aplicación de funciones envíe datos a Application Insight, se requiere la clave de instrumentación del recurso de Application Insight. En primer lugar, crearemos una aplicación de funciones localmente con Visual Studio y agregaremos la clave de instrumentación en el archivo local.settings.json. 

  1. Abra un estudio visual y cree una nueva aplicación de función. Si no está familiarizado con cómo crearlo desde Visual Studio, consulte mi artículo aquí .

    Cómo integrar Application Insights en las funciones de Azure

     
  2. Vaya a su recurso de información de la aplicación y copie la clave de instrumentación

    Cómo integrar Application Insights en las funciones de Azure

     
  3. Abra el archivo local.settings.json y agregue una nueva configuración llamada  APPINSIGHTS_INSTRUMENTATIONKEY y pegue la clave copiada del segundo paso.
    1. {  
    2.     "Está cifrado":  falso ,  
    3.     "Valores": {  
    4.         "AzureWebJobsStorage": "UseDevelopmentStorage=true",  
    5.         "FUNCTIONS_WORKER_RUNTIME": "dotnet",  
    6.         "APPINSIGHTS_INSTRUMENTATIONKEY": "5916dc8e-7c17-4f59-ab1d-932ea1abac21" //<reemplaza la clave de instrumentación aquí>  
    7.     }  
    8. }  
  4. Ejecute la aplicación y presione la URL de la función. Puede ver los datos de telemetría en la información de la aplicación.

    Cómo integrar Application Insights en las funciones de Azure

    Cómo integrar Application Insights en las funciones de Azure

    Cómo integrar Application Insights en las funciones de Azure

Conclusión

En este artículo, hemos discutido sobre Application Insights y también diferentes formas de integrar la información de la aplicación en la aplicación de funciones de Azure. Realmente espero que disfrutes este artículo, lo compartas con tus amigos y no dudes en enviarme tus pensamientos o comentarios.

Estén atentos para obtener más artículos sobre funciones de Azure.

¡Feliz codificación!

Fuente: https://www.c-sharpcorner.com/article/how-to-integrate-application-insights-into-azure-functions/

#azure 

Ron  Cartwright

Ron Cartwright

1600624800

Getting Started With Azure Event Grid Viewer

In the last article, we had a look at how to start with Azure DevOps: Getting Started With Audit Streaming With Event Grid

In the article, we will go to the next step to create a subscription and use webhook event handlers to view those logs in our Azure web application.

#cloud #tutorial #azure #event driven architecture #realtime #signalr #webhook #azure web services #azure event grid #azure #azure event grid #serverless architecture #application integration

Cómo Integrar La Inyección De Dependencia En Las Funciones De Azure

En este artículo, vamos a aprender cómo integrar la inyección de dependencia en las funciones de Azure. También crearemos una función de Azure desencadenante Http simple y CustomerService y luego inyectaremos el objeto de servicio en la función mediante DI.

Si es nuevo en las funciones de Azure, primero consulte los siguientes artículos:

En este artículo, discutiremos los siguientes temas,

  • ¿Qué es el patrón de inyección de dependencia?
  • Pasos para agregar Inyección de Dependencia en Azure Functions.

¿Qué es el patrón de inyección de dependencia?

La Inyección de Dependencia es un patrón de diseño de software que se utiliza para independizar una clase de sus dependencias y ayuda a lograr la Inversión de Control (IOC)  y el bajo acoplamiento entre las clases y sus dependencias. 


Según wiki ,

En ingeniería de software, la inyección de dependencia es una técnica en la que un objeto recibe otros objetos de los que depende. Estos otros objetos se denominan dependencias. En la típica relación de "uso", el objeto receptor se denomina cliente y el objeto pasado (es decir, "inyectado") se denomina servicio.

Para obtener más información sobre la inyección de dependencia, puede consultar este artículo. Podemos agregar la inyección de dependencia en la función de Azure similar a ASP.NET Core. Si desea obtener más información sobre la inyección de dependencias en el núcleo de ASP.NET, puede consultar este artículo

Entonces, en este artículo, discutiremos cómo agregar la inyección de dependencia en las funciones de Azure.

Pasos para agregar inyección de dependencia en funciones de Azure

requisitos previos

Cree una función de Azure desencadenante HTTP simple

Así que abra Visual Studio y vaya a Archivo -> Nuevo -> Proyecto. Busque "Funciones de Azure" en el cuadro de búsqueda y seleccione la plantilla de función de Azure y haga clic en Siguiente.

Asigne un nombre al proyecto de función y haga clic en Crear.

Seleccione la plantilla de activador HTTP y configure el nivel de Autorización como Anónimo y haga clic en Crear.

Eso es todo. Hemos creado nuestra primera función de Azure. Abra el archivo Function1.cs para ver la función generada.

Cree un servicio de atención al cliente simple que devuelva datos de clientes simulados

Así que haga clic derecho en la solución -> Agregar -> Nuevo proyecto y luego seleccione la biblioteca de clases .NET Standard y haga clic en Siguiente. Luego dé el nombre y finalmente haga clic en Crear.

Ahora cree una clase llamada Cliente con las siguientes propiedades,

public class Customer  
{  
    public string Name { get; set; }  
    public int Id { get; set; }  
    public string Country { get; set; }  
}  

Ahora cree una interfaz llamada ICustomerService.cs como se muestra a continuación,

using System.Collections.Generic;  
  
namespace AzureFuncDependencyDemo.Customer.Service  
{  
    public interface ICustomerService  
    {  
        List<Customer> GetCustomersData();  
    }  
}  

Y finalmente cree una clase que implemente el método "GetCustomersDataAsync" de la interfaz ICustomerService y devuelva una lista de Clientes.

using System.Collections.Generic;  
  
namespace AzureFuncDependencyDemo.Customer.Service  
{  
    public class CustomerService : ICustomerService  
    {  
        public List<Customer> GetCustomersData()  
        {  
            var customersData = new List<Customer>();  
            customersData.Add(new Customer()  
            {  
                Id = 101,  
                Name = "Customer1",  
                Country = "India"  
            });  
  
            customersData.Add(new Customer()  
            {  
                Id = 102,  
                Name = "Customer2",  
                Country = "USA"  
            });  
            return customersData;  
        }  
    }  
}  

Inyecte CustomerService en la función de Azure para obtener datos del cliente

Primero necesitamos instalar el siguiente paquete nuget en el proyecto de función de Azure,

Para inyectar dependencia, primero debemos crear una nueva clase llamada "Startup.cs" en la raíz del proyecto. Agregue el siguiente código a la clase que se usa al comienzo de la aplicación de funciones.  

using AzureFuncDependencyDemo;  
using AzureFuncDependencyDemo.Customer.Service;  
using Microsoft.Azure.Functions.Extensions.DependencyInjection;  
using Microsoft.Extensions.DependencyInjection;  
  
[assembly: FunctionsStartup(typeof(Startup))]  
  
namespace AzureFuncDependencyDemo  
{  
    public class Startup : FunctionsStartup  
    {  
        public override void Configure(IFunctionsHostBuilder builder)  
        {  
            builder.Services.AddTransient<ICustomerService, CustomerService>();  
        }  
    }  
}  
  • Luego, el atributo FunctionStartup se usa para registrar el ensamblaje que especifica el nombre que necesita usar durante el inicio de la función.
  • Inicie FunctionStartup e implemente el método Configure para registrar todas las dependencias.
  • Registre la dependencia de ICustomerService de la misma manera que normalmente lo hacemos en las aplicaciones principales de ASP.NET.

Ahora agregue el siguiente código a la función para inyectar dependencia y obtener los datos del cliente.

using System.Threading.Tasks;  
using AzureFuncDependencyDemo.Customer.Service;  
using Microsoft.AspNetCore.Http;  
using Microsoft.AspNetCore.Mvc;  
using Microsoft.Azure.WebJobs;  
using Microsoft.Azure.WebJobs.Extensions.Http;  
  
namespace AzureFuncDependencyDemo  
{  
  
    public class Function1  
    {  
        private readonly ICustomerService customerService;  
  
        public Function1(ICustomerService _customerService)  
        {  
            customerService = _customerService;  
        }  
  
        [FunctionName("Function1")]  
        public  async Task<IActionResult> Run(  
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)] HttpRequest req)  
        {  
            var customersData = await customerService.GetCustomersDataAsync();  
  
            return new OkObjectResult(customersData);  
        }  
    }  
}  

Ahora, para ejecutar la aplicación de funciones, solo necesitamos ejecutar el proyecto. A continuación, iniciará la función cli de Azure para ejecutar la función.

La función se ejecuta en 'http://localhost:7071/api/Function1'

Eso es todo. Ahora hemos configurado la inyección de dependencia en la aplicación de funciones de Azure. 

Si queremos usar HttpClient para realizar una solicitud http, podemos inyectar la dependencia de HttpClient de la misma manera que nos gusta agregarla a NET Core. Así que agreguemos el siguiente paquete nuget,

Después de eso, abra la clase Startup.cs y agregue la siguiente línea para inyectar la dependencia de HttpClient.

using AzureFuncDependencyDemo.Customer.Service;  
using Microsoft.Azure.Functions.Extensions.DependencyInjection;  
using Microsoft.Extensions.DependencyInjection;  
  
[assembly: FunctionsStartup(typeof(AzureFuncDependencyDemo.Startup))]  
  
namespace AzureFuncDependencyDemo  
{  
    public class Startup : FunctionsStartup  
    {  
        public override void Configure(IFunctionsHostBuilder builder)  
        {  
            builder.Services.AddHttpClient();  
            builder.Services.AddTransient<ICustomerService, CustomerService>();  
        }  
    }  
}  

Ahora cree otra función azul y use HttpClient para obtener los datos del usuario usando la API simulada ' jsonplaceholder.typicode.com/users '. Haga clic derecho en la solución y haga clic en Agregar -> Nueva función de Azure.

Seleccione la función de Azure y asígnele el nombre "GetUsers" y haga clic en el botón Agregar.

Seleccione el tipo de activación de la función como HttpTrigger y el nivel de autorización como Anónimo. 

Ahora agregue el siguiente código para obtener los datos del usuario. 

using System.Net.Http;  
using System.Threading.Tasks;  
using Microsoft.AspNetCore.Http;  
using Microsoft.AspNetCore.Mvc;  
using Microsoft.Azure.WebJobs;  
using Microsoft.Azure.WebJobs.Extensions.Http;  
using Microsoft.Extensions.Logging;  
  
namespace AzureFuncDependencyDemo  
{  
    public class GetUsers  
    {  
        private readonly HttpClient _httpClient;  
        public GetUsers(HttpClient  httpClient)  
        {  
            _httpClient = httpClient;  
        }  
  
        [FunctionName("GetUsers")]  
        public async Task<IActionResult> Run(  
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)] HttpRequest req,  
            ILogger log)  
        {  
            log.LogInformation("C# HTTP trigger function processed a request.");  
  
            var responseMessage = await _httpClient.GetAsync("http://jsonplaceholder.typicode.com/users");  
            var usersData = responseMessage.Content.ReadAsStringAsync().Result;  
            return new OkObjectResult(usersData);  
        }  
    }  
}  

Aquí hemos inyectado la dependencia de HttpClient usando Constructor y luego llamamos al método GetAsync para obtener datos de la API. Así que ejecute la aplicación y vea el resultado.

Conclusión

En este artículo, hemos creado una nueva función de Azure y un servicio de atención al cliente simulado simple de Visual Studio. Además, demostré cómo inyectar la dependencia de CustomerService en la aplicación de funciones de Azure y también cómo inyectarla en la función. Realmente espero que disfrutes este artículo, lo compartas con tus amigos y no dudes en enviarme tus pensamientos o comentarios.

Estén atentos para obtener más artículos sobre funciones de Azure.

¡Feliz codificación! 

Fuente: https://www.c-sharpcorner.com/article/how-to-add/

#azure 

Eric  Bukenya

Eric Bukenya

1624713540

Learn NoSQL in Azure: Diving Deeper into Azure Cosmos DB

This article is a part of the series – Learn NoSQL in Azure where we explore Azure Cosmos DB as a part of the non-relational database system used widely for a variety of applications. Azure Cosmos DB is a part of Microsoft’s serverless databases on Azure which is highly scalable and distributed across all locations that run on Azure. It is offered as a platform as a service (PAAS) from Azure and you can develop databases that have a very high throughput and very low latency. Using Azure Cosmos DB, customers can replicate their data across multiple locations across the globe and also across multiple locations within the same region. This makes Cosmos DB a highly available database service with almost 99.999% availability for reads and writes for multi-region modes and almost 99.99% availability for single-region modes.

In this article, we will focus more on how Azure Cosmos DB works behind the scenes and how can you get started with it using the Azure Portal. We will also explore how Cosmos DB is priced and understand the pricing model in detail.

How Azure Cosmos DB works

As already mentioned, Azure Cosmos DB is a multi-modal NoSQL database service that is geographically distributed across multiple Azure locations. This helps customers to deploy the databases across multiple locations around the globe. This is beneficial as it helps to reduce the read latency when the users use the application.

As you can see in the figure above, Azure Cosmos DB is distributed across the globe. Let’s suppose you have a web application that is hosted in India. In that case, the NoSQL database in India will be considered as the master database for writes and all the other databases can be considered as a read replicas. Whenever new data is generated, it is written to the database in India first and then it is synchronized with the other databases.

Consistency Levels

While maintaining data over multiple regions, the most common challenge is the latency as when the data is made available to the other databases. For example, when data is written to the database in India, users from India will be able to see that data sooner than users from the US. This is due to the latency in synchronization between the two regions. In order to overcome this, there are a few modes that customers can choose from and define how often or how soon they want their data to be made available in the other regions. Azure Cosmos DB offers five levels of consistency which are as follows:

  • Strong
  • Bounded staleness
  • Session
  • Consistent prefix
  • Eventual

In most common NoSQL databases, there are only two levels – Strong and EventualStrong being the most consistent level while Eventual is the least. However, as we move from Strong to Eventual, consistency decreases but availability and throughput increase. This is a trade-off that customers need to decide based on the criticality of their applications. If you want to read in more detail about the consistency levels, the official guide from Microsoft is the easiest to understand. You can refer to it here.

Azure Cosmos DB Pricing Model

Now that we have some idea about working with the NoSQL database – Azure Cosmos DB on Azure, let us try to understand how the database is priced. In order to work with any cloud-based services, it is essential that you have a sound knowledge of how the services are charged, otherwise, you might end up paying something much higher than your expectations.

If you browse to the pricing page of Azure Cosmos DB, you can see that there are two modes in which the database services are billed.

  • Database Operations – Whenever you execute or run queries against your NoSQL database, there are some resources being used. Azure terms these usages in terms of Request Units or RU. The amount of RU consumed per second is aggregated and billed
  • Consumed Storage – As you start storing data in your database, it will take up some space in order to store that data. This storage is billed per the standard SSD-based storage across any Azure locations globally

Let’s learn about this in more detail.

#azure #azure cosmos db #nosql #azure #nosql in azure #azure cosmos db

Ruthie  Bugala

Ruthie Bugala

1620435660

How to set up Azure Data Sync between Azure SQL databases and on-premises SQL Server

In this article, you learn how to set up Azure Data Sync services. In addition, you will also learn how to create and set up a data sync group between Azure SQL database and on-premises SQL Server.

In this article, you will see:

  • Overview of Azure SQL Data Sync feature
  • Discuss key components
  • Comparison between Azure SQL Data sync with the other Azure Data option
  • Setup Azure SQL Data Sync
  • More…

Azure Data Sync

Azure Data Sync —a synchronization service set up on an Azure SQL Database. This service synchronizes the data across multiple SQL databases. You can set up bi-directional data synchronization where data ingest and egest process happens between the SQL databases—It can be between Azure SQL database and on-premises and/or within the cloud Azure SQL database. At this moment, the only limitation is that it will not support Azure SQL Managed Instance.

#azure #sql azure #azure sql #azure data sync #azure sql #sql server