Lecture 02 Monolithic Single ball of code Deploy it as a single entity It contains all the code related to UI, Logic, Data access Easy to deploy and maintain As your application grows it can become a big fat elephant Distributed Split your single application into several independently running pieces Computation is spread out in different applications Making changes and introducing new features becomes easier. Effective for frequently changing business needs Multiple points of failure Need to have a proper infrastructure, devops strategy in place Different ways of communicating with other applications FileSystem, DB, Synchronous(Direct) and Asynchronous(Messaging) Some terms that you may have to know Client-server Server can be a machine, or a sofware application Database server or web server(Apache, IIS, Rails) or application server(weblogic, websphere) Client can be desktop/mobile/browser Thick client(Restaurant, Supermarkets etc) is preferred for PoS where speed is important C4 diagram Design Impartus You can login to an application. and view the list of registered courses and watch the lecture recordings