I've recently ran into a situation that might require me to create a Canvas or model driven app in Powerapps that will act as a portal for users to create, edit and display records of a certain entity on our on prem environment.

From the research I've already done there are potentially 2 ways of hooking our on prem environment to  Powerapps.

1 with a data gateway on the sql server.

2 creating the custom connector using the api functionality.   

While option 1 does seem the easiest route I think I will face some resistance being that essentially it will be like making edits directly to the database. (API's are safer when editing data in a system you didn't write) On the otherside, I havn't seen any examples using the api for anything other than the sdk soap calls and I believe I'll have to use the Rest api and create an openAPI file or manually define the functions and json data needed. Does anyone have any suggestions on the best way to achieve this  or know of any definitive road blocks for doing one or the other? Maybe even a completely different direction that might work?