Recent years marked many smart environment solutions hitting the market and applying latest pervasive computing research advancements on an industrial scale. Context-aware smart environments are able to act accordingly to the immediate environment information in an intelligent, predefined, learned, or automatically inferred way, and are able to communicate to their users, thus increasing users’ comfort and awareness level. Since the beginning of the 2000s, many projects have been designing and implementing smart environment systems. When looking post-factum at the architectures of these systems, one can notice a lot of similarities among them. With the same basic structure, the biggest differences usually arise at the level of individual components, aimed to satisfy different end-level requirements. Taking many successful and undergoing projects as case-studies, this chapter looks for the common structure, the common patterns, and the “best practices” that can help future projects to reduce the efforts spent on the general system frame, and redirect those efforts to more specific requirements that are unique in every project. It introduces several architecture layers that inevitably exist in one form or another, discusses the possible layer components and the common information flows, and mentions the most notable problems, such as scalability and fault tolerance. Several case studies of successful or undergoing smart building projects show that the presented pattern can be easily mapped to their architectures.