Microservice implements SOA internally. In a broader sense, we can consider it as a subset of one SOA application.
Following are the principles that need to be taken care of while developing a microservice.
High Cohesion − All the business models need to be sub-divided into the smallest business part as much as possible. Each service should be focused to perform only one business task.
Independent − All the services should be full stack in nature and independent of each other.
Business Domain Centric − Software will modularize according to the business unit and is not tier based.
Automation − Testing deployment will be automated. Try to introduce minimal human interaction.
Observable − Each service will be full stack in nature and they should be independently deployable and observable like an enterprise application.
“Two Pizza Rule” is a kind of rule that restricts the number of attendees in a microservice development team. According to this rule, number of the team members of one application should be so small such that they can be fed by two pizza. Generally, the number should not be more than 8. As microservice is full stack in nature, the team is also full stack in nature. To increase the productivity, we need to build one team of maximum 8 members with all kinds of expertise required for that service.
Task is an important role in software development life cycle. Developing a large scale application can be broken down into several small units of task. Let us consider we need to develop one application such as Facebook. Then, “Log in” functionality can be considered as a task of the entire build process. Progress for each of these tasks need to be monitored properly under highly skilled professionals. Agile is the well-known process structure followed in the industries to keep up with good task management.