May 2023 Summaries
10 posts from Redis
Filter
Month:
Year:
Post Summaries
Back to Blog
This article discusses various aspects of microservice architecture and deployment options for containerized applications, including automating frequent commands, versioning, and configuration management to save time and prevent unexpected failures. It also covers the importance of continuous integration and deployment, service mesh, service discovery, load balancing, autoscaling, and resiliency in designing a dynamic framework that encapsulates components of a workflow or process. The article aims to provide practical advice for teams transitioning to microservices architecture, including using operators to get the most out of Kubernetes, A/B testing, blue-green deployment, canary releases, secrets management, and versioning.
May 31, 2023
1,631 words in the original blog post.
This tutorial demonstrates how to create a chain using Relevance AI, Redis VSS, OpenAI GPT, and Cohere Wikipedia embeddings. The purpose is to enable users to ask questions of Wikipedia by utilizing Redis vector search to extract the best article based on their question. To follow along, you need a Redis database that supports JSON document data structures and built-in real-time Search and Query features. After setting up the necessary environment, the tutorial guides users through importing data from Cohere's multilingual Wikipedia embeddings dataset, ingesting each document into Redis using JSON, creating a vector search index in Redis, configuring an OpenAI API key and the Redis connection string, and building a chain with Relevance AI. The final result is a powerful tool that can be deployed as an embeddable application or as an API endpoint, allowing users to query vast swathes of information at lightning speed.
May 30, 2023
841 words in the original blog post.
The Redis Enterprise Proxy is an entity that mediates between applications and the database, exposing the endpoint while masking behind-the-scenes activities in the Redis Enterprise cluster. It employs a multi-threaded architecture and can scale up by using more available cores, designed to cope with high traffic by using multiplexing and pipelining. The proxy allows developers to focus on how an application is using data, rather than worrying about frequent changes in database topology. When scaling a database, the Redis Enterprise cluster can scale it up or out, allowing for linear performance increases without changing the way clients connect to the database. Automatic failover relies on data replication and self-healing mechanisms, keeping database clients connected to the same endpoint as before, with no need for changes from developers' or operations point of view. Benchmark numbers demonstrate the proxy's efficiency, maintaining sub-millisecond median latency for all target throughputs.
May 25, 2023
1,372 words in the original blog post.
Redis Smart Cache is an open-source library that adds caching to any platform, application, or microservice using JDBC-compliant drivers, allowing developers to optimize performance without changing code. It provides a simple solution for cache-aside optimization and reduces complexity by providing insights into queries flowing through SQL-based drivers. With Redis Smart Cache, users can identify worst-performing queries, enable query caching, and observe ongoing query performance without refactoring their code. The library supports various databases and platforms, including Java, Oracle, IBM DB2, Microsoft SQL Server, PostgreSQL, MySQL, Snowflake, BigQuery, Tableau, and others. It offers a command-line interface (CLI) for managing Redis Smart Cache, allows users to view application queries and metrics, and provides pre-built Grafana dashboards for monitoring performance.
May 23, 2023
1,402 words in the original blog post.
Redis is an open source in-memory data store that has gained significant popularity among organizations and developers worldwide, with nearly 10,000 customers relying on it to run their businesses. The open-source version of Redis has over 4 billion Docker pulls and a GitHub repository with nearly 60,000 stars, indicating its widespread adoption and versatility across multiple programming languages. A growing number of users are taking advantage of advanced features and multi-model capabilities through Redis Stack, which already has millions of downloads on Docker hub. With an average annual salary of over $140K for developers with Redis skills, it's a highly sought-after technical skill that can provide significant career benefits. Various resources, including free online training classes, YouTube tutorials, and the official Redis channel, are available to help individuals learn and master Redis.
May 17, 2023
565 words in the original blog post.
The Pulumi platform now supports Redis Cloud, a managed Redis service offered by Redis Labs, allowing developers to manage Redis Cloud resources using familiar programming languages like Node.js, Python, and Go. With Pulumi, users can automate the creation and configuration of Redis Cloud resources, reducing manual tasks and improving infrastructure reliability through testing and validation tools. The Redis Cloud provider for Pulumi is built as a bridge provider through Terraform, offering similar functionality with added benefits of using Pulumi. By following a step-by-step walkthrough, developers can create their first Redis resource using Pulumi, assembling a Redis Cloud flexible subscription in AWS us-east-1 and a database within this subscription with specific memory and throughput settings.
May 16, 2023
629 words in the original blog post.
Clustering is a technique used in DevOps to parse large datasets quickly, giving IT teams more time to work on other projects and improving flexibility, cost-efficiency, and reliability in applications. Clustering allows for scalability through vertical scaling and horizontal scaling strategies, amplifying availability for applications. It enables data to be stored together based on its hash slot, improving performance and scalability. The technique is used by companies like Uber and Amazon ElastiCache to achieve high availability and maximize application performance. To get started with clustering, developers can follow along with hands-on demos and take advantage of supplemental tutorials and Redis cluster specification links.
May 09, 2023
778 words in the original blog post.
Building a mobile banking app that delivers real-time account information requires technical precision and skill, as it involves consolidating data from multiple distinct products into a single dashboard. To solve load latency issues, developers can use tools to prefetch account balances and recent transactions, or run summary queries against second servers to avoid direct user load impact. Choosing the right data sources is also crucial, with factors such as accuracy, reliability, and relevance to consider. Additionally, optimizing performance by caching data on devices, ensuring a good user interface that accommodates multiple data inputs and display formats, thoroughly testing apps before release, creating a data dictionary to track data sources and fields, validating data quality, and planning for scalability and flexibility in data integration are all essential tips for developers working on financial applications.
May 08, 2023
1,052 words in the original blog post.
ChatGPT Memory is a project that addresses the context length limitations of large language models (LLMs) used in AI applications such as OpenAI's ChatGPT and GPT-4. The current default behavior of these LLMs only retrieves the last k messages relevant to the current message from the entire history, which can lead to inaccurate responses when users change topics mid-conversation. To tackle this problem, ChatGPT Memory uses Redis as a vector database to store an embedded conversation history of past user-bot interactions and employs vector search inside the embedding space to "intelligently" look up historical interactions related to the current user message. This approach is more adaptive than the current default behavior because it only retrieves the previous k messages relevant to the current message from the entire history, allowing for better personalized responses.
May 02, 2023
1,520 words in the original blog post.
Microservices architecture is a software design strategy that breaks down applications into smaller, independent services. These services communicate with each other through APIs and are managed by their own teams of domain experts. The first step in designing a microservices architecture is to conduct a domain analysis to map out how to compartmentalize each service and what elements need to be factored into the application stack. This process, known as domain-driven design (DDD), applies patterns such as the entity pattern and the aggregate pattern to a single bounded context in order to identify a single domain's boundaries with more calculated precision.
When designing microservices, it is essential to choose the right programming language, database, and communication tools that best suit the application stack. Popular languages for microservices development include Java, JavaScript, and Python. The choice of database should prioritize scalability, availability, and security while supporting the data model planned for use in the microservice.
Several communication formats and protocols can be used to assist microservices communication, including HTTP/REST, gRPC, and AMQP. Monitoring application performance is crucial, employing logging and observability tools to keep track of operations such as message broker streams and database resource utilization.
Five key principles for designing a successful microservice architecture include loose coupling and strong cohesion, evolvable design, automation for scalability, decentralized data management, and planning for operational disruptions. Implementing these principles can help ensure top performance in a microservices-based application.
May 01, 2023
1,307 words in the original blog post.