Microservices on Kubernetes

Kubernetes is an open source container-orchestration system for automating deployments, scaling and management of containerized applications. In this tutorial, you will learn how to get started with Microservices on Kubernetes. I will cover the below topics in details — How… Read More ›

Monolith to Microservices using Strangler Pattern

Transforming your existing legacy monolithic application into cloud native microservice is a nice end goal to have, but the journey is challenging and needs to be well architected and planned. In this article, we will discuss about a design pattern called as ‘Strangler Pattern’ which can assist you in this journey.

Breaking the Monolithic Database in your Microservices Architecture

Handling database changes in your journey from Monolith to Microservice is challenging. In this article, we will understand the problems with Monolithic Database Design and how you can handle your data in a microservice architecture.

Recent Posts

  • Speaking at SteelCity SQL February 2020

    SQL Server 2019 Presentation

    I am excited to be presenting at the Steel City SQL Server UserGroup February Meeting tomorrow. I will be talking about the new capabilities of SQL Server 2019 that have rocked the industry.

  • February 2020 – Third-Tuesday Samford User Groups, Birmingham, AL

    Four User Groups in Birmingham, AL meet at the same time and in the same general location every month.  That makes it a great melting pot to connect and network with people who have similar and tangential interests to your own.  It is a fantastic way to expand or begin your knowledge.

  • Third-Tuesday Samford User Groups, Birmingham, AL – January 2020

    Four User Groups in Birmingham, AL meet at the same time and in the same general location every month.  That makes it a great melting pot to connect and network with people who have similar and tangential interests to your own.  It is a fantastic way to expand or begin your knowledge.

  • The MySQL server is running with the –read-only option so it cannot execute this statement

    In this blog post, I will show you how to troubleshoot an error message displayed while connecting to AWS Aurora indicating that you cannot execute the statement with the read only option.

  • Speaking at Atlanta Code Camp 2019

    I am excited to be presenting at the Atlanta Code Camp this weekend. This will be my 3rd year speaking at this awesome conference. I am looking forward to meeting a lot of folks from the Tech community and having a good time.

  • Lost connection to MySQL server during query

    In this blog post, I will show you how to troubleshoot and resolve connectivity issues with Aurora MySQL RDS Instance.

  • Troubleshooting Issues with AWS Database Migration Service

    In this blog post, I will show you how to debug and troubleshoot issues with your AWS DMS Tasks during the migration of large tables from On-Premise to Cloud.

  • SQL Saturday Birmingham 2019

    SQL Saturday Birmingham 2019 was held at the Brock School of Business – Cooney Hall – Samford University on 27th July. The event was a huge success. We had close to 200 folks registered to the event and had a final turnaround of around 150.

  • SQL Saturday Pensacola 2019

    Just back from SQL Saturday Pensacola 2019, and I would say it was a fun event like always. This was my 3rd consecutive year speaking at the event and I really look forward to this event every year because the Organizing Team including Ed Watson, Karla Landrum, and others does a great job. Pensacola is also the summer holiday gateway for me so I do enjoy this trip.

  • Speaking at O’Reilly Software Architecture Conference 2019

    I am super excited to be presenting at the O’Reilly Software Architecture 2019, San Jose today.  Please join me at 3 PM in Room 210 D/H to learn about building a scalable microservice architecture with Envoy, Kubernetes, and Istio.

  • Smart Pipes and Smart Endpoints with Service Mesh

    Smart endpoints and Dumb Pipes has been one of the design principles for microservices during the last decade. Responsibility of the network is to just transfer messages between Source to Destination. Responsibility of microservices is to handle Business logic, transformation, validations, and process the messages.

  • Visualizing the Istio Service Mesh using Kiali

    Kiali lets you monitor and visualize the Istio Service Mesh from within a single user interface. Kiali lets you view configurations, monitor traffic flow between services and analyze traces. It provides visibility into features likes service health, request routing, circuit breakers, request rate, traffic flow, error rate and more.

  • Chaos Testing your Microservices with Istio

    Chaos Testing is a practice to intentionally introduce failures in your system to test the resiliency and recovery of your microservices architecture. The Mean Time to Recovery(MTTR) needs to be minimized in the current modern day architectures. Hence it is beneficial to validate different failure scenarios ahead of time and take necessary action items to stabilize the system and make it more resilient.

  • Retry Design Pattern with Istio

    Istio Retry Policy

    Retry Design Pattern states that you can retry a connection automatically which has failed earlier due to a network exception. Istio provides a transparent approach of handling application retires in case of such intermittent network errors.

  • Handling Service Timeouts using Istio

    Istio Timeout

    When you encounter latency with your service communication and you are not sure what the root cause is, it is a preferred approach to just not wait for the response. Implementing a timeout strategy between your service to service communication over the network is critical. Istio makes it pretty simple to implement this functionality within your service mesh.

  • Resilient Microservices with Istio Circuit Breaker

    Istio Circuit Breaker

    Circuit Breaker is a design pattern to create resilient microservices by limiting the impact of service failures and latencies. One of the primary goals of the Circuit Breaker pattern is to handle failures gracefully so that no cascading failures occur. In a Microservice landscape, failing fast is critical. Circuit Breaker does a great job in protecting the service from a heavy load.

  • Istio Circuit Breaker with Outlier Detection

    Istio Outlier Detection

    Outlier Detection is an Istio Resiliency strategy to detect unusual host behavior and evict the unhealthy hosts from the set of load balanced healthy hosts inside a cluster. It automatically tracks the status of each individual host and checks metrics like consecutive errors and latency associated with service calls. If it finds outliers, it will automatically evict them.

  • Cloud Native Monitoring with Prometheus

    Prometheus Architecture

    Prometheus is an open source metrics-based monitoring and alerting system. In 2016 the Prometheus project became the second member of the Cloud Native Computing Foundation, after Kubernetes. It has a powerful query language(PromQL) with a multidimensional data model suited to store time series data.

  • Microservices Journey from Netflix OSS to Istio Service Mesh

    Netflix OSS is a set of libraries & framework that Netflix open sourced to solve the issues with designing distributed systems at scale. In this blog post, you will understand the issues with the Netflix OSS libraries and why organizations are adapting the Sidecar Design pattern and Service Mesh technologies.

  • Istio Service Mesh Data Plane

    Istio Architecture

    The Istio Data Plane is primarily comprised of the Envoy proxies which are attached as dedicated sidecars to each application instance. Istio Data Plane intercepts all incoming(Ingress) and outgoing(Egress) network traffic. This and gives us the ability to apply all the features at this layer, without polluting the application code.