A layer is a logical structuring mechanism for the elements that make up the software solution, while a tier is a physical structuring mechanism for the system infrastructure.
For example in a web applications generally there are following three layers:
-
Web server, serving static content to front end which is commonly browser.
-
Application server (eg: Rails, Spring etc).
-
A back-end database or data store.