Posts

Showing posts with the label Cloud

Microservices based Cloud Native Application - Part III

Preview: This is the third post in the series of Microservices based application development. The entire series could be found here: Microservices based Cloud Native Application - Part I Microservices based Cloud Native Application - Part II Microservices based Cloud Native Application - Part III Overview: Continuing from previous posts, in this post, I'm going to write about a few challenges which I faced while implementing the Microservices and how did I address them. This might hopefully help other folks who might run into similar issues. Challenges faced while implementing Microservices: Issue 1: While using Zuul API, I was getting the following exception, when the angular JS application, invoked the Zuul service. com.netflix.zuul.exception.ZuulException: Forwarding error at org.springframework.cloud.netflix.zuul.filters.route.RibbonRoutingFilter.forward(RibbonRoutingFilter.java:132) at org.springframework.cloud.netflix.zuul.filte...

Microservices based Cloud Native Application - Part II

Preview: This is the second post in the series of Microservices based application development. The entire series could be found here: Microservices based Cloud Native Application - Part I Microservices based Cloud Native Application - Part II Microservices based Cloud Native Application - Part III Overview: Continuing from my previos post, I'm going to explain in detail, three concepts which are essential ingredients of a Microservices Architecture. Service Discovery API Gateway Circuit Breaker Service Discovery: In a Microservices environment, we will have multiple services and when the same is deployed in a Cloud Environment, we will  have multiple instances of each service. In such a scenario, we need services to be self discover-able. This will help in two ways.  First, when one service invokes another service, it needs to know the actual location where it is hosted and which instance it should point to. Second, in a ...

Microservices based Cloud Native Application - Part I

Image
Preview: In this post, I'm going to write about an application based on Microservices Architecture, which I presented in the Cloud Foundry Meetup.  The entire series link could be found here: Microservices based Cloud Native Application - Part I Microservices based Cloud Native Application - Part II Microservices based Cloud Native Application - Part III Application Use Case: The application is a miniature LinkedIn kind of application, which was built to demonstrate the key aspects of a Cloud Native application. Application Features: The app allows users to build their profile with experience details, their skills, certifications.  The app allows the users to connect with other users and they can endorse skills and also recommend other users. Application Architecture: The application uses Microservices Architecture, which consists of loosely coupled, independently evolvable/deployable services. It uses polyglot persistence....

Microservices using Pivotal Cloud Foundry

Have you ever faced the following issues in your projects: 1. Roll out features quickly to production: The customer needs very minor changes to functionality/UI and would like that to be rolled out at the earliest, because they have a higher business impact. However, we are not able to deliver it, because though it is a small change, we have to go through the whole nine yards of release processes involving full regression etc.  2. Move your application from one datacenter to another: You need to move your application to a different data center in a different geography due to various reasons (like legal, merger and acquisition etc). This might seem to be a herculean task to you. More often than not, you would get caught in a web of discovering (often surprising yourself!), a myriad of system configurations spread across file system, database, even worse within the code!!!. This is only going to make your task even more daunting. 3. Scale out your application based on modul...