12.07.2019 Views

NET-Microservices-Architecture-for-Containerized-NET-Applications-(Microsoft-eBook)

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

As Figure 4-6 shows, the microservices approach allows agile changes and rapid iteration of each<br />

microservice, because you can change specific, small areas of complex, large, and scalable<br />

applications.<br />

Architecting fine-grained microservices-based applications enables continuous integration and<br />

continuous delivery practices. It also accelerates delivery of new functions into the application. Finegrained<br />

composition of applications also allows you to run and test microservices in isolation, and to<br />

evolve them autonomously while maintaining clear contracts between them. As long as you do not<br />

change the interfaces or contracts, you can change the internal implementation of any microservice or<br />

add new functionality without breaking other microservices.<br />

The following are important aspects to enable success in going into production with a microservicesbased<br />

system:<br />

• Monitoring and health checks of the services and infrastructure.<br />

• Scalable infrastructure <strong>for</strong> the services (that is, cloud and orchestrators).<br />

• Security design and implementation at multiple levels: authentication, authorization, secrets<br />

management, secure communication, etc.<br />

• Rapid application delivery, usually with different teams focusing on different microservices.<br />

• DevOps and CI/CD practices and infrastructure.<br />

Of these, only the first three are covered or introduced in this guide. The last two points, which are<br />

related to application lifecycle, are covered in the additional <strong>Containerized</strong> Docker Application<br />

Lifecycle with <strong>Microsoft</strong> Plat<strong>for</strong>m and Tools <strong>eBook</strong>.<br />

Additional resources<br />

• Mark Russinovich. <strong>Microservices</strong>: An application revolution powered by the cloud<br />

https://azure.microsoft.com/blog/microservices-an-application-revolution-powered-by-the-cloud/<br />

• Martin Fowler. <strong>Microservices</strong><br />

http://www.martinfowler.com/articles/microservices.html<br />

• Martin Fowler. Microservice Prerequisites<br />

http://martinfowler.com/bliki/MicroservicePrerequisites.html<br />

• Jimmy Nilsson. Chunk Cloud Computing<br />

https://www.infoq.com/articles/CCC-Jimmy-Nilsson<br />

• Cesar de la Torre. <strong>Containerized</strong> Docker Application Lifecycle with <strong>Microsoft</strong> Plat<strong>for</strong>m and Tools<br />

(downloadable <strong>eBook</strong>)<br />

https://aka.ms/dockerlifecycleebook<br />

28 Architecting Container- and Microservice-Based <strong>Applications</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!