Replicating tables for reporting purpose
I have implemented solution 2 multiple times in the past and it has proved extremely effective.

You are right in being concerned about the performance impact of replicating tables though.  You will have to invest time in making sure replication isn't causing issues.  Things to consider would be:


Where you will host the distributor - the DML and DDL performed on the replicated tables are passed from the publisher (where the original tables are) to the distributor.  The actual commands are effectively copied into a set of special tables in a separate "distribution" database.  The distributor has to be powerful enough to deal with this load.  This could be the same instance as the publishing database, but with high volume OLTP or OLAP you may want to scale that out to another machine.
How often do you make schema changes to the tables you are wanting to replicate?  Schema changes are possible, but they can be a nightmare in a replication topology.  This will make schema changes something you will need to be much more careful with in future.
How much data is inserted/updated/deleted in the replicated tables?  Replication can keep with with very high loads, but your underlying systems will need to be able to deal with that (it is very much a system architecture question).  As replication is effectively copying the DML and DDL into a second database you can basically see it as creating double the data (and I/O etc.) compared to the same DB without replication.


There are many more things to consider, but this should give you a quick intro to what needs considering if you went with solution 2.