Text/HTML

A Complete E2E Metered Billing for Microsoft Azure Stack Hub

Cloud Assert Billing for Azure Stack Hub enables billing and chargeback within Azure Stack portal. It allows you as an administrator to track the resource consumption across Azure Stack and custom services, compare usage vs quota, configure pricing for Azure Stack resources based on usage meters, integrate with external billing systems, and generate invoices automatically based on real-time usages.

Cloud Assert is the only provider of Billing and Commerce platform for Microsoft Azure Stack Hub that has native integration inside Azure Stack Portal UI and Azure Resource Manager API as a Resource Provider. It allows Enterprises, Service Providers, Re-sellers and End Users to view, track and manage their resource consumption and billing from the same single portal with one-pane glass experience.


Cloud Assert Usage and Billing platform is a matured, battle proven solution with many flexible options to customize and suite diverse marketing and sales needs. It provides you the quickest way to offer rich billing solution on top of the Microsoft Azure Stack Hub portal for all your Charge-back, Show-back, Billing and Reporting needs.

Administrator Portal

Usage and Billing solution enables you as a service administrator to define multiple pricing models within Azure Stack Hub for all the available services, resource meters, plans and offers.

  • Set different Pricing Profiles for all the Azure Stack Hub Meters
  • Visibility across Resource Usages and its Costs per subscription
  • Run Promotional Credits in a percentage or a monetary value
  • Extensibility and Flexibility to charge customers based on their specifc needs
Learn More on Admin Features Watch Demo

Customer/ Tenant Portal

Just like Azure public cloud, Tenants can get to see their ongoing usages, pricing and billing information including invoices right within their Azure Stack customer portal at a quick glance.

  • Ability to see their ongoing usages and its associated costs
  • Automatic invoice generation at the end of the billing cycle
  • Pay your bills within the Azure Stack Hub portal
  • Native billing experience just like Azure
Learn more on Tenant Features Watch Demo


Essential Features of the Billing Solution

Azure Stack Hub Billing Resources

Datasheet

Customer case studies on leveraging Cloud Assert Usage and Billing Resource Provider in their Azure Stack Hub journey

Download Datasheet

Azure Marketplace

Explore the seamless native billing experience for Azure Stack Hub and simplify the way to show/ chargeback your customers on real-time

Go to Azure Marketplace


Are you looking for usage and billing Azure Stack Hub

Being an Azure Stack Hub Evangelist | Jayanth Dattatri talks about Cloud Assert Solutions

In this video, Mr. Jayanth, the Senior Principal Engineer Product Technologist for Microsoft Azure Stack Hub, working for Dell Technologies talks about Cloud Assert Billing solution and Dell's association with Cloud Assert.



A Leader in Hybrid Cloud Management Since 2014

Cloud Assert has been trusted by Fortune 100 Companies as a Leader in Hybrid Cloud Management, Cost Management and Billing since 2014.

Cloud Assert work closely with Microsoft teams and our customers in building Hybr VConnect and Billing solutions to complement Microsoft Azure Stack adoption and to deliver a powerful hybrid cloud platform.

We're glad that customers can now take advantage of all the great features of Azure Stack without impacting existing infrastructure investments

Client-1

Ravi C Kolandaiswamy CEO & Founder

Download EBook & Discover Why


 

Why Choose Cloud Assert to manage your Cloud Infrastructure

Customized Solutions

A concrete roadmap to transform your organization for a cloud orientation.

Friendly Advisory Board members

Cloud Assert team is made of Ex-Microsoft managers and IT leaders across the spectrum

Global Reach

Customers across 30+ Countries that includes Fortune 100 & 500 companies as of today

Recent Blogs

How Azure Redis Cache improves application performance?

Author: Bhuvaneswari Shanmugam/Sunday, May 22, 2022/Categories: General

Rate this article:
5.0

Introduction:

Redis stands for Remote Dictionary Server and is developed in C programming language. Redis is a fully managed, open-source, in-memory data store that enables high-performance and scalable architectures used by millions of developers as a database, cache, streaming engine, and message broker. Without cache, data is fetched from a relational database system in the following manner:

  • A user sends a request to the server

  • The server fetches data from the database

  • Database returns the data to the requested server

By using Redis Cache, we can optimize this system.

How does Azure Redis Cache improve application performance?

Azure Redis Cache handles data that needs to be accessed more frequently, while the database handles data that needs to be stored for the longer term.
Redis cache stores data in the form of key-value pairs in in-memory format. This means that Redis stores data in the primary memory (RAM), enabling very fast read and write speeds compared to relational databases that store data on SSDs or HDDs.

It is excellent for caching due to its high-speed read and write speeds which result from being stored on the primary memory(in-memory) itself. Redis has sub-millisecond response times and significantly reduces latency and load on your traditional RDBMS/NoSQL database.

What can we do using Azure Redis Cache?

1.      Improve application performance

2.      Speed up applications with a distributed cache

Benefits of Redis:

1.      To avoid network calls

2.      Avoid re-computations

3.      Avoid load on the database

How network calls get reduced by using Redis Cache?

The client sends the request to the server. The server will check the value for the requested key in the cache; if it is present in the cache, the server will return that value. If it is not present, query data from the database and store that value in the cache in a key-value pair format. The server finally returns the value to the client from the cache.

If the client requests the same data (not changing frequently) again, the server will fetch data from the cache instead of the database. In this scenario, network calls will get reduced drastically.

 


Avoid re-computations:

Any computation that the server is often doing for a client request that won't change for a long time can be stored in the cache. So, the re-computation time done by the server will get reduced. This will also increase application performance.

Avoid load on the database:

For example, if you have a lot of servers and all hitting the database to get information, it will put a lot of loads on the database. Instead, servers will hit the cache instead of hitting the database if we cache that information in distributed Redis Cache. This will void the load on the database.

Redis server is the single-threaded process. A high Redis server load means that the server cannot keep pace with the requests from all the client connections. High memory usage indicates that your data size is too large for the current cache size. Consider scaling to a cache size with large memory and the appropriate service tier.

Service Tiers:

Azure Redis cache is available in these tiers.

Tier

Description

Basic

An OSS Redis cache running on a single VM. This tier has no service-level agreement (SLA) and is ideal for development/test and non-critical workloads.

Standard

An OSS Redis cache running on two VMs in a replicated configuration.

Premium

High-performance OSS Redis caches. This tier offers higher throughput, lower latency, better availability, and more features. Premium caches are deployed on more powerful VMs compared to the VMs for Basic or Standard caches.

Enterprise

High-performance caches powered by Redis Labs' Redis Enterprise software. This tier supports Redis modules, including RediSearch, RedisBloom, and RedisTimeSeries. Also, it offers even higher availability than the Premium tier.

Enterprise Flash

Cost-effective large caches powered by Redis Labs' Redis Enterprise software. This tier extends Redis data storage to non-volatile memory, cheaper than DRAM, on a VM. It reduces the overall per-GB memory cost.

 

Is Azure Redis Cache a database or cache?

Azure Redis Cache can be used as a standalone database. However, most of the time, it is best used to complement a database in the form of a cache.

Can Redis Cache replace RDBMS/NoSQL database?

Redis Cache cannot completely replace SQL Server. Microsoft SQL Server can be classified as a tool in the 'Databases' category, while Redis is grouped under 'In-Memory Databases'.

Redis is straightforward search capabilities, which means it is unsuitable for all use cases. Redis doesn't have good native support for storing data in object form. Many libraries are built over it and return data as a string, meaning you need to develop your serialization layer over it.

SQL Server is easy to understand and use. It is easy to export databases and tables in SQL queries or a script.

Let's see how to create Azure Redis Cache and use it in our application.

Create Azure Redis Cache:

Pre-requisite:

You’ll need an azure subscription before you begin.

1.      To create cache, sign-in to the Azure portal and select ‘Create a resource’.

Graphical user interface, application Description automatically generated

2.      Select ‘Databases’ and then select ‘Azure Cache for Redis’.

Graphical user interface, application Description automatically generated

3.      On the New Redis Cache page, configure the settings for your new cache.

Setting

Choose a value

Description

Subscription

Drop down and select your subscription.

The subscription under which to create this new Azure Cache for Redis instance.

Resource group

Drop down and select a resource group or selectCreate newand enter a new resource group name.

Name the resource group in which to create your cache and other resources. By putting all your app resources in one resource group, you can easily manage or delete them together.

DNS name

Enter a unique name.

The cache name must be a string between 1 and 63 characters that contain only numbers, letters, or hyphens. The name must start and end with a number or letter and can't contain consecutive hyphens. Your cache instance'shost namewill be<DNS name>.redis.cache.windows.net.

Location

Drop down and select a location.

Select aregionnear other services that will use your cache.

Cache type

Drop down and select atier.

The tier determines the size, performance, and features that are available for the cache. For more information, seeAzure Cache for Redis Overview.

 

4.      Select Networking tab and select your connectivity method.

Graphical user interface, text, application, email Description automatically generated

5.      In the Advanced tab, select the enable toggle if you want to enable a non-TLS port. You can select Redis version you would like to use, either 4 or 6.

Graphical user interface, text, application Description automatically generated

6.      Optionally, in the Tags tab, enter the name and value if you wish to categorize the resource.

7.      Select Review + Create. After validation passes, select Create.

Graphical user interface, text, application, email Description automatically generated

It takes some time for the cache to create.

Now all are set to use Azure Redis Cache. Let’s create C# console application and see how Redis Cache is working. Below is the list of languages that Redis supports with the list of Redis clients (mentioned in the brackets).

  • C (hiredis, hiredis-vip)
  • C# (Redis, StackExchange.Redis)
  • C++ (acl-redis)
  • Java (Jedis, lettuce)
  • Python (redis-py)
  • js (ioredis, node_redis)
  • PL/SQL (oredis)
  • PHP (phpredis, Predis)
  • Perl
  • Swift (PSSRedisClient)
  • Scala (scala-redis)
  • Go (Radix)

How to use Azure Redis Cache in C#:

Create a console application in Visual Studio and then install the Redis client for .Net called StackExchange.Redis via the Nuget Packet Manager. You can also install this client in Nuget Packet Manager Console using the following command.

Install-Package StackExchange.Redis

To work with the StackExchange.Redis library, you should add the following statement in your program.

using StackExchange.Redis;

Establish a connection to Azure Redis:

To connect to an Azure Cache for Redis instance, cache client needs the access key for the cache. You can get the access keys from the Azure portal. To get access keys from your cache left navigation, select Access keys.

Graphical user interface, application Description automatically generated

To connect to Azure Redis Cache, you need to use ConnectionMultiplexer class variable as a part of the StackExchange.Redis library. The important thing is you should share an instance of this class and reuse it throughout your application rather than create a connection instance for each operation.

1.private static ConnectionMultiplexer GetConnection()
2.{
3.    String connectionString = "Azure-Redis-Demo.redis.cache.windows.net:6380,
4.    password=YourRedisPassword=,ssl=True,abortConnect=False";
5.    return ConnectionMultiplexer.Connect(connectionString);
6.}

Once the connection has been successfully established, you can use GetDatabase method of the ConnectionMultiplexer class to connect to the database inside Azure Redis Cache.

public static IDatabase Db => GetConnection().GetDatabase();

Store and retrieve objects from Azure Redis Cache:

You can store or retrieve objects to and from cache using the StringSet and StringGet methods respectively.

1.     IDatabase redisCache = RedisCacheHelper.Db;
2. 
3.      redisCache.StringSet("Key1", "Test cache value");
4.      string data = redisCache.StringGet("Key1");
5.      Console.WriteLine(data);

Redis supports other data types also like Strings, Lists, Sets, Hashes, Sorted Sets, Bitmaps, and HyperLogLogs.

Output:

Text Description automatically generated with low confidence

Conclusion:

Azure Redis Cache is available in three tiers—Basic, Standard, and Premium—with varied cache storage capacities and pricing. In the Basic and Standard tiers, data is stored in the memory of the virtual machine instance where the Redis service has been provisioned. If you want to persist the cached data to storage, then you will need to use the Premium tier. Only the Premium tier of Azure Redis Cache supports data persistence.

Even though Redis Cache cannot be used in place of a database, it serves as a great tool for caching mechanisms that drastically improve the application performance, thereby giving an excellent user experience.




Print

Number of views (1333)/Comments (0)

Please login or register to post comments.

Let's Work Together

We're Excited to Work Together.

Let’s Talk!

  • *
  • *
  • *