Rehan van der Merwe's Projects
The fastest JSON schema Validator. Supports JSON Schema draft-04/06/07/2019-09/2020-12 and JSON Type Definition (RFC8927)
TypeScript does a great job at compile time type safety, but we still need to do runtime checks just like in JavaScript. There are many packages and tools to help with this, we focused on AJV Standalone that outputs JS validation functions at compile time to be used at runtime. Going from TS Types to JSON Schema to JS functions allows us to validate TS Types where the other packages all work with classes and reflection.
An example for using Amazon Cognito together with an external IdP
The open source version of the Amazon EC2 User Guide for Linux. To submit feedback or requests for changes, submit an issue or make changes and submit a pull request.
Auth0 authentication SDK for Vue.js apps
CDK stacks can be deployed in parallel by generating a cloud assembly output and then specifying the order explicitly.
Autoscaling AWS Elastic Beanstalk, ECS Fargate and Lambda. Read the blog here: https://www.rehanvdm.com/aws/3-ways-to-autoscale-on-aws/index.html
CDK Express Pipelines is a library built on the AWS CDK, allowing you to define pipelines in a CDK-native method. It leverages the CDK CLI to compute and deploy the correct dependency graph between Waves, Stages, and Stacks using the .addDependency method, making it build-system agnostic and an alternative to AWS CDK Pipelines.
This is a demo project for https://github.com/rehanvdm/cdk-express-pipeline
In this post I will explore 4 different methods that can be used to pass configuration values to the AWS CDK. We will first look at using the context variables in the cdk.json file, then move those same variables out to YAML files. The third method will read the exact same config via SDK(API) call from AWS SSM Parameter Store. The fourth and my favourite is a combination of two and three in conjunction with using GULP.js as a build tool.
This repos is an AWS CDK Starter repo. It covers topics like configuration, environments, build systems, CI/CD processes and GitHub Workflows. Read the full blog at: https://rehanvdm.com/blog/aws-cdk-starter-configuration-multiple-environments-cicd
We use CloudFront running a SPA to reverse proxy to an API Gateway backend. This eliminates CORS which can hugely decrease request latency up to 50%.
A Serverless AWS IoT Coffee Monitor solution, read about it on my blog: https://www.rehanvdm.com/serverless/aws-iot-coffee-monitor-part-1/index.html
Demonstrating DynamoDBs high throughput rate, by writing 1 million records in 60 seconds with a single Lambda function streaming from a S3 file and then importing into DynamoDB using the Batch API
A very simplistic Electron + Vue 3 template including ViteJS and Electron Builder
This code is accompanying a blog post here => https://www.rehanvdm.com/serverless/an-unexpected-journey-with-lambda-oracledb/index.html were create a Lambda layer with AWS CDK for the NodeJS Lambda function to consume; this consists of the Oracle Instant Client Basic Lite v19.x libs + the libaio.so.1 file. Developers will need to manually install these as dev dependencies.
Template for packaging multiple lambdas from a single repository without duplicating build files
[Maintenance mode] Serverless Status Page System
A Least Recently Used(LRU) cache stores items in-memory and evicts the oldest(less used) ones as soon as the allocated memory (or item count) has been reached. Storing data in-memory before reaching for an external cache increases speed and decrease the dependency on the external cache. It is also possible to fallback to in-memory caches like an LRU cache in periods that your external cache goes down without seeing a significant impact on performance.
This article documents the thought process and steps involved in refactoring a distributed monolith to microservices. We are going to remove API GW, use Amazon Event Bridge and implement BASE consistency in the system to truly decouple our microservices. We also impliment AWS native observability, monitoring and alerting services.
CDK NodeJS Lamba function microservice used to demostrate AWS native monitoring, alerting and observability
CDK NodeJS Lamba function microservice used to demostrate AWS native monitoring, alerting and observability
CDK NodeJS Lamba function microservice used to demostrate AWS native monitoring, alerting and observability