So here's a question we've been talking about at my office. When developing a micro-service on your development machine, do you need to run the whole stack or just the service you're working on? For example, let's I am working on service A, which depends on services B and C. Do I need to run all 3 apps and their data stores locally? We currently will typically point A to the staging B and C. However, we have some lon…
Building Microservices the Lean Way, part 2
31–40 of 44 posts
Re: Building Microservices the Lean Way, part 2
#321.) How are you handling auth? Are you using a home grown solution or using OpenID Connect + OAuth 2.0?
2.) Is the JWT behind the firewall using a pre-shared key?
3.) What does the public token look like and how does the API Gateway perform auth? Does the token passed into the API Gateway contain only a user id? And does the API Gateway have to perform a database query to populate the full user object?
side note: Thanks for writing the article.
Re: Building Microservices the Lean Way, part 2
#33So here's a question we've been talking about at my office. When developing a micro-service on your development machine, do you need to run the whole stack or just the service you're working on? For example, let's I am working on service A, which depends on services B and C. Do I need to run all 3 apps and their data stores locally? We currently will typically point A to the staging B and C. However, we have some lon…
Can't speak for the author, but I can tell you what we do in our company, which is also completely microservice-based. Backstory: We used to have a helper tool that allowed a developer to run any app locally. It tried to set up the same stack as we were using in production: HAproxy, Nginx, Ruby, Node, PostgreSQL. It was problematic, because people had machines that differed slightly: Different versions of OS X (or Li…
Thanks!
Re: Building Microservices the Lean Way, part 2
#34> The services are considered to be in a trusted network and are accessed by a private token passed in the ‘Authorization' header plus the user id of the requester in an ‘X-USER’ header. This reads like the user ID is exposed in a header without any sort of encryption.
What does 'trusted network' mean to you? A lean quick service is not going to want to wait on encryption handshaking.
Re: Building Microservices the Lean Way, part 2
#35So here's a question we've been talking about at my office. When developing a micro-service on your development machine, do you need to run the whole stack or just the service you're working on? For example, let's I am working on service A, which depends on services B and C. Do I need to run all 3 apps and their data stores locally? We currently will typically point A to the staging B and C. However, we have some lon…
It lets us spin up a service + all dependent services locally with a single command.
Re: Building Microservices the Lean Way, part 2
#36Is it just me or this is a tech homeopathy article?
Even for the recently posted free 3-chapters from NGINX micro services book - while skimming, I had this constant feel of "show me the code".
Re: Building Microservices the Lean Way, part 2
#37So here's a question we've been talking about at my office. When developing a micro-service on your development machine, do you need to run the whole stack or just the service you're working on? For example, let's I am working on service A, which depends on services B and C. Do I need to run all 3 apps and their data stores locally? We currently will typically point A to the staging B and C. However, we have some lon…
You should check out a tool we built to solve this problem at Clever: https://github.com/clever/aviator It lets us spin up a service + all dependent services locally with a single command.
Re: Building Microservices the Lean Way, part 2
#38So here's a question we've been talking about at my office. When developing a micro-service on your development machine, do you need to run the whole stack or just the service you're working on? For example, let's I am working on service A, which depends on services B and C. Do I need to run all 3 apps and their data stores locally? We currently will typically point A to the staging B and C. However, we have some lon…
Can't speak for the author, but I can tell you what we do in our company, which is also completely microservice-based. Backstory: We used to have a helper tool that allowed a developer to run any app locally. It tried to set up the same stack as we were using in production: HAproxy, Nginx, Ruby, Node, PostgreSQL. It was problematic, because people had machines that differed slightly: Different versions of OS X (or Li…
Re: Building Microservices the Lean Way, part 2
#39So here's a question we've been talking about at my office. When developing a micro-service on your development machine, do you need to run the whole stack or just the service you're working on? For example, let's I am working on service A, which depends on services B and C. Do I need to run all 3 apps and their data stores locally? We currently will typically point A to the staging B and C. However, we have some lon…
Can't speak for the author, but I can tell you what we do in our company, which is also completely microservice-based. Backstory: We used to have a helper tool that allowed a developer to run any app locally. It tried to set up the same stack as we were using in production: HAproxy, Nginx, Ruby, Node, PostgreSQL. It was problematic, because people had machines that differed slightly: Different versions of OS X (or Li…
Re: Building Microservices the Lean Way, part 2
#40Earlier quoted context omitted.
Can't speak for the author, but I can tell you what we do in our company, which is also completely microservice-based. Backstory: We used to have a helper tool that allowed a developer to run any app locally. It tried to set up the same stack as we were using in production: HAproxy, Nginx, Ruby, Node, PostgreSQL. It was problematic, because people had machines that differed slightly: Different versions of OS X (or Li…
We do roughly the same thing, but with Docker and Fig. We're already using Docker to package our services for deployment, so using Fig to spin up a full environment is pretty painless. And Fig also makes it simple to spin up environments for running integration tests as part of CI to ensure that the Docker containers being deployed and used by developers are always in a working state.
One goal is to get rid of Puppet (which is, frankly, a buggy, badly-designed mess) and move to a more dynamic, fluid orchestration system based on discovery and autoscaling.