TWIL: November 28, 2021

I got to dive a little deeper on caching topics this week, namely in-memory data grid and databases, as well as Netflix’s EVCache. There’s also a couple of diagram drawing tools I find useful, and maybe you do too.


Podcasts

The Azure Podcast

Episode 400: A view from Azure’s Core
On this special milestone of the Azure Podcast, we have none other than Girish Bablani, the CVP of Azure Core, to give us insights into the Core platform and provide some perspectives on the past and future of Azure.

Episode 401: Ignite 2021 Wrap-Up
Kendall, Evan and Sujit each discuss their favorite Azure announcements from Ignite 2021.

Episode 402: Azure Chaos Studio
Cale, Sujit and Cynthia speak with Senior Program Manager John Engel-Kemnetz about Azure Chaos Studio, a new service announced during Ignite to help customers emulate chaos situations that applications might run into. John also gives us some insight into some approaches to take on testing both the application and the live site responses from the support teams.

Episode 403: GitHub and Azure
Cynthia and Sujit talk to Gopinath C H about the synergies between GitHub and Azure for Enterprise and OSS developers.

.NET Rocks

Episode 1766: Desktop Development with Billy Hollis
Is desktop development still relevant? Billy Hollis says yes! Carl and Richard talk to Billy about his work building desktop apps, primarily with XAML. Billy talks about how desktop development has evolved even though a lot of folks have steered clear of it for years, doing all development with web clients. What is better with a traditional desktop client? The conversation also swings to how users interact with software, how developers learn, and how we could all stand to take a step back, decrease our rate of interruption, and focus more!


Cloud Architecture

Browse Azure Architectures
Find architecture diagrams and technology descriptions for reference architectures, real world examples of cloud architectures, and solution ideas for common workloads on Azure.


API Management

10 shades of public API hosting on Azure
APIs are everywhere and there are many ways to host them in Azure! Let us see what are the different possibilities with the pros & cons of each. I am not going to discuss the bits and bytes about each possibility. The purpose of this post is to give you a rough idea of what is possible for a simple scenario (single region, high-availability and disaster recovery are out of scope). I will provide small diagrams for more advanced scenarios.


Caching

The growing pain of caches in microservices
The biggest mistake a software developer can make is to implement cache mechanisms without any justifiable reason(s), or want to implement just for the sake of being cool. You must fully understand the impact caches brings, including its advantages and disadvantages.

In-memory Data Grid vs. Redis: For Better Data Governance
The most common solutions companies turn to are in-memory data grids like GigaSpaces or in-memory databases like Redis. Depending on the needs of the business, either one can be the ideal solution. There are advantages, however to choosing an in-memory data grid mainly because of its speed, reliability, and easy scalability. Before diving into the benefits and other features, it‘s best to first discuss the main differences of these two computing platforms.

In-Memory Database vs In-Memory Data Grid: Revisited
After explaining the difference between caching and an in-memory data grid at a conference a few months ago, I realized that many people want to better understand the difference between two major categories in in-memory computing: In-Memory Database and In-Memory Data Grid. In this post, I’ll share the succinct version of my thinking on this topic – thanks to a recent analyst call that helped to put everything in place.

Red Hat JBoss Data Grid is Not Just for Caching Java Objects Anymore
In 2011, Red Hat began producing a commercial version of Infinispan (an evolution of JBoss Cache), dubbed JBoss Enterprise Data Grid.  At this point, it was a highly scalable data tier, with high resilience and transactional data access. While JBoss Cache’s original purpose was to provide a convenient, and later scalable, memory store for databases, it turned out that customers were using it without the databases attached, as a data grid.

What’s the Difference Between an In-Memory Data Grid and In-Memory Database?
In-Memory Data Grids are designed to provide high availability and scalability by distributing data across multiple machines. The rise of cloud, social media, and the Internet of Things (IoT) has created demand for applications that need to be extremely fast and capable of processing millions of transactions per second.

Announcing EVCache: Distributed in-memory datastore for Cloud
EVCache is a distributed in-memory caching solution based on memcached & spymemcached that is well integrated with Netflix OSS and AWS EC2 infrastructure. Today we are announcing the open sourcing of EVCache client library on Github. EVCache is an abbreviation for Ephemeral Volatile Cache.

Evolution of Application Data Caching : From RAM to SSD
In 2013, we introduced EVCache a distributed in-memory caching solution based on memcached that offers low-latency, high-reliability caching and storage. It is well integrated with AWS and EC2, a Netflix OSS project, and in many occasions it is termed as “the hidden microservice”. Since then, EVCache has become a fundamental tier-0 service storing petabytes of data and hundred of billions of items, performing trillions of operations per day, has the ability to persist the data to the disk, and has a footprint of thousands of servers in three AWS regions.

Cache warming: Agility for a stateful service
EVCache has been a fundamental part of the Netflix platform (we call it Tier-1), holding Petabytes of data. Our caching layer serves multiple use cases from signup, personalization, searching, playback, and more. It is comprised of thousands of nodes in production and hundreds of clusters all of which must routinely scale up due to the increasing growth of our members.

Cache warming: Leveraging EBS for moving petabytes of data
The architecture mentioned in the original cache warming article worked great for a vast majority of our use cases. However, as Netflix’s subscriber base grew over the years, the footprint of the data stored in EVCache has increased multiple fold and will continue to increase to meet new and additional demand. As the scale and sensitivity of the clusters increased, the architecture needed to evolve to keep up.


Microsoft Virtual Machines selector
Using the virtual machines selector you can specify your requirements, such as the category of workload you plan to run in Azure, and the technical specifications of your VM (e.g., OS disks storage options, data disks storage performance, Operating System, deployment region, etc.).

Excalidraw
A browser-based drawing tool to sketch hand-drawn like diagrams.

Diagrams.net
Previously known as draw.io, this is a free diagram design tool with a web interface as well as a desktop app. It integrates natively with Confluence so, in case you use this system for your documentation, it is a great choice for your drawing needs. Also, it includes a huge library of icons, which is really useful when designing architecture diagrams.


Have a great week and happy learning!

Photo by Kelly Sikkema on Unsplash