Tag: architecture

What is Special in HTTP 2.0?

Useful Points: Unlike text protocol HTTP/1.0 & HTTP/1.1, HTTP/2.0 is binary based protocol. So tools like curl are needed to make requests instead of plain telnet. The TCP connection is now multiplexed for multiple requests. So a client should open only one connection. Few browsers support HTTP/2.0 with only TLS. The compression of data is not encouraged. Reference https://ma.ttias.be/architecting-websites-http2-era/

Discussion on Microservices Integration

Discussion on Microservices Integration Microservices is a distributed system pattern and components need to communicate through the network. If communication data includes internal technical details of participating components, the system loses the property of loose-coupling. If a change in one service causes changes in many other services, we lose the property of high-cohesion. An unreliable network and added latency for…

goto: Modern Continuous Delivery

The presentation https://www.youtube.com/watch?v=wjF4X9t3FMk is a great touch base on microservices deployment and development flow. The key ideas are the following: Security is needed at every step of the microservice lifecycle. End to end testing is essential. Production test is also important using a canary, red-blue strategy. Continuous integration and deployment are best modeled in a pipeline. Docker, Kubernetes are here…

MVC Explained

MVC is an architecture to separate an application in three cohesive, loosely coupled verticals. Model: The data of your application and methods to access it. View: The final output/expected result. Controller: The interface that handles requests from the model I’m trying to map it to a Linux Filesystem (e.g. ext2). Model: The file system block manager and allocator for the…

What is a Data Platform?

Over time, organizations need to go beyond a single DB for querying and storing data to a set of DBs that cater to different business requirements. A Data Platform might comprise: Search Index A relational DB NoSQL DB Data Warehouse Why a Data Warehouse? It is a subject of interest to understand how the application uses the DB. The inspection…

Simplifying go-kit toolkit for Microservices – Part I

Introduction go-kit is one of the most complete and flexible toolkits for developing microservices in Go language. At the same time, the learning curve of go-kit is steep. In this post, I’m trying to explain go-kit fundamental components using general purpose client-server model of Linux. General Purpose Client-Server Architecture A server in Linux binds & listens on a port, accepts…

Istio: A Novice Explanation

Istio: A Novice Explanation What is ISTIO A microservices manager A service mesh based system. Service mesh means a system built with many microservices 🙂 Manages traffic, policies for authorization, encryption, load balancing, tracing, logging (all repetitive tasks are clubbed in ISTIO) It is another layer on a microservice. ISTIO is hosted on the same container/VM of your microservice. How…

Architecture Pattern: CQRS

Command and Query Responsibility Segregation provides excellent decoupling for shared data at a nominal price of higher latency for latest data. It fits very well in micro service architecture for cases of data sharing among services where one service is a reader and another a writer. Implementation Suppose there are two serviceA & B that need to share a database.…

Opera Browser: Architecture

Opera is built on Chromium project. Chromium is an open  source project that uses WebKit, a free and open source rendering engine. WebKit is open sourced by Apple. So, Google Chrome and Opera resemble a lot. They use process for each tab and look similar. The benefit of using processes to handle tabs is: Better security for browser as processes…