Replies: 9 comments 22 replies
-
Azure Container Apps are the equivalent of Google Cloud Run (auto-scaling container apps, billed per CPU second). This could be a good alternative to managing a full kubernetes cluster @KillerX |
Beta Was this translation helpful? Give feedback.
-
Maybe common tech isnt the way to go, only API standards? I'm scared to end up in a scenario we're locked in to using a unmaintained, legacy framework (and hard to understand because of a bunch of abstractions). Anyway, a framework is probably a waste of time if we're only talking about 10 services. I don't see us needing to have many tens of microservices, which Dapr seems to be built for. |
Beta Was this translation helpful? Give feedback.
-
We discussed this a bit in a meeting but I want to leave a note here so it does not get lost. Longer version:
This is just short part of all requirements, I have 2 documents ready that you can read, which go more in-depth at |
Beta Was this translation helpful? Give feedback.
-
"At the same time we want to align more strongly on the way we do things so that the end products are also aligned" There are different areas:
In the listed areas we can't really agree on something and decided to go with a more flexible approach. Authentication and Json APIs are really easy to agree on. In general I think it's best to pick the best tool for the job and not worry about everybody trying to use the same tool. But I don't think that our tools need to be aligned, so that the end products are aligned. Those are 2 independent things. |
Beta Was this translation helpful? Give feedback.
-
I personally have just read a little of the documentation of dapr I think it's a good idea but we must take more time to study the solution in depth and test it with our services. I imagine that our services will increase more and more |
Beta Was this translation helpful? Give feedback.
-
I agree with @kkuepper here for the most part: we don't need to restrict ourselves to one tool in each category to align better end products. |
Beta Was this translation helpful? Give feedback.
-
In our "playground" we have a huge benefit of using core(shared) services (boilerplates) for our microservices so that we don't need to do everything from scratch everytime. We consider to create NuGet packages so it will be easier to use. I vote for empowering product/project teams by allowing them using of technologies they are most comfortable with (or depending on a use case). At least on the backend side :) But an alignment within frontend (UI/UX), or way how we do stuff on the front end makes much more sense for me. |
Beta Was this translation helpful? Give feedback.
-
My few cents about Web components. On the first look it seems as interesting solution, but digging deeper I'm afraid it will be too problematic. Cons:
If you google articles with Web Components limitations or flaws one the web there are many examples with developers issues and those solutions are in progress or they are temporary workarounds. Many of those issues don't exists in React or Vue ecosystems. For me Web Components still have to many issues which I cannot accept as developer nowadays - maybe in next years they will solve some of current limitations or issues. It doesn't make sense in my opinion use risky technology with poor support if we have already mature technologies on the market (like React or Vue) which were publicly released above 8 years ago and they solved many issues in their ecosystems. |
Beta Was this translation helpful? Give feedback.
-
https://konghq.com/ can be interesting as an api gateway. It's open source and used by big names. |
Beta Was this translation helpful? Give feedback.
-
At a very high level I think the following could be a start:
dapr.io has been mentioned as a distributed application framework. It allows services to be developed in all the languages we love (node, C#, golang) and connects to different messaging services (pub/sub, azure service bus etc) - but probably runs best on Kubernetes. Perhaps there are other similar frameworks?
In addition, creating a consolidated set of public APIs might be best achieved by putting them behind an API Gateway. Again - this could be anything from a simple nginx proxy to a managed API Gateway service like Apigee. Again, are we at a stage that we should consider Kubernetes?
On the front-end side of things, we may need to define some "contracts" on how different modules should interact. Authentication is fairly straight forward, but things like navigation are a bit more tricky when combining web components. Perhaps there are some good frameworks or standards out there too?
I would love to hear all of your thoughts on how we can / should align and if there are frameworks or services (if any) that should or could form part of our "standard": backend, front-end, for messaging, for publishing APIs.
So what do we really want to achieve?
Ultimately we want to reduce coupling between services so that new services can quickly and independently be built, deployed, run (and replaced).
At the same time we want to align more strongly on the way we do things so that the end products are also aligned (consistent APIs, consistent user interfaces) and we have a larger pool of shared knowledge (reduce dependency on a single persons, faster incident resolution due a greater pool of experts with relevant knowledge etc.)
Beta Was this translation helpful? Give feedback.
All reactions