Enhanced Reactive Dynamodb library was released in 2020 and you are missing out if you aren’t using that for communicating with Dynamodb.

This is a follow up to my blog on basic interaction with Dynamodb —

We now have reactive apis for dynamodb. The enhanced library from dynamodb is better one to use now and this article dwells deeper into how to use that. Github project that we will be referencing throughout:

New “Enhanced” Library

Gradle dependencies required

Enhanced Sync Mode

Dynamodb Enhanced is much more robust and easy to use than com.amazonaws.* classes. For Sync, you just do the below:

To configure…


Intro to Reactive Spring — Spring WebFlux

Photo by Krzysztof Niewolny on Unsplash

Spring with version 5.2 supports reactive programming and reactive systems. Project Reactor, RxJava, Java 9 Reactive were all developed before this and spring uses the project reactor dependency to provide the support via Spring WebFlux.

Links with Overview and the guide are below:

Couple of other useful links:

Usage of Spring Reactive — web flux with Mono and Flux, or Kotlin way using Kotlin Flow

Both of these mechanisms are described in detail in my other article:


Redis is mainly used as in-memory caching solution though it’s much more than that.

Official website:

If it’s the first time you are looking at Redis, the site has a very good 5 mins try it tutorial: https://try.redis.io/

Redis has a competitor in memcached that can be used similarly for object caching.

AWS provides Elasticache which acts as a layer above Redis or Memcached and can be used easily with the AWS SDK for production apps. More details from AWS site and Redis enterprise site below:

More details above ElastiCache with Redis here:


Mongodb — Popular NoSQL database

To run mongodb as docker container,

To view the contents of MongoDB, mongo-express is a good tool. Link: https://github.com/mongo-express/mongo-express. You can install it as another docker container connecting to the mongo docker


Postgres — powerful RDBMS

To run Postgres as docker container, refer to: https://hub.docker.com/_/postgres. Basic steps are:

By default username is postgres, but good to change it to custom username. Providing password is mandatory at the startup time.

pgAdmin 4 is a good tool for viewing the contents of Postgres database. Link: https://www.pgadmin.org/

After that create a new server connecting to localhost 5432 with user/pwd as above to see the data from this app


Different approaches for setting up Kubernetes cluster on AWS

This is the course I referred: https://cloudyuga.guru/courses/ckad-online-self-paced

(As mentioned in my previous post: this is a good one though not specific to AWS: Udemy Course and this is also highly recommended: EdX Course)

Kubernetes

kops

Calls itself “Kubectl for clusters” — an easy tool to create a cluster on AWS.

Steps to get started:


Developer starting fresh on backend services on java/jvm?

Photo by Joel Holland on Unsplash
  • Spring is one of the main frameworks/ecosystem used for developing backend services and definitely the one to use to get started.
  • Spring boot is an opinionated configuration of spring and is again recommended to get started.
  • Spring was designed with Java in mind to run on JVM. But with various programming languages able to run on JVM, spring supports most of these. The new one on the block — Kotlin is my choice and is being widely used for backend services now. It’s often called Java on steroids, so if you know…

On receiving a new Macbook pro laptop, here are the mandatory software/configurations that I do.

Photo by Tobias Lystad on Unsplash

Softwares

  1. Sublime Text (Unlike Atom and VS Code, this isn’t Electron/Javascript based write once run multiple places system)
  2. Bear (Note taking Editor with images, the best one)
  3. Homebrew (Best and easiest way to install software)

Additional softwares using Homebrew

  1. git (The one that comes with Mac OS X is pretty old)
  2. git-extras (Some really useful git commands)
  3. iterm2 (who uses terminal?)
  4. rename (Optional: renaming files quickly)
  5. tree (Optional: for viewing folder structures)
  6. jq (Optional: json file viewing/parsing)

Configurations

Powerlevel10K is an awesome Zsh theme…


This post is about basic intro to Kubernetes and the training/tutorials I took/referenced.

Course: https://www.udemy.com/course/learn-kubernetes/ on Udemy by Mumshad Mannambeth is a good beginner course covering the fundamentals of Docker. This seems to be a few years old but most of it is still relevant. I didn’t try it with GCP (or AWS for that matter) — setting up and exploring kubeadm did take time.

Kubernetes Udemy Course

VirtualBox vs HyperKit

If you are on Mac OS X Yosemite or above, the HyperKit virtualization framework is a better option than Oracle’s VirtualBox as it’s much more lightweight. This comes as part of the Docker desktop for Mac. Ref: https://docs.docker.com/docker-for-mac/docker-toolbox/

Installing VirtualBox from here and then an…


gRPC is an RPC system for client-server communications like Corba, Java RMI, SOAP etc.

gRPC name is a recursive acronym like YAML (Yet Another Markup Language) — gRPC Remote Procedure Call.

[In progress]

bschandramohan

Software Engineer working on Java based Micro-services deployed on AWS cloud. California, US resident currently — born and brought up in Bangalore, India.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store