Creating Microservices in Nest.js

Microservices can seem intimidating at first, but they're just regular applications at the end of the day. They can execute tasks, listen for requests, connect to databases, and everything else a standard API or process would do. We only call them microservices colloquially because of how we use them, not because they are inherently small.

This tutorial will demystify the creation and operation of microservices for Node.js developers by creating a microservice using a popular Node.js framework, NestJS. We won’t go into detail about the design or architecture of NestJS applications specifically, so if you’re unfamiliar with the framework, I’d recommend you check out its docs first or skip to one of our Node.js samples that use Express directly.

Request Routing Through Service Mesh for WebSphere Liberty Profile Container on Kubernetes

Introduction

I will demonstrate how to request routing from service mesh to WebSphere Liberty Profile (WLP) application server Docker container image on Kubernetes. Further providing details about Istio Ingress gateway, Gateway, and Virtual service created on istio that routing traffic to Docker image with WLP installed. In the end, we will be seeing from Istio kiali dashboard request routing through Istio ingress gateway and another way directly hitting to service on Kubernetes.

Environment Requirements

1. Refer to the following Kubernetes official website to install and configure the cluster with kubeadm,

Lessons to Learn from Etsy’s DevOps Strategy

Every organization adopting DevOps has stories to tell to the world. Some of them turned out to be success stories, while others are more like lessons to learn. While it's true that Etsy is one of such organizations that benefited a lot from their DevOps adoption, they also learned a few lessons from their mistakes during their journey. Today, we will be talking in brief about those lessons in detail. But first, let’s try to understand why Etsy first became interested in DevOps.

Why Did Etsy Adopt DevOps?

Back in 2005, Etsy’s engineering teams were siloed into developers, operations teams, and database admins. Although the team was relatively small — close to 35 employees — they faced many team collaboration challenges. This barrier was hindering Etsy’s progress as an organization. 

Developer’s Guide to Building Notification Systems: Part 3 – Routing and Preferences

This is the third post in our series on how you, a developer, can build or improve the best notification system for your company. It follows the first post about identifying user requirements and designing with scalability and reliability in mind. In this piece, we will learn about setting up routing and preferences.

Notifications serve a range of purposes, from delivering news to providing crucial security alerts that require immediate attention. A reliable notification system both enables valuable interactions between an organization and its customers and prospects and also drives user engagement. These systems combine software engineering with the art of marketing to the right people at the right time.

How to Debug Microservices in the Cloud

The growth in information architecture has urged many IT technologies to adopt cloud services and grow over time. Microservices have been the frontrunner in this regard and have grown exponentially in their popularity for designing diverse applications to be independently deployable services.

Trivia: In a survey by O'Reilly, over 50% of respondents said that more than 50% of new development in their organisation utilise microservices.

Exploring Kubernetes With Gigi Sayfan

You have probably read about Kubernetes, and maybe even dipped your toes in and used it in a side project or even at work. But understanding what Kubernetes is all about, how to use it effectively, and what the best practices are requires much more effort. Kubernetes is a big open-source project and ecosystem with a lot of code and a lot of functionality. Kubernetes came out of Google, but joined the Cloud Native Computing Foundation (CNCF) and became the clear leader in the space of container-based applications.

Let's hear from Gigi Sayfan, author of the bestseller Mastering Kubernetes, Third Edition, about his methodologies and the approach he followed to create a powerful resource to acquaint learners all over the globe with the fundamentals and more advanced concepts of Kubernetes.

Two Ways to Dockerize Spring Boot Applications

Microservices are often built with the Spring Boot framework and deployed with Docker. This paper looks at two common options for Dockerizing Spring Boot applications. Throughout we will use a simple REST application as a running example.

We will use Spring Tool Suite to build the application, though neither the IDE nor the application matter all that much, as long as we have the pom file. We will assume that the reader has minimal knowledge of Docker, though as we shall see one of the options we will discuss, requires no knowledge of Docker. Here then is the REST controller:

Threat Modelling Tools Analysis 101 – OWASP THREAT DRAGON

Abstract 

An interconnected world with an increasing number of systems, products, and services relying on the availability, confidentiality, and integrity of sensitive information is vulnerable to attacks and incidents. Unfortunately, the threat landscape expands and new threats, threat agents, and attack vectors emerge at all times. Defending against these threats requires that organizations are aware of such threats and threat agents. Threat modeling can be used as part of security risk analysis to systematically iterate over possible threat scenarios.

The motivation for this research came from the constantly growing need to acquire better tools to tackle the broad and expanding threat landscape present. One such tool to help to categorize and systematically evaluate the security of a system, product, or service, is threat modeling.

The Dark Side of Microservices

There is an endless supply of blog posts, white papers, and slide decks, evangelizing the virtues of microservices. They talk about how microservices “increase agility,” are “more scalable,” and promise that when you make the switch, engineers will be pounding at your office door looking for a job.

Let’s be clear, though occasionally exaggerated, the benefits of microservices can be real in some cases. Particularly for large organizations, with many teams, microservices can make a lot of sense. However, microservices aren’t magic — for all of their benefits, they come with significant drawbacks. In this article, I’ll describe how the distributed nature of microservices makes them inherently more complex.

Subtle Art of Leveraging Docker Compose for Test Automation

Powerful, yet subtle.

Many of us over the years have executed test automation against a production-like test environments. By the term "production-like," I mean test environments that have the same set up as a production environment but may or may not have the exact configuration as that of the production environment.

However, when it comes to executing test automation against the test environments, there is always a certain degree of challenge (although solvable) that an engineer faces. Classic examples include:

OpenTracing in NodeJS, GO, Python: What, Why, How?

In previous blogs, we described how to optimize the deployment of applications and utilize guardrails for applications. These guardrails covered:

One additional guardrail in managing your application is to properly implement "Observability". As it turns out, observability is more important than ever because of the shift in application architecture (to a microservices architecture) and increased deployment pace (hourly/weekly vs. quarterly/yearly). Services are dynamically updated and are usually containerized. Hence, the traditional way of adding "monitoring" after the app deployment cannot scale.

Episode 53: Sam Newman Turns Up the Microservices Dial

In Episode 53 of DevOps Radio, host Andre Pino is joined by industry thought leader Sam Newman. Sam is an author, speaker, and independent consultant (previously at Thoughtworks) who specializes in cloud storage and microservices. In addition to sharing more than 20 years' worth of industry insight, Sam provides analogies and examples a plenty for listeners who may still be trying to grasp what a microservice is. Sam jokes that he's been stuck in an enjoyable rut for the last 15 years, working with interesting people like Jez Humble and building the Lego XP game that helped people learn Agile (like many of us, if there's an excuse to buy a Lego, Sam's up for it).

As the author of Building Microservices and an expert on the topic, Sam says organizations need to have a good reason for using microservices. For the listener's benefit, Sam compared microservices adoption to a dial — not a switch — where you steadily continue to turn it up all the time instead of fully committing and flipping the switch right off the bat. He also reiterates that developers need to have a clear understanding of what they're trying to accomplish with microservice adoption, otherwise it can be hard to justify the time it takes to implement.