Domain Driven Design & Microservices for Architects

所在平台: Udemy

课程主页: https://www.udemy.com/course/domain-driven-design-and-microservices/

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:针对架构师的领域驱动设计与微服务 课程概述: 本课程专注于微服务的设计,而非编码。课程中的示例代码均采用纯Java,以帮助理解领域驱动设计(DDD)模式,模型则使用PlantUML工具开发。演示和讲解中使用了PostgreSQL、MongoDB、RabbitMQ、Kafka等技术,并在云端创建了免费的实例供学生使用。重要提示:请勿参加本课程如果您希望学习微服务编码或特定框架的教程! 课程内容: 微服务是一种新的软件构建方式,应用程序由一组独立的服务组成。微服务的最大优势在于它使组织能够迅速转型。这种快速市场的能力源于服务的独立性。亚马逊、Netflix和Etsy等公司已证明微服务的价值。尽管许多组织投资于微服务的技术、工具和技能,并改变软件开发和交付流程,但仍有许多组织未能充分实现微服务的利益,反而建立了技术债务。因此,成功和失败的组织在微服务采用上的关键区别在于他们是否充分理解微服务应用的业务方面。 微服务不仅仅是技术问题,其关键在于服务的独立性。为了确保微服务之间没有相互依赖,微服务架构师需要理解业务领域,从而确定微服务的边界和范围。这正是领域驱动设计发挥作用的地方。一旦定义了微服务的业务边界,服务应使用合适的微服务设计模式和技术来构建。 微服务架构师的角色包括:评估微服务对特定组织的商业利益;为微服务建立商业案例;教育业务和IT利益相关者关于微服务的利弊;应用领域驱动设计来划定微服务的边界;定义微服务的领域模型;进行微服务的技术设计;指导和辅导微服务团队等。 课程将帮助开发者和架构师构建实施微服务应用所需的技能,结合概念、UML建模和实际代码示例来演示微服务的实现。学生将通过行业范例和案例研究(如ACME旅行社)学习领域驱动设计的概念,课程重点在微服务的架构、设计和开发,包括转型与微服务、领域驱动设计、DDD战略与战术模式的应用、事件驱动架构、事件风暴、数据管理、消息传递、分布式事务和API。 重要提示: 课程聚焦于微服务的设计而非编码;所有示例代码均为纯Java。课程不涵盖任何特定框架,样例中使用SpringBoot进行API/GraphQL部分的演示。入课前请查看课程预览讲座,确保理解讲师口音。 先决条件: 学生应具备基础的Java或其他编程语言的理解,以及一定的软件开发实践经验。虽然实践部分是可选的,但鼓励学生进行动手任务,以更好地体验设计模式。

课程评论(0条)

课程详情

PS: Focus is on designing Microservices not coding No specific Microservices framework in useAll sample code is in plain JAVA to demonstrate/clarify understanding of DDD patterns, etc.Models are developed in UML - using the PlantUML toolPostgreSQL/MongDB/RabbitMQ/Kafka - free instances created on the cloud for demos & walkthroughsPLEASE Do NOT join the course if you are looking for tutorials on Microservices Coding or specific framework!!!What is this course about?Microservices is a new way of building software in which an application is composed of an independent set of services. The biggest benefit of Microservices is that it enables an organization to transform at a very rapid pace. This speed to market is achieved due to the independent nature of the services that make up a Microservices application. Companies like Amazon, Netflix and Etsy have proven the value of Microservices beyond doubt.Many organizations today are looking to adopt Microservices. These organizations are investing in technologies, tools, skills and are changing their software development and delivery processes as well. But still many organizations are failing to achieve the full benefits of Microservices; in fact many organizations feel that they have created technical debt by adopting Microservices. So why is it that some organizations have been successful in adopting Microservices while others are not. One common aspect I have observed in companies that fail to adopt Microservices is that they treat Microservices as a purely technology initiative. They do not spend time in understanding the business aspects of their Microservices applications !!!Microservices is NOT just about technologyThe key element of the Microservices architecture is that services are Independent. This independent aspect of the service is what makes it possible for Microservices to change independently of other services. If scope of the microservices is leading to inter-dependencies between services then it would lead to a need for change coordination between teams which in turn will lead to the same problems we have with Monolithic applications!!! Release cycles will be longer and there will be no benefit of the adoption of Microservices. To ensure that these is no interdependencies between Microservices, a Microservices architect needs to understand the domain and then decide on the boundary and scope of the Microservices. This is where Domain Driven Design comes into picture. Once the Microservices business boundaries are defined the services should be built using appropriate Microservices design patterns and technologies.Teams working on Microservices should not just look at the technical aspects of the service but MUST keep in mind that there are other considerations that play a critical part in the success of Microservices initiative. In order toRole of a Microservices ArchitectAn IT professional working in the role of Microservices architect is responsible for may aspects depending on the maturity of Microservices adoption in their organization. Here are the list of activities that the architects is responsible for:Evaluate the business benefits of Microservices for their specific organizationBuild a Business case for MicroservicesEducate the Business & IT stakeholders on pros/cons of MicroservicesApply Domain Driven Design to demarcate the boundaries of MicroservicesDefine the domain model for the MicroservicesDo the technical design of MicroservicesGuide and Mentor the Microservices teamsEvaluate the technologies frameworks for the realization of MicroservicesBuild proof of concepts to show how things workHow will this course help?This course will help developers & architects in building skills needed for successful implementation of Microservices applications. It consists of a combination of concepts, UML modelling and working code to demonstrate the implementation of Microservices. Students will learn the concepts of Domain driven design by way of common industry examples and a case study (ACME travels). Focus is on Architecture, Design and Development of Microservices. 1. Transformation & Microservices2. Domain Driven Design3. Applying the DDD strategic & tactical pattern4. Event Driven Architecture5. Event Storming6. Data Management7. Messaging8. Distributed Transactions9. APIIMPORTANT: Code SamplesFocus is on the Microservices design not coding.All of the sample code is in plain JAVACourse does NOT cover any specific frameworkSpringBoot is used in samples for API/GraphQL sectionPlease check out the course preview lectures before enrolling the course.Review the topics coveredMake sure you understand instructor's accentPre-RequisitesBasic understanding of JAVA or any other programming languageSome experience with software development practicesPS:Hand on part is optional but students are encouraged to do hands on tasks to get a better feel of the design patterns.

课程标签

0人关注该课程

主题相关的课程