By Rahul Subramaniam on 28 APR 2021 7:04 AM

Database-Load-Balancing-3-Tiered-Architecture
Database-Load-Balancing-3-Tiered-Architecture

Three-tiered architecture is a myth. You only think you have it. In reality, you have a two-tiered architecture and a dream.

The “traditional” definition of three-tiered architecture says it consists of:

  • A presentation layer
  • An application layer
  • A database layer

True three-tiered architecture allows you to scale or migrate any individual layer with no impact whatsoever on the other two layers — you can make a change in any layer without having to change a single line of code in any of the other layers.

It’s a great idea — it…


Build Gem in Ruby
Build Gem in Ruby

As the name implies, the Ruby programming language thrives thanks to the presence of gems. Like the plugins that came before them, gems are mini-pieces of code used to perform specific duties without interfering with or becoming a direct part of our code. The code required for a gem will still be a part of our project’s ecosystem, but we will ultimately remove some overhead -and avoid unnecessary duplication- by using a gem instead of coding it all up on our own.

So why create a gem? Gems are a helpful byproduct created when you either have a piece of…


Kubernetes-Tutorial-Running-Rails-App-in-Kubernetes
Kubernetes-Tutorial-Running-Rails-App-in-Kubernetes

As stated on their website, “Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.” Here we’ll take a Rails app, create an image using a Dockerfile, and let Kubernetes manage the containers for us.

We will discuss the following:

  • Secrets
  • Deployments
  • Services
  • Running locally via Minikube

Wanna run Rails in Kubernetes? This Kubernetes tutorial will show you how.

Secrets

We’ll start by creating a Kubernetes secret. This secret contains the secret key base and database credentials required by the Rails application. To generate a secret key base, run

$ bundle exec rake secret
8d428e9d27e3323f1b1ec0089482017480224c9984fc10327f95b0990ec46175d43d756fd644c3bca3703a337a94ced69c868ab0470ac201cd1b6a80c3f89e4a

Encode the secret key base using base64.

$ echo -n "8d428e9d27e3323f1b1ec0089482017480224c9984fc10327f95b0990ec46175d43d756fd644c3bca3703a337a94ced69c868ab0470ac201cd1b6a80c3f89e4a" | base64…

Feature velocity is absolutely critical in today’s environment, however so is quality. An initial bad experience for your customer may result in them not coming back. Resolving the issue after the fact may be too late, as a first impression is difficult to change. What then do we do? You can choose to spend more time testing, but you reach a diminishing level of returns while remaining in the lab. There is no substitute for real world operational conditions. There is also no way to know a priori how customers will react to new features. …


Feature velocity is absolutely critical in today’s environment, however so is quality. An initial bad experience for your customer may result in them not coming back. Resolving the issue after the fact may be too late, as a first impression is difficult to change. What then do we do? You can choose to spend more time testing, but you reach a diminishing level of returns while remaining in the lab. There is no substitute for real world operational conditions. There is also no way to know a priori how customers will react to new features. …


Hotwire truly is a game changer for Ruby on Rails web application development. Here’s why.

Hotwire
Hotwire

Photo by Erik Mclean on Unsplash

Once upon a time, I could just write code in Ruby and Rails. Life was good. Then the tyranny of the Single Page Apps (SPA) or Progressive Web Apps (PWA) began, and I was forced to incorporate JavaScript frameworks. Now, I was dealing with two separate worlds. The problem was I didn’t want to leave my Ruby world. I was quite happy there.

More skill sets were needed on the team. Where once we had one technology to mostly…


Containers on Kubernetes is the modern way of deploying, managing and scaling applications in the cloud. At Engine Yard, we’ve always built products that make it easy for developers to deploy applications in the cloud without developing cloud expertise — in other words, we always helped developers focus on their applications; not the plumbing around deployment, management and scaling. In early 2021, we released container support on Engine Yard (called Engine Yard Kontainers, EYK for short). We spent more than a year architecting and building the product. Happy to share the lessons we learned in the process.

Kubernetes is the…


Designing and Launching New Features in Rails
Designing and Launching New Features in Rails

I hope you enjoyed creating some games with Gosu last week. For now, it’s back to business. This installment of Ruby Unbundled kicks off a new thread that looks at two interconnected topics: system design and the launch of new features in Rails applications.

Don’t worry, this series is not about ivory-tower architecture. In fact, it is the polar opposite. Our goal is to help you rapidly develop amazing new capabilities with Ruby-on-Rails and get them in the hands of your customers. …


A NoOps platform can be a benefit to application development teams and address challenges around improving productivity and operational agility.

Like nirvana, world peace, or a free lunch, NoOps is an ideal. But unlike those, NoOps is well within reach. According to Forrester Research , who originated the term NoOps, NoOps means application developers don’t need to worry about infrastructure provisioning and can just focus on developing apps. It promises faster, frictionless app development and deployment, along with improved productivity and agility for developers. …

DevGraph Software

An integrated tool of software development tools to deliver higher productivity and better-quality software.

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