We are located in Montreal, Canada.
We carry projects everywhere.
A microservice architecture aims at dividing heavily complex systems into smaller individual services that run as separate, autonomous and independant processes.
This approach makes it easier to build and maintain apps. Each service can be built and deployed independantly using different technology stacks, environments, databases, programming languages, and so on, whatever is more convenient in the implementation context of a specific service.
An important benefit is the increased productivity that results from fragmenting an application into smaller, manageable and simplified services that are faster to implement. Separate engineering teams can work on independant services simultaneously without suffering the wait for another team to complete their own work, on which it could otherwise depend using a more classic, strongly coupled architecture.
Moreover, a microservice architecture fits the cloud infrastructure hosting model perfectly, as it allows to conveniently distribute the processing and content delivery loads by starting any desired number of service instances, as needed or convenient, on several physical or virtualized machines. This infrastructure scaling flexibility allows to dynamically scale up and maintain an appreciable system response time no matter how enormous the target audience can be, and to progressively scale back down as demand decreases.
Microservice oriented architecture on the cloud offers incredible benefits, and the approach certainly diserves consideration for customized application development and other digital initiatives that require flexibility, scalability and sustainability.