Saturday, December 9, 2017

Building microservices with Azure Service Fabric

Microservices offer long-term maintainability in large, complex, and highly scalable systems by
designing applications based on many independently deployable services that facilitate granular release planning. Some examples of microservices include protocol gateways, user profiles, shopping
carts, inventory processing, purchase subsystems, payment processing, and queues and caches.
The microservices architecture is an approach to building a server or cloud application as a set of
small services. Each microservice runs in its own process and communicates via protocols such as
HTTP and web sockets. Each one implements specific, end-to-end domain/business capabilities within a certain Bounded Context and is developed autonomously and deployed independently by
automated mechanisms. Finally, each service owns its related domain data model and domain logic
sovereignty and decentralized data management and can employ different data storage technologies
(SQL, NoSQL) and different programming languages per microservice.

Microservices can scale-out independently, as compared to giant monolithic application blocks that all scale together. This means that you can scale just the specific functional area that needs more
processing power or network bandwidth to support demand, rather than unnecessarily scaling-out
other areas of the application.

Designing fine-grained microservice applications promotes continuous integration and development
practices and can accelerate delivery of new functions into the application. Fine-grained decomposition of applications also means running and testing in isolation. As long as you don’t break the contracts or interfaces with other microservices, you can change any microservice implementation under the hood and add new functionality without disrupting the other microservices that depend on it.

Azure Service Fabric
Distributed computing and complex microservices deployments can be difficult to manage if you do
them yourself. Azure Service Fabric provides the plumbing required to create, deploy, run, and
manage microservices in an effective and efficient way.

Azure Service Fabric is a distributed systems platform that you can use to build hyperscalable, reliable, and easily managed applications for the cloud. It addresses the significant challenges in developing and managing cloud applications. This frees developers and administrators from having to solve complex infrastructure problems, letting them focus instead on implementing mission-critical, demanding workloads with the confidence of knowing that these are scalable, reliable, and manageable. Azure Service Fabric represents the next-generation middleware platform from
Microsoft for building and managing these enterprise-class, Tier-1 cloud-scale services.

Azure Service Fabric is a universal deployment environment, which means that you are able to deploy any executable based on any language (including .NET, Node.js, Java, or C++) or even database runtimes (like MongoDB). Therefore, Azure Service Fabric is not limited to microservices-oriented applications. You can also use it to host and deploy traditional applications (web apps or services) and enjoy many benefits related to scalability, load-balancing, and fast deployment.

Source Of Information : Microsoft Platform and Tools for Mobile App Development

No comments: