Это действительно довольно просто: архитектура - это проектное решение, которое вы принимаете для удовлетворения «нефункциональных» требований: таких как стоимость, ремонтопригодность, производительность, надежность, доступность и безопасность. Это о веб-приложении: вы можете построить его миллионами способов, от большой C-программы, которая выполняется как CGI (на самом деле мы раньше это делали), веб-приложения Python, до J2EE-приложения, до LAMP-приложения. Любой из них будет иметь одинаковое функциональное поведение, все они будут публиковать одинаковые страницы; Различия возникают, когда вы пытаетесь изменить базу данных программы на C или распределить нагрузку в своем большом приложении LAMP.