Depending on the load requirement, I have used NowSMS (nowsms.com) for some of my projects. NowSMS is pretty straight forward to use. For others, I wrote my own gateway using Smslib - that can be a pain though, depending on the phone you want to you.
The TextBelt API may be useful - http://textbelt.com/ - it was made by a software engineer at Google.
If you need to send SMS I highly suggest integrating Twilio to your site. Another one I have used is Nexmo. Either one can be integrated really pretty easily and only takes a short while. Plivo is another one I have heard about, but I know nothing about them.
You do not yourself need to be a SMS Gateway, in fact it is a royal pain, just use a quality service and integrate it. It does have a small nominal cost per SMS message, which you can see on each website.
Twilio provides libraries to integrate for common languages like node, Ruby, Java etc.