Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 4 years ago.
Improve this question
In the Micro service architecture , I was reading the concepts the orchestration and choreography. Is any guidelines/suggestions for choosing the Choreography and Orchestration?
Orchestration can be linked with how Orchestra performs i.e when you have control over all the actors in a process - when they're all in one domain of control and you can control the flow of activities. This is ofcourse most often when you're specifying a business process that will be enacted inside one organisation that you have control over.
Choreography is a way of specifying how two or more parties - none of which has any control over the other parties' processes, or perhaps any visibility of those processes - can coordinate their activities and processes to share information and value. Use choreography when coordination across domains of control/visibility is required. You can think of choreography, in a simple scenario, as like a network protocol. It dictates acceptable patterns of requests and responses between parties.
You can choose between Orchestration and Choreography in your Microservices based on what fits best for your use case based something similar lines of above mentioned explanation.
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 11 months ago.
Improve this question
I am developing a number of microservices. They will communicate through azure service bus. I would like the messages to be sent and received as strongly typed objects.
Am I violating the microservice principles by creating a bunch of classes to represent the messages?
I would probably put these classes in a nuget package, that I use in each of the microservices. Any examples or best practice you can point me to on this?
I wouldn't call this 'violation' but rather a design choice. For example, when using wear abstraction such as NServiceBus or MassTransit, you're by design using strongly typed messages. Those are contracts and are expected to be shared between services.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
I'm trying to build Restful API's using NodeJs for a e-commerce application with a minimal functionality like User Accounts, Products, Inventory System, Cart/ Orders, Payments, Wallet/Credit, Delivery Management, Notifications etc.
I wanted to implement this using a microservice architecture.
I do not want to use a any framework, I want to explore and learn myself.
How should I start?
1) On what parameters should I choose a microservice architecture.
2) How should I use the common "terms" like user model, or (products, inventory and orders).
3) Should I build full monolithic App first and then take out the heavy parts out of it, one by one?
A basic guideline that can put me in direction will be very helpful. I'll really appreciate and thank for helping on this subject.
Few considerations before giving you my two cents...
There is no such thing as microservices in Node.js. Microservices is an architectural style based (among the others) on the principle that you should use the right language for the job. So Node.js is one possible choices among many.
Your question is too broad, alright, maybe you should change it in order to narrow down its scope;
I don't think there is a universal or right answer to this question so I can tell you where I would start if I were you.
Please consider these resources to start:
Microservice definition from the bunch of guys that made it up;
microservices architecture is a book introducing microservices. It has an interesting example explaining how to create a shipping company microservices architecture (similar to what you're asking for)
DevOps 2.0 explains how to build and deploy microservices and related pipeline.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 10 months ago.
Improve this question
When it comes to these principles like architecture and Infrastructure how would you describe them? The actual meaning and in development where its used. So for example is it like infrastructure is the actual website and architecture is the plans or so called blue prints (UML) in the background?
Infrastructure is a word used for the underlying components that support the operation of something. In your example, you said a "web site" - so things like load balancers, web servers, database servers, and the operating systems that run those servers would be included in the infrastructure. This can go more granular, to include the details of the data centers that the servers operate in. [power generators, cooling, etc.]
You are correct in that architecture is use to speak of the "blue prints", or the design of something. UML, which you mentioned, is one way to express and visualize a design. It tries to answer questions like: What are the components? What are the relationships between the components? What do they do, and not do?
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
What should be the characteristics/features of M2M protocols (MQTT/OPC UA/XMPP) for which the protocols can be compared? I would like to write an article about these protocols and would like to compare them on the basis of these characteristics. You can suggest some characteristics for M2M protocols comparison. such as: Security, Data bandwidth,scalability, over-head in data packets etc. Thanks
A comparison of the M2M protocols based on characteristics, like any other comparisons, should be made in a certain context. In this case, the context refers to the domain or the application domain you are using for building the comparison.
An application for a certain domain usually has a set of requirements that need to be met. Building a list of common requirements is a sensible thing to do. Not only it will improve the structure of the article, but it will also offer the possibility to expand/improve the article as new requirements are being discovered. By analysing these requirements you can find some fine-grained criteria that you can choose to discuss.
Functional requirements
Interoperability
Interface for:
device - gateway,
device - network application server,
device - device
Protocol load: information volume, connectionless/connection- oriented
Routing capability
IP based/non IP based
Communication patterns
Resource discovery
Resource management
Stateful/Stateless
Non-functional requirements
Scalability
Security
Privacy
Lightweight
Real-time
Expandability
Usability
Openness
Reliability
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
I have taken over a large project at work that requires a lot of TLC to get it into a manageable state. The whys and hows of this situation don't really matter at this point.
I was thinking I could use some of the concepts of IT Service Management to rein in this project. It has no coding standards, no change management, no issue tracking, and no build process to speak of. Everything is done by hand in Explorer with issues added to a Word document as the help desk receives them.
What kind of formal process would you use to address this situation?
Have you considered ITIL? It has a formalized structure for some of the areas that you’re dealing with, such as application management, change management, and incident management. It’s a formal process with supporting documentation and certifications.