AEM website available to end users -->
1) Depending on the requirement and scalability and nfr you have the decide like how many instances are required. In a typical deployment
1 author --> 2 publisher --> 2 apache with dispatcher
author is connected to both publishers
each publishers is connected to 1 Apache/dispatcher.
End user will access the site via Apache.
2) how many caching layers are required. 2 levels or 1 level. cdn incase if site is access across the globe.
3) Editing functionality will be available only to authors. In you question your were referring to editing for end users --> i am not sure whether your are referring communities , where end users pushes the data into AEM system typically called as UGC.