Getting Started with Kubernetes and Running locally via Minikube

In today’s world, microservices architecture is taking over pretty much everything. The deployment mechanism that goes with microservers is containers. When you have a lot of containers in your application you need to have a platform to manage those containers. That’s where the Kubernetes comes into the picture.

What is Kubernetes

Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.

Other key features represents,

  • Automatic binpacking
  • Horizontal scaling
  • Automated rollouts and rollbacks
  • Storage orchestration
  • Self-healing
  • Service discovery and load balancing
  • Secret and configuration management
  • Batch execution

On top of everything, it’s a product by Google. They have been running their services on Kubernetes for a long time now. If you are new to Kubernetes, read this article and this article to get started. Further to get to know about its components read this article. Kubernetes Architecture is as follows and you can read about it more here. – Read More –

How to architect a product properly (software architecture)

How’s it going tech folks? I have been silent for a while but decided to make a noise after all. How to architecture your product precisely for it to operate without any abnormalities to meet its non-functional requirements is what I’m going to talk about. If you don’t properly architecture your product it might behave abnormally under a heavy load, could be vulnerable to attacks or even it could face a number of other consequences.

What’s Software Architecture

Let’s see what’s Wikipedia has to say,

Software architecture refers to the high level structures of a software system, the discipline of creating such structures, and the documentation of these structures. These structures are needed to reason about the software system. Each structure comprises software elements, relations among them, and properties of both elements and relations.

What Wikipedia is trying to say here is that the software application architecture serves as the blueprint which defines the structure of the final outcome so that it will meet all of its functional and non-functional requirements while ensuring it is technically feasible. The architecture of any product is the key carrier of its qualities such as performance, security etc. none of which can be achieved without a unifying architectural visualization. It’s a must to have the right balance of the users, system and business aspects to define the best architecture for the product. – Read More –

Couchbase Deployment

Couchbase Cluster Deployment (Installation) on Ubuntu

How’s it going tech folks? I have been using NoSQL for a while now and I like it. So today I’m going to talk about how to deploy (Install) a Couchbase database cluster on Ubuntu.

What’s Couchbase

Couchbase is one of the most popular NoSQL databases. If you are wondering why NoSQL? Read here. Anyway what they say about Couchbase is “Develop with Agility & Operate at Any Scale” and it’s true. If you are looking for the history according to Wikipedia.

Couchbase Server, originally known as Membase, is an open-source, distributed multi-model NoSQL document-oriented database that is optimized for interactive applications.

You can find plenty of articles about Couchbase on the internet. Therefore I’m not going to do an comprehensive introduction here. Furthermore Couchbase has been used in following use cases.

  • Real-Time Big Data
  • Mobile Applications
  • Profile Management
  • Content Management
  • Customer 360° View
  • Internet of Everything
  • Fraud Detection
  • Catalogs
  • Personalization
  • Digital Communication

A big list right? I know you can find more information here. Okay okay I’m not going to beat around the bush. Let’s drive into the deployment (installation).
– Read More –

hadoop 2 deployment on ubuntu

Hadoop 2 Deployment (Installation) on Ubuntu

Hadoop is everywhere and gaining attention like crazy. This is not an article which explains what’s it or how it works because there are a lot of good resources for that. So I don’t want to repeat the same stuff but I’m going to help you to go step further and deploy a Hadoop multi node cluster on ubuntu. Pretty interesting right? If you follow the steps given below you can get it done in 15 mins. Let’s start.

Prerequisites

All you need is

  • Java 1.7 should be installed.
  • 5 Nodes. In my case it’s 192.168.7.87, 192.168.7.88, 192.168.7.89, 192.168.7.90, 192.168.7.91

1. Configure Environment

  1. Let’s create a dedicated user for hadoop who’s hduser.
  2. Configure password-less SSH
    1st you will have to decide which node is going to be the master, the secondary master and the slaves. Then make sure that the master node is able to do a password-less ssh to all the slaves and the secondary master. If you don’t know how to setup password-less ssh refer this article.
  3. Edit /etc/hosts and add the below. Also comment out IPV6.
  4.  Edit hostname file
    In the master node edit the hostname file as shown below.

    just replace the content with master. Now follow the same steps and edit the hostname in other nodes as well. The hostname should be master2, slave1, slave2, slave3 respectively.

– Read More –

REST API Architecture

REST API Architecture – Best Practices

SOA(Service Oriented Architecture) has become a foundation for the most of the application that are developed today. A service oriented architecture is an architectural pattern which enables collection of services to communicate with external/internal parties to pass data or for services coordinating. Let’s start from what’s a service.

What’s a Service/API

A service is a function that is well-defined, self-contained, and does not depend on the context or state of other services.

In other words an interface used by software components to communicate with each other. Let understand the difference between API and Web Services. A Web Service is a type of API, almost always one that operates over HTTP. In the modern world there are two types of web services that are used.

  • SOAP
  • REST

We can’t compare REST and SOAP since SOAP is a protocol and REST is an architectural pattern. People mostly get confused when selecting one for their application. If you are wondering what’s the difference between these two you can get a good start from here and here.

Our today’s focus is on REST. How we can implement a perfect REST API? What are the best practices? Let’s get down to business.
– Read More –

Older Posts