Skip to main content

Posts

Showing posts with the label Microservices

AWS: Securing Internal APIs : A Deep Dive into REST API Security with AWS API Gateway and Microservices Integration Challenges

REST API Security | AWS API Gateway | Microservices Problem Statement We built a web application and some APIs for core functionalities of the application hosted in AWS Public Cloud. This is an internal application, and the API endpoints should be private, whereas the APIs are resolved outside the Enterprise network with the default endpoint generated in API Gateway. Hence, there is a need for a solution to set the API private. Impact Analysis The Web application is hosted in S3 as static hosting. The S3 bucket is set to private with the VPC-Endpoint policy as per the Client’s infrastructure standards. As per the current design, the application connects via an API Gateway and an internal ALB to the Java Microservices hosted in ECS containers in a private VPC. Current Integration Flow: Web client → React App (S3) → API Gateway → Internal ALB → ECS (Java Services). The current design uses AWS API Gateway with HTTP integration, which is public. Hence, we thought simply switching the integ...

Solution Architecture: 11 Key factors in choosing right technology stack for enterprise applications

Choosing right technology stack! A vital part of creating solution architecture is the selection of technologies for each of the components. As a solution architect, when choosing a technology, you should look at it from an architecture and development perspective as well to build resilence with agile business solutions. One of the hardest things about technology selection is that for every problem there are several technology options and a lot of information available about them. Fortunately, selecting the right technology is not that tricky and you can quickly trim the options down by considering some of the key factors that we are going to see in this post.  This article is of my thought process, and it's a checklist of non-negotiable considerations for choosing a technology stack or a COTS product based on my hands-on experience in designing and executing enterprise scale applications/services, but the list is not limited to, and does not recommend any specific technology/plat...

Microservices: How to choose right API style that fits to your Solution Requirements gRPC over Restful

Hello Welcome to this post!   An effective API design is vital in a Microservices architecture because all data exchange between services happens either through messages or API calls. REST style is probably the most known as it has become common among the Web API. But lately, the gRPC framework is becoming quite popular to build high performance systems. So, you might get these questions when involving in designing an API architecture. In this post , you would be able to find answers and to understand the capabilities of gRPC framework, features of Protobuf and HTTP/2 protocol and finally overview of common use cases of gRPC over REST API. so, let's keep reading further for technical insights. REST: a brief overview Before we start looking into details of the gRPC framework, let’s take a brief overview of RESTful services first. The standard REST methods built on HTTP 1.x. with well-defined status codes help in identifying cause of problems. Generated contracts, m...

Solutions Architecture Interview Questions Part-2

Solutions Architecture Interview Questions Azure Api management - how to enable security? Can we use Azure valut with public and private keys? What are the configuration required in Api management? What are the Api Gateway policies you defined or explained to your engineers? Service bus - How queuing messages is managed? Azure functions - how to secure from public internet access? When do you apply the CQRS pattern? How do you achieve db replication mechanisam? How is replication managed in NOSQL? Have you done micrososervice architecture? How do you enable replication between microservices ? How domain driven design helps designing the microservices? What is the difference between event-driven and event-source? Have you tried the service bus/event grid? How can a .NET app consume a Kakfa event? through polling or receiving? Have you considered logic apps in your solution? Why? Have you done db modeling? What are Power Apps use cases? Solutions Architecture Questions Part-3