Posts

Showing posts from March, 2021

Observability Done Right: Best Practices and Anti-Patterns for Effective System Monitoring

Image
  WHAT Observability is a concept that refers to the ability to gain insights into the behavior and performance of complex systems. In the context of software engineering, observability involves the collection, analysis, and visualization of data from software applications, infrastructure, and other components of a system. In the animal kingdom, observability plays a critical role in survival, allowing animals to monitor their surroundings, detect threats, and find food. Dolphins use echolocation to observe their surroundings. They emit high-frequency sounds that bounce off objects, allowing them to create a 3D map of their environment. Thanks for reading Knowledge Cafe! Subscribe for free to receive new posts and support my work. Subscribed WHY In today's era, architectures are becoming increasingly large, complex, and fast-paced due to the faster development and deployment of software by distributed teams with the help of DevOps, continuous delivery, and agile development methodo...

Online Conferences to attend

Image
  There are hundreds of conferences around the world but this year many of them are online and available to everyone who is interested to join. Below is the list of conference I am interested. Some of the conferences are free and some are with entry fees.  Date of Conference Name of Conference URL 30 March -31 March Global Summit for Java Devs’21 https://java.geekle.us/ 13 Apr – 16 Apr Jpoint jpoint.ru 27-28 April DeveloperWeek Europe 2021 https://www.developerweek.com/europe/ 29-Apr Conf42 Cloud2021 https://www.conf42.com/cloud2021 4 May to 7 May Kubecon-Cloud native https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/ 11 May- 12 May IBM Think https://www.ibm.com/events/think/ 20-May Apidays India 2021 https://www.apid...

About Service Discovery

Image
  In today's integrated world, communication is key to success. Inter service communication is plays very important part in service oriented architecture's success.  Lets try to understand importance of service discovery and service mesh in service oriented architecture.   In earlier days of monolithic architecture was the norm. Oxford's dictionary define monolith as " a large, impersonal political, corporate, or social structure regarded as indivisible and slow to change " Monolithic application has multiple modules in one package like authentication module, integration module, data access module, business rules module etc. Lets take simple example of banking application where we have modules like Accounting module, User module etc. When one module want to integrate with other module it will make rpc call or function call, which generally don't involve any network call.  Below are some limitations of monolithic applications  Application become large and di...

Apache Kafka Use cases

Image
Kafka was created first in the tech labs of LinkedIn – the world’s biggest network of professionals. Apache Kafka is the most popular open-source stream-processing software for collecting, processing, storing, and analyzing data at scale. Most known for its excellent performance, low latency, fault tolerance, and high throughput, it's capable of handling thousands of messages per second. Website activity tracking(E commerce) Website activity (product views, product searches) is published to customer activity topics and becomes sourced to real-time processing, offline analytics to tool like Google’s BigQuery, Azure CosmosDB, RedShift. Real time Fraud detection Juniper Research estimates online FDP (fraud detection and prevention) spending is all set to touch $9.3 billion by 2022. Real-time data streaming helps to spot anomalies – that is peculiar and abnormal instances that deviate from the usual way of operation. These anomalies can be classified as fraud or errors. Apache Kafka he...

Kotlin | Null Safety

Image
  Kotlin tries to solve most infamous java problem which is "NullPointer Exception". There is less possibility of of seeing this exception in Kotlin but due to developer mistake or 3rd party library issues we might see this exception in Kotlin program as well.  Let's see it in action: Kotlin allows you to define two type of references nullable and non-nullable, this give programmer information about usage of variable at compile time.  Non-nullable string: fun main (args: Array<String>) { var myName : String = "Amit" myName = null // Compilation Error var nullableName : String ? = "This is nullable Variable" nullableName = null // Compiler is not complaining } It will be unsafe to do method call on nullable object types and compiler will prevent us to do so. fun main (args: Array<String>) { var nullableName : String ? = "This is nullable Variable" //UnSafe ...