<p>As far as Go websites go, does anyone host on GAE? If not, anywhere else? It looks like they're a pretty fantastic service. I see a lot of posts bashing them from years ago but nothing recent.</p>
<hr/>**评论:**<br/><br/>Ploobers: <pre><p>GAE is overall fantastic. Super fast deployments, integrated logging, metrics, etc. It's not great for CPU intensive / long running tasks, but those are pretty easy to move over to Managed VMs. We went through a decent chunk of the sad times, but I'd recommend it to anyone now.</p></pre>natdm: <pre><p>Nice. Thanks!!</p></pre>christopherhesse: <pre><p>GAE is really nice for most applications and has a well-made Go library. The datastore works pretty well with Go, and having everything integrated and ready to go is very helpful. The downsides that people are likely to encounter are:</p>
<p>1) No native socket access. This means you have to use the socket API (which is particularly annoying in Go) and/or urlfetch (an okay service, but mildly annoying). This is fixed by Managed VMs, but those are still kinda beta and the deploy times are on the long side.</p>
<p>2) Goroutines, one of the coolest feature of Go, are a bit less useful because a goroutine cannot outlive the request that spawned it. For doing stuff in parallel, you can use goroutines. For doing stuff totally asynchronously, you'll have to use the taskqueue.</p>
<p>Once Managed VMs are out of Beta, I expect it will be even better. The plus side is that porting from regular Appengine to Managed VMs is basically no effort at all.</p></pre>natdm: <pre><p>Great write up. Thanks. So it sounds like, for hosting websites that may end up requiring a small db, GAE sounds alright for it.. For now at least.</p></pre>boompleetz: <pre><p>I started using it recently, and it's pretty great. There was a hiccup with their yaml configuration file not working at all with the gorilla router for static directories, but 2 lines of code gets around it.</p></pre>anoland: <pre><p>What is the fix?</p></pre>boompleetz: <pre><p>the way to get static assets (e.g. css) to load with gorilla, given 'app/styles' directory:</p>
<pre><code>s := http.StripPrefix("/styles/", http.FileServer(http.Dir("./styles/")))
r.PathPrefix("/styles/").Handler(s)
</code></pre></pre>boompleetz: <pre><p>where
r := mux.NewRouter() </p></pre>coredump777: <pre><p>I like heroku for simple apps. Tried GAE but there was a lot of things to learn how to manage. I guess that if you already know how to deal with google cloud or are into learning it, GAE must be better.</p></pre>3zcurdia: <pre><p>I agree heroku was easy and faster to configure</p></pre>FrenchDonkey: <pre><p>But a lot more than expensive !</p></pre>faaace: <pre><p>My one gripe with heroku is that it requires godep & butchering the typical go folder structure in your repo. Still much better than GAE imho though.</p></pre>natdm: <pre><p>How so? Reading up on it and I haven't spotted either of those quirks yet. Heroku sounds intriguing. I like Postgres and may also have node.js sites. </p></pre>coredump777: <pre><p>Eh, I don't think it butchers anything. The only thing they require is Godeps, but latest godeps with go 1.5/1.6 uses the <code>vendor</code> folder (instead of it's weird <code>_workspace</code>). </p>
<p>Heroku config with variables is pretty nifty, and deploy using git branches is veeery smart. Also they are pretty quick on supporting new versions.</p></pre>dahlma: <pre><p>One thing I've noticed with the new version of golang is when I run 'godep save' then everything is referenced in 'vendor' which is kind of a pain, because the logic of my application is in a separate library so every time I have to push an update I have to remove the Godep and vendor directories.</p></pre>coredump777: <pre><p>I wonder if it would work for you to link the <code>vendor/your-library</code> to the <code>src/your-library</code> while you are developing.</p>
<p>EDIT: You can just create a bash script that does that for you too, update godeps then do the rest of the things.</p></pre>dahlma: <pre><p>Yeah j need to write a bash script. It would be interesting to set up a symlink though, I'll have to try that</p></pre>zemirco: <pre><p>I use Digital Ocean with docker-compose to manage my app, database, redis and nginx.</p></pre>natdm: <pre><p>I've heard of all these. I'll have to take a peek.</p></pre>ChristophBerger: <pre><p>This might not be the answer you are seeking, but since you specifically ask about Websites (and not Webapps): If you are not planning for sophisticated features that require (custom) server-side logic, consider a static site generator like [Hugo](gohugo.io). You then can deploy your site to pretty much any host that has a Web server up and running or that allows you to run your own Web server. This way you would not depend on one specific hoster with proprietary API and infrastructure.</p></pre>natdm: <pre><p>Thanks! Some sites will and some sites won't. I'd have a variety of sites and would prefer to have them all in the same place. Some would have socket and db access, some may only be static sites.</p></pre>mobiledevguy5554: <pre><p>The thing I love most about GAE is the integrated security. One Yaml setting and only people from my google apps domain can log into the app.</p></pre>gobwas: <pre><p>Hi! I've started to use ovh vps and dokku – a mini-heroku on your servers. Have launched two apps in it, and it really awesome and useful combination.</p></pre>alioygur: <pre><p>maybe <a href="https://cloud.google.com/compute/" rel="nofollow">https://cloud.google.com/compute/</a></p></pre>marcelo_rocha: <pre><p>IBM Bluemix has support for Go</p></pre>pqyptixa: <pre><p>I use openshift... and I love it. It's free, it's fast, and works great.</p></pre>
这是一个分享于 的资源,其中的信息可能已经有所发展或是发生改变。
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码`
- 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传