Here is what we've done. We have Mason Kennels, 4x10 on a pressure treated deck. I was concerned about toe nails catching between deck boards so I butted them up against each other. I originally got the kennels with a hole in the back for an extenal dog house. I know have the panels to plug the hole and have internal dog houses. The kennels sit inside a feneced dog yard.
This system has worked great, including the 2 years while training dogs professionally. The Mason kennels are 10/11 years old and look brand new. They are expensive but, will last YOUR lifetime. They are made in OH so I drove to factory to pick them. The deck is about 7 years old and we moved once so I disassembled it and moved it. We haven't had a nail caught, any major chewing of deck boards and any clean up has been easy. There has been some chewing of the dog houses but, with a plastic house it is minimal. Wooden houses are a different story. Asphalt shingles too!
By placing the kennel inside a small fenced yard you have extra protection from your dog getting loose and you keep loose dogs away from your dog. Also, most dogs can hold it for 8-10 hours. As soon as you let them out they will want to go. Keeping them in a small confined area makes clean up easier.
For a roof we just use a heavy duty tarp you can get from TSC. Held down with wire ties has worked great for me. Maybe replace a couple a year. With gusts up to 65 mph yesterday we had no problems at all. Heavy snow has not brought tthem down but, you do need to clean them off. I would have build a roof but, being in town that would have required a building permit. I already pay the city enough taxes!
Good luck,
Tom Wall