Posts

MCP Learning Series - Part 1

Image
  In this series, we’ll explore what MCP is and dive into the core concepts behind it. MCP, or Model Context Protocol, provides a unified interface that allows agentic systems to access tools and data sources in order to perform tasks. Without MCP, applications connect to external tools or data sources using traditional APIs. For example, if a data source exposes a REST endpoint such as https://datasource.com/v1/get_employee_data , the application simply makes a GET request to that URL to retrieve the data. Whenever an endpoint changes, the application must be updated to call the new endpoint. If an application depends on multiple APIs — for example, ten different endpoints to complete a single task — the codebase becomes tightly coupled to those endpoints, increasing complexity and maintenance overhead. This is exactly the kind of integration problem MCP is designed to solve. What MCP solves? MCP works by exposing the tools and capabilities it provides. Client applications can si...

Session ID vs Session Token

Image
  In this post  we will see what is a session token and session ID. Imagine, you are want to travel is a train and you buy a ticket. The ticket is valid for a certain amount of time. You can travel any number of times as long as the ticket is valid.  Ticket is the "Session Token". Let's compare with distribute systems. When you login to the banking website, it prompts the user to enter with "Username: and "Password". Upon successful authentication, the authentication server generates a session token. This session token is valid for a certain amount of time. With this token, the user can make future requests in the banking site like checking balance, fund transfer. Once the token is expired, the user must "Re-Authenticate". Then, What is Session ID? When a user log to the banking website, server create a session token post verifying credentials. Then, the server creates a session ID. Server stores the token inside the session data. Server gives the...

AWS CloudWatch Synthetics Canary

Image
  Synthetic monitoring — often called synthetic canaries — is your system’s way of sending fake users through your application to make sure everything is working, even when no real users are around. It’s proactive, predictable, and designed to catch issues before customers feel the pain. Synthetic monitoring is automated, scripted traffic that runs on a schedule to test your application’s key flows. A “synthetic canary” is simply: A small, automated script that runs repeatedly to detect problems early — like a canary in a coal mine. It’s not tied to deployments. It’s not real user traffic. It’s not a canary release. It’s a monitoring probe . Creating Canary in AWS: I am going to configure canary for this demo endpoint  https://dummy.restapiexample.com/api/v1/employees Click on “Create Canary”. Select “Heartbeat monitoring”. If you would like to save the screenshot of the output to a S3 bucket, enable the checkbox. Select the regions from where API must be tested. ...

Principal SRE - Interview Question

Image
  Sharing some of the interview questions for the role of Principal SRE from Apple: 1) Tell me about a production outage you’ve handled that had ambiguous symptoms. How did you narrow it down? 2) How do you decide what belongs in an SLO, and how do you avoid overengineering it? 3) You inherit a platform with strong uptime but high operational toil. What do you change first? 4) How do you handle a disagreement with product leadership when reliability work competes with feature delivery? 5) A service is scaling rapidly and latency is degrading under load. Walk me through your approach. 6) What does “good observability” mean to you in practice? 7) Describe how you would lead a major incident. 8) What’s your philosophy on automation in production operations? 9) How do you evaluate whether an architecture is resilient enough? 10) You’re the on-call SRE for a globally used service. At 2:00 AM, error rates jump from 0.2% to 8%, latency doubles, and one region is still healthy wh...

Deploying a Java Code using AWS EC2

Image
  In this post, we will see how to deploy the JAR on a EC2 instance with Auto Scaling Group with Load Balancer. We can do the same using AWS Code Deploy with orchestration using AWS Code Pipeline. We are taking a different path. In the previous post, https://rsinfomindss.blogspot.com/2026/04/aws-codebuild.html  Once the build is stored in the S3. We have to perform the below steps in a EC2 instance to run the code. 1)        Download Java. 2)        Create a folder for the application. 3)        Download the JAR from S3. 4)        Start the JAR. I will start with creating a Launch Template. Refer to https://rsinfomindss.blogspot.com/2023/04/aws-launch-template.html  Make sure IAM EC2 instance profile is create with the permission to download S3 objects (JAR) from the EC2 instance. Refer to example below. S3 bucket "demo-java-application-a...

AWS CodeBuild

Image
  AWS CodeBuild is a fully managed build service that compiles source code, runs tests, and produces software packages that are ready to deploy.   With CodeBuild, you don’t need to worry about provisioning and managing your own building infrastructure.   You simply provide your build project’s source code and build settings, and CodeBuild handles the rest. With AWS Code Deploy, you can avoid the manual process of deploying code, reduce the risk of errors and downtime, and improve the overall efficiency of your deployment process. For example, if you have a web application that you want to deploy , you can use CodeBuild to compile your source code, run unit tests, and produce a deployable package.   What is Buildspec file for Codebuild? The Buildspec file is a configuration file used by AWS CodeBuild to define how to build and deploy your application or software project. It is written in YAML or JSON format and contains ·     ...