8 ms·
I've been trying out App Engine for Go the last couple weeks for a side project, but it's been a bit of a headache. Having to use their data store was a little
by chrisfosterelli 11y ago
I've been trying out App Engine for Go the last couple weeks for a side project, but it's been a bit of a headache. Having to use their data store was a little annoying to begin with, but I was able to get past that one. Once I started playing with user accounts I was very frustrated to learn that they only support Google Account login functionality... I have been looking at implementing my own but Go doesn't appear to have a common authentication package and the advice often seems to be "roll your own". Any advice for doing this?
That said, this is the only Go hosting service I could find that has a free tier and their development binaries are very well done!
- sktrdie 11y agoThe only reason I use AppEngine is because they offer free hosting. I guess we have to pay the price of using proprietary APIs for free stuff.
- pekk 11y agoIf cost is your main concern, you can get VPS hosting from a dollar a month.
- sktrdie 11y agoIs it as reliable as AppEngine?
- moe 11y agoIf you're willing to spend $5/mo then DigitalOcean is a safe bet with excellent reliability. If you're a new customer then google for a Coupon before you sign up (saves you $20). Don't try to go even cheaper, that way lies madness.
- d_luaz 11y agoYou cant compare AppEngine with DO or Heroku with AWS. Yes, AppEngine is costlier than DO 5-10X is comparing cost of computation power. You pay the price for not having to deal with DevOps, scalability and some cool API/services.
- tiglionabbit 11y agoAmazon EC2 has a free teir.
- teraflop 11y agoNot if you've already been signed up with them for more than a year.
- reinhardt 11y agoIt may be free for weekend projects but if you're planning to get some serious traffic, prepare for some hefty bills.
- jfoster 11y agoI've had App Engine projects that were on Product Hunt and Hacker News for a day, and the bill for those days were close to 0. (it did exceed the free tier, but not by much) You probably wouldn't want to run Reddit on App Engine, but anything with medium traffic or decent monetization should work out just fine. The only other caveat is that it may depend on what the app does and how you utilize the datastore. If you don't consider cost of the datastore when building an app, it could end up being expensive like you mentioned.
- reinhardt 11y agoOur burn rate is about ~$200/day (not month), half of it for datastore ops.
- jon-wood 11y agoHeroku just announced official support for Go as well.
- blaincate 11y agoI have been a python appengine user for last 2-3 years. It is really useful to get a prototype out fast. But MAJOR MAJOR MAJOR Painpoints are: - User : only google account supported - email : only can use <appid>@appspotmail.com - Image upload support otherwise very nifty to get a site out in less than a day!
- superuser2 11y agoCan you not use the REST API of Postmark, Sendgrid, etc?
- moistgorilla 11y agoWhat do people mean by "only google account supported", I've been building a web app with app engine and I just ran my own auth using passlib and it's worked fine. I also don't see how they can prevent you from adding oauth from different services onto your app. The problem I ran into was that with python you could only use certain native libraries provided by google. To use third part unsupported libraries in python you had to do a hack where you submit them with the app but I managed to get it working with a bit of fiddling.
- dragonwriter 11y agoPresumably, he means the built in Users service only supports Google Accounts [0]. [0] Though this is true only in terms of stable features; it does have experimental support for OpenID identifiers.
- markdown 11y ago> User : only google account supported Isn't google account support one account more than you'll get at AWS or Heroku or anywhere else? Why is this a MAJOR MAJOR MAJOR painpoint? > email : only can use <appid>@appspotmail.com Not true at all. You can use any email address simply by adding it to your permissions list. > Image upload support What does this mean? I've built a few photography apps on GAE and had no issues with image upload. What do you mean specifically? These MAJOR MAJOR MAJOR painpoints aren't work mentioning in the review of a service if they are also MAJOR MAJOR MAJOR painpoints everywhere else.
- craigkerstiens 11y agoBit of a shameless plug, but we just announced official support yesterday on Heroku (https://blog.heroku.com/archives/2015/7/7/go_support_now_official_on_heroku https://blog.heroku.com/archives/2015/7/7/go_support_now_off...), graduating from our community supported buildpack. We allow you to pick pretty freely which databases and other services you want to you use from our add-ons. We also have a free tier. Finally if you do give it a try would love to hear any feedback you have.
- markdown 11y ago> Bit of a shameless plug It's a pity that this has become a 'get out of jail free' card for jerks. Don't be a dick, Heroku guy. Stay classy and promote on your own product announcement thread.
- matthewmacleod 11y agoI reckon that "Hey, we just launched a similar product that might deal with some of your problems, have a look!" is a totally legitimate and constructive bit of information to provide.
- markdown 11y ago> is a totally legitimate and constructive bit of information to provide. Constructive to whom? The marketer most certainly, and the prospective customer. But that doesn't make it any less of a classless move. Send the guy a PM/email if you feel you just have to do that to keep your marketer badge.
- ademarre 11y agoIn this instance I think it's perfectly acceptable... 1> this is the only Go hosting service I could find that has a free tier 2> we just announced official support yesterday on Heroku The second comment adds value because it corrects the first commenter's understanding about the state of things. What's wrong with that?
- elithrar 11y agoIf you're okay with OAuth providers then https://github.com/markbates/goth https://github.com/markbates/goth gives you the capability to handle more than just Google accounts. Otherwise, you're right in that there doesn't exist a 'de facto' auth package for Go like Devise in the Rails world. Part of this is because you can't rely on stuff like ActiveRecord, ActionController, etc. to do some of the heavy lifting for you (Go being just a language, not a framework on its own). FWIW, I'm partway through writing a concise cookie- (and optionally Redis-) backed store that effectively asks you to provide a `User` type that can satisfy `GetID() string` and `IsAdmin() bool` methods. The middleware/lib does most of the work once you call `mypkg.SetUser(yourusertype)` in your login handler. This obviously doesn't cover features such as password reset emails, user registration, etc because you either have to make a ton of assumptions about your users' design/implementation, keep things limited, or fall into the trap of "provide options for every possible use case". PS: Ping me via email if you want some guidance. Happy to share some code snippets and/or input as I've been down the roll-my-own path a couple of times already.
- chrisfosterelli 11y agoWill do, thanks!
- tdonia 11y agoI've hacked together a package targeting the auth/user accounts gap, albeit in a fairly opinionated way. Very rough, but maybe they'll help someone: https://github.com/likestripes/kolkata https://github.com/likestripes/kolkata //user accounts API https://github.com/likestripes/calcutta https://github.com/likestripes/calcutta //basic UX (ping me if you've got an interest or opinion on these!)