Why do we need architecture? Like any complex structure, software must be built on a solid foundation. Modern tools and platform help to simplify the tasks of building application, but they do not replace the requirement to design application based on your specify scenario. Risk exposed poor structure that is unstable. What is the quality attributes such as reuse, security, maintenance, performance? What are the structural trends that might impact your application now or after it has been deployed? These shared understandings are called “architecture”. This understanding includes how system is divided into components, how components interact through interface. Therefore, architecture focuses on how components and interface are used by or interact with other component? Selecting data structure or algorithms within components is not the architectural concern. Systems are architected with consideration for the user, the business, and the system goals. The goals of architecture Application architecture seeks to build a bridge between business requirements and technical requirements by understanding use cases, then finding ways to implement those use cases in the software. The goal of architecture is to identify the requirements that impact the structure of the application. Good architecture reduces the business risks associated with a building technical solution. At a minimum, you must determine type of application that you are building, the architectural styles will be used, and how you will handles cross-cutting concern. The first step is to identify type of application that you plan build. Once you know what type of application that y are building, how it are deployed, you can drill down into the architecture to identify styles and technologies that y will use. Finally, y must consider how quality attributes and the cross-cutting concern will be incorporation into the design of your system.