The End of the Beginning for Apache Cassandra

Editor’s note: This story originally ran on July 27, 2021, the day that Apache Cassandra 4.0 was released.

Today is a big day for those of us in the Apache Cassandra community. After a long uphill climb, Apache Cassandra 4.0 has finally shipped. I say finally because it has at times seemed like an elusive goal. I’ve been involved in the Cassandra project for almost 10 years now and I have seen a lot of ups and downs. So I feel this day marks an important milestone that isn’t just a version number. This is an important milestone in the lifecycle of a database project that has come into its own as an important database used around the world. The 4.0 release is not only incredibly stable in the history of Cassandra, but it’s also quite possibly the most stable release of any database. Now it’s ready to launch into the next 10 years of cloud-native data; it has the computer science and hard-won history to make a huge impact. Today’s milestone is the end of the beginning.

Useful Links for Azure Users

It’s been a busy week here for Brian and I, lots of stuff going on. We did have time to collect some links however, which I share with you now. Enjoy!

Source: http://blogs.msdn.com/b/silverlining/archive/2012/02/03/pie-in-the-sky-february-3rd-2012.aspx

Top Six Kubernetes Best Practices for Fleet Management

Provisioning a Kubernetes cluster is relatively easy. However, each new cluster is the beginning of a very long journey, and every cluster you add to your Kubernetes fleet increases management complexity. In addition, many enterprises struggle to keep up with a rapidly growing number of Kubernetes clusters spread across on-prem, cloud, and edge locations—often with diverse Kubernetes configs and using different tools in different environments.

Fortunately, there are a number of K8s best practices that will help you rein in the chaos, increase your Kubernetes success, and prepare you to cope with fast-growing and dynamic Kubernetes requirements. This blog describes six strategic Kubernetes best practices that will put you on the path to successfully managing a fleet.

Deployment of Low-Latency Solutions in the Cloud

Traditionally, companies with low-latency requirements deployed to bare-metal servers, eschewing the convenience and programmability of virtualization and containerization in an effort to squeeze maximum performance and minimal latency from “on-premises” (often co-located) hardware.

More recently, these companies are increasingly moving to public and private “cloud” environments, either for satellite services around their tuned low-latency/high-volume (LL/HV) systems or in some cases for LL/HV workloads themselves.  

OPC-UA, MQTT, and Apache Kafka: The Trinity of Data Streaming in IoT

In the IoT world, MQTT (Message Queue Telemetry Transport protocol) and OPC-UA (OPC Unified Architecture) have established themselves as open and platform-independent standards for data exchange in Industrial Internet of Things (IIoT) and Industry 4.0 use cases. Data streaming with Apache Kafka is the data hub for integrating and processing massive volumes of data at any scale in real-time. This article explores the relationship between Kafka and the IoT protocols, when to use which technology, and why sometimes HTTP/REST is the better choice. The conclusion explores real-world case studies from Audi and BMW.

Industry 4.0: Data Streaming Platforms Increase Overall Plant Effectiveness and Connect Equipment

Machine data must be transformed and made available across the enterprise as soon as it is generated to extract the most value from the data. As a result, operations can avoid critical failures and increase the effectiveness of their overall plant.

Package and Deploy a Lambda Function as a Docker Container With AWS CDK

One of my previous blog posts covered how to build a Serverless backend for Slack using by using Lambda Function URL as a webhook. Since I wanted to focus on the application itself, the infrastructure setup part was simplified - using AWS CLI, the function was packaged as a zip file, configured and finally, a Function URL was created along with the required permissions.

In this blog, you will end up deploying the same solution, but this time using IaaC (Infrastructure-as-code) with AWS Cloud Development Kit (CDK) which is a framework for defining cloud infrastructure in code and provisioning it through AWS CloudFormation. You can choose from a list of supported programming languages (at the time of writing - TypeScript, JavaScript, Python, Java, C#/.Net, and Go (in developer preview)) to define your infrastructure components as code, just like you would with any other application!

The Most Popular Kubernetes Alternatives and Competitors

Kubernetes is an open-source container orchestration tool developed by Google and is also known as K8s. It is used in managing the complete lifecycle of containerized applications. Kubernetes provides high availability, scalability, and predictability to the containerized application. It automates the deployment, management, and scaling of containerized applications. Kubernetes also supports automated rollout and rollbacks,  service discovery, storage orchestration, scaling, batch execution, and more. Kubernetes provides the cluster where containerized applications can be deployed. Kubernetes is not the only container orchestration tool, but various “Kubernetes Alternatives” are available in the market.

Before we talk about the “Alternatives to Kubernetes,” let’s explore the key components of Kubernetes. The Kubernetes cluster consists of at least one worker node where containerized applications are deployed and one master node or control plane which manages the worker nodes. The Control plane or master node consists of Kube-API server, etcd, Kube-scheduler, and Kube-controller-manager, whereas the worker node consists of Kubelet, Kube-Proxy, and Container Runtime. 

Run Containers and VMs Together With KubeVirt

Although many enterprises have deployed Kubernetes and containers, most also operate virtual machines. As a result, the two environments will likely co-exist for years, creating operational complexity and adding cost in time and infrastructure.

Without going into the pros and cons of one versus the other, it’s helpful to remember that each virtual machine or VM contains its instance of a full operating system and is intended to operate as if it were a standalone server—hence the name. By contrast, in a containerized environment, multiple containers share one instance of an operating system, almost always some flavor of Linux.

Portfolio Architecture Examples: Retail Collection

This article is a continuation of a series of posts about our project named Portfolio Architectures. The previous post, Portfolio Architecture Examples: Healthcare Collection, begins with a project overview, introduction, and examples of tooling and workshops available for the project.  You may want to refer back to that post to gain insight into the background of Portfolio Architectures before reading further.  

Retail Collection

The collection featured today is centered around architectures in the retail industry. There are currently seven architectures in this collection. We'll provide a short overview of each, leaving the in-depth exploration as an exercise for the reader.

Leveraging Change Data Capture for Fraud Detection using Arcion Cloud

During the height of the business intelligence (BI) craze earlier in my career, I worked with an internal reporting team to expose data for extract, transform, and load (ETL) processes that leveraged data structures inspired by Ralph Kimball. It was a new and exciting time in my life to understand how to optimize data for reporting and analysis. Honestly, the schema looked upside down to me, based on my experience with transaction-driven designs.

In the end, there were many moving parts and even some dependencies for the existence of a flat file to make sure everything worked properly. The reports ran quickly, but one key factor always bothered me: I was always looking at yesterday’s data.

AWS Serverless Lambda Resiliency: Part 2

In this series of articles, we are addressing the patterns for the resilience of cloud-native serverless systems. Please refer to article one for the introduction of this series.

Pattern 3: Lambda Synchronous Invocation and Circuit State Validated by API Gateway and Leveraging Fallback Switchover

In this option, let's consider Lambdas serving synchronous requests through the API gateway. In this option, the API Gateway starts sending traffic to the fallback service when there are issues with the external service.

Using AWS Lambda Function URL To Build a Serverless Backend for Slack

A combination of AWS Lambda and Amazon API Gateway is a widely-used architecture for serverless microservices and API-based solutions. They enable developers to focus on their applications, instead of spending time provisioning and managing servers.

API Gateway is a feature-rich offering that includes support for different API types (HTTP, REST, WebSocket), multiple authentication schemes, API versioning, canary deployments, and much more! However, if your requirements are simpler and all you need is an HTTP(S) endpoint for your Lambda function (for example, to serve as a webhook), you can use Lambda Function URLs! When you create a function URL, Lambda automatically generates a unique HTTP(S) endpoint that is dedicated to your Lambda function.

Portfolio Architecture Examples: Automation Collection

This article is a continuation of a series of posts about our project named Portfolio Architectures. The previous post, Portfolio Architecture Examples: Healthcare Collection, begins with a project overview, introduction, and examples of tooling and workshops available for the project.  You may want to refer back to that post to gain insight into the background of Portfolio Architectures before reading further.  

Automation Collection

The collection featured today is centered around automation architectures. There are currently six architectures in this collection and we'll provide a short overview of each, leaving the in-depth exploration as an exercise for the reader.

Portfolio Architecture Examples: Finance Collection

This article is a continuation of a series of posts about our project named Portfolio Architectures. A previous post, Portfolio Architecture Examples: Healthcare Collection, begins with a project overview, introduction, and examples of tooling and workshops available for the project.  You may want to refer back to that post to gain insight into the background of Portfolio Architectures before reading further.

Finance Collection

The collection featured today is centered around architectures in the financial services industry. There are currently two architectures in this collection. We'll provide a short overview of each, leaving the in-depth exploration as an exercise for the reader.

PodSecurityPolicy Is Dead, Long Live…?

In Kubernetes, security isn’t done for you. By default, workloads will run with administrative access, which might be ok if there is only a single application running in the cluster. This is seldomly required (you probably don’t need Kubernetes) and you’ll consequently suffer a ‘noisy neighbour effect’ along with large security blast radiuses.

Many of these concerns were addressed by PodSecurityPolicies which have been present in the API since the very early days of Kubernetes version 1.0.

Citrix: Understanding Architecture and How User Gets Citrix VDI

As we all are used to working from home, we know how our organization restricts their employee to work in a secure manner irrespective of where are they. Citrix plays a major role to make life easy for organizations and keep its show running in any situation. Citrix is a popular tool that provides VDI (Virtual Desktop Infrastructure) to work from anywhere. They are experts in application and desktop virtualization, dedicated and shared VDI offering, and accessing through a thick and thin client. You can install workload on-premise, and Azure/GCP cloud. 

Today we are going to discuss the major components in Citrix architecture and the role of individual components. Additionally, we will learn about User VDI access flow.

5 Common Step Functions Issues

Step Functions, the serverless finite state machine service from AWS. With DynamoDB, Lambda, and API Gateway, it forms the core of serverless AWS services. If you have tasks with multiple steps and you want to ensure they will get executed in the proper order, Step Functions is your service of choice.

It offers direct integrations with many AWS services, so you don’t need to use Lambda Functions as glue. This can improve the performance of your state machine and lower its costs.

Diagrams as Code: The Complete How-to-Use Guide

We're seeing more and more tools that enable you to create software architecture and other Diagrams as Code. The main benefit of using this concept is that majority of the Diagrams as Code tools can be scripted and integrated into a built pipeline for generating automatic documentation. The other benefit responsible for the growing use of Diagrams as code to create software architecture is that it enables the use of text-based tooling, which most software developers already use. Furthermore, text is easily version-controllable and diff’able.

Table of Contents

  • What is Diagram as Code?
  • How to install Diagrams
  • How to use Diagrams
  • Conclusion