Alternative for Google AppEngine?

2020-05-14 03:51发布

I recently had to realize a project on Google AppEngine. At the beginning I was sceptic. But there a some really nice approaches on Appengine:

  • No server setup. Everything works out of the box. Gzip, libraries, etc.
  • One-Click-Deployment. Fire up GAE Launcher on the Mac and click DEPLOY. Done.
  • Low costs
  • Easy in-production-logging

But there are some things I don't like if I'm thinking about professional projects

  • The blobstore. It's just... weird. And non-backupable
  • All the 1 MB restrictions
  • The feeling that your code will only run on AppEngine. (BigTable)

Do you know any similar alternatives to AppEngine? And I don't mean services like EC2.

5条回答
欢心
2楼-- · 2020-05-14 04:21

You can have a look at AppScale

Its an open-source implementation of AppEngine which you can deploy on your own machines, with a host of databases to choose from.

查看更多
我想做一个坏孩纸
3楼-- · 2020-05-14 04:24

I think Heroku is a great alternative.

It can run most of GAE existing apps, since it supports django, but also:

  • It supports Ruby (w or w/o Rails), Java (w or w/o Spring), Node.js, Clojure,...
  • It has a strong CLI support (git push for publishing, creation of apps, scaling, log, ps,...)
  • It supports MySql and PostgreSQL (and, so on, MongoDB, Amazon RDS, etc.)
  • It has a free tier for 750 hours a month (~1 machine always up) for every app.
  • It has a collection of addons for providing cloud services as a resources for the apps
  • It has an add-on program to develop your own add-ons.

Really, it is a good alternative.

If you want your application is not binded to GAE, the best approach is to use well-known langs and well-known persistence providers. Ruby+PostgreSQL, for instance, could be a combination very portable. Django as well, but w/o BigTable...

查看更多
聊天终结者
4楼-- · 2020-05-14 04:25

I almost hate to mention Microsoft in a Google-related question, but I'm completely vendor-agnostic. So, I'll offer Microsoft's Azure as a platform that offers many similarities to AppEngine but enough differences that it might fit as a good answer to your question.

Azure and AppEngine are similar in that they are both designed to allow you to build easily scalable applications. Azure gives you Microsoft's standard web toolkit options: C#, VB.NET, ASP.NET ASP.NET MVC, but also offers PHP. It has a NoSQL, document database like AppEngine but also gives you the option of choosing a more standard instance of SQL Server. Although I haven't used it myself, it looks like AppEngine for Business now offers SQL, too.

Azure gives you a ready means of having long-running background processes. AppEngine does not to the best of my knowledge.

From my perspective, AppEngine has the huge advantage of charging you for usage only when a request is actually being processed. An Azure instance causes you to get billed even for time that it is completely idle. That's entirely typical, but the fact that Google doesn't so it that way makes me choose AppEngine every time. My budget is too tight to allow me to spend money for idle CPU hours.

查看更多
女痞
5楼-- · 2020-05-14 04:39

There's a port of django to non-relational databases that works with app engine or mongodb.

google for django non-rel

documentation is a bit sparse though

查看更多
手持菜刀,她持情操
6楼-- · 2020-05-14 04:44

AppScale and TyphoonAE are both third-party implementations of the App Engine platform. TyphoonAE is targeted at small-to-medium scale, while AppScale is targeted at the large-scale end of things.

As far as backing up the blobstore goes, this is quite doable: just use the built in handler to serve blobs, and, in conjunction with remote_api, you can download your blobs just fine.

查看更多
登录 后发表回答