- 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.
- 精通MATLAB圖像處理
- Hadoop 2.x Administration Cookbook
- Visual C# 2008開發技術實例詳解
- 計算機網絡應用基礎
- Hands-On Linux for Architects
- Windows內核原理與實現
- 四向穿梭式自動化密集倉儲系統的設計與控制
- Hybrid Cloud for Architects
- 數字多媒體技術基礎
- 新一代人工智能與語音識別
- PowerPoint 2003中文演示文稿5日通
- Spark Streaming實時流式大數據處理實戰
- 深度學習實戰
- Outlook時間管理秘笈
- Building Impressive Presentations with Impress.js