- Hands-On Artificial Intelligence on Amazon Web Services
- Subhashini Tripuraneni Charles Song
- 293字
- 2021-06-24 12:48:46
Understanding the architecture design principles for AI applications
Building elegant applications is not trivial, but building elegant AI applications can be even harder. As AI practitioners in a rapidly changing technology landscape, it's important to understand good architecture design principles and to have a passion for software craftsmanship since it takes relentless discipline to build and maintain applications that can adapt to the fast-evolving AI technologies. Good architecture design can easily adapt to changes. However, it is impossible to predict all future changes. Therefore, we need to rely on a set of well-accepted design principles to guide us on good application architecture. Let's go over them now:
- A well-architected application should be built on top of small services with focused business capabilities. By small, we don't necessarily mean a small amount of code. Instead, small services should follow the single responsibility principle; that is, to do one or very few things well.
- These small services are much easier to implement, test, and deploy. They are also easier to reuse and to compose more business capabilities.
- A good application architecture should have well-defined boundaries to enforce separation of concerns.
- The services and components of the application should maintain this separation by hiding internal implementation details from the others.
- This separation allows services and components to be replaceable with minimal impact on the rest of the application, thus supporting easier evolution and improvement of the solution.
If you are new to software architecture design, the differences between good and bad designs might appear subtle. It will take you a lot of experience to acquire the knowledge and skills you need to truly appreciate good design. In this book, we will provide you with examples of elegant designs that are good starting points for AI applications.
- 高效能辦公必修課:Word圖文處理
- 大數(shù)據(jù)項(xiàng)目管理:從規(guī)劃到實(shí)現(xiàn)
- 輕松學(xué)C語言
- 基于LabWindows/CVI的虛擬儀器設(shè)計(jì)與應(yīng)用
- Ansible Quick Start Guide
- 實(shí)時(shí)流計(jì)算系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 影視后期制作(Avid Media Composer 5.0)
- 最簡(jiǎn)數(shù)據(jù)挖掘
- 基于單片機(jī)的嵌入式工程開發(fā)詳解
- PowerMill 2020五軸數(shù)控加工編程應(yīng)用實(shí)例
- 青少年VEX IQ機(jī)器人實(shí)訓(xùn)課程(初級(jí))
- 玩機(jī)器人 學(xué)單片機(jī)
- 常用傳感器技術(shù)及應(yīng)用(第2版)
- 天才與算法:人腦與AI的數(shù)學(xué)思維
- Mastering Android Game Development with Unity