Why we are moving away from Google App Engine

Google App Engine的局限性促使我们的迁移
ConceptCodify从Google App Engine迁移到其他服务,分析了其优势和局限性,包括快速部署、管理和文档支持等优点,以及定制域名、第三方库支持、数据库功能和社区参与等方面的挑战。

我们为什么离开Google app engine?


备注:本人看到这个文章确实觉得很遗憾,google在互联网领域的深厚技术实力毋庸置疑,gae也值得信任,但是越来越多的限制,确实需要考虑替代环境了。

当然也有很多原因,甚至是一个重要的方面,是外部环境的限制。

gae本身就是给创业者提供一个实验想法的操场,其实自带的appspot.com如果可以使用,也很好。

但是。。。

另外的一个弊端是gae和google的商业产品google apps的绑定,对于创业者产生了限制,之前2012年底前吧,还有免费的google app可以使用,但是现在完全转移到商业试用了。


怕什么来什么,Google Apps 免费版被取消,一个用户一年最便宜 50 刀

搞什么飞机,Google Apps 要取消免费版了?

利用 App Engine Admin Console 还可以注册到免费的 Google Apps,但只有一个用户


永远免费的Paas云平台总结(2011年版)


原文出处:http://blog.conceptcodify.com/2013/12/08/why-we-are-moving-away-from-google-app-engine/


ConceptCodify is moving away from our current server provider, Google App Engine. We wanted to write to our users and the develop community to share our experience

The Good

Google App Engine is the ideal choice for getting your idea out the door quickly and seeing if there is a viable market for what you want to accomplish, and the positive aspects listed below strongly show this point.

Zero to App in a few minutes. Easy deploy, local development, email, logs, cron jobs… Google App Engine comes with a great deal out of the box. In fact, no other provider out there gets you set up and developing in as little time. There’s so little that you actually have to set up to get going. This is by far the most compelling reason to use Google App Engine, especially if you are building a minimally viable product.

Admin interface. Google App Engine has a web interface that gives access to everything you could need to your production application all in one place. It makes it so much easier to manage than most other servers, where you are constantly jumping from one interface to another.

Documentation. Google provides excellent documentation to get up and running with Google App Engine quickly. No other server provider walks you through getting things setup and running as well as Google does.

Free to start. Google App Engine’s free quota has been enough for our needs so far, and we have a few thousand accounts and studies in our system. This also helps building a minimally viable product because you don’t have to set up payments or manage funding the servers to start with.

Performance. Reading blog posts from a year or two ago, it seems Google App Engine used to have problems with performance. I can say from our experience, we’ve only seen good performance from Google App Engine.

Scaling. With Google App Engine, you don’t have to think about scaling. It automatically scales itself. Almost no other platform is offering this feature.

The Bad

Google App Engine is amazing for getting started, but has some problems once you get going.

Custom domains. Google App Engine tied custom domains with Google Apps. This was fine about a year ago, when there was a free tier for Google Apps. Then, you’d also get free email hosting for your business too! Unfortunately Google decided to move away from this structure. Currently, to have a custom domain on Google App Engine, you have to pay $50 a year for a Google Apps account. They are promising an upcoming solution to this issue.

Third party libraries. Google App Engine doesn’t use package managers that are common to the development platforms, such as pip. This means you have to download the files of any third-party libraries into your application and load them in yourself. This makes it much more difficult to manage third-party libraries. Also, Google App Engine limits what third-party libraries you can use.

Support. There is no support with Google App Engine unless you pay an exorbitant fee. This means if there is a problem, you can only rely on forums and StackOverflow to resolve your issue.

Images. Letting users upload their own logos for their studies has proven an incredible challenge on Google App Engine. With other platforms, this isn’t an issue, but with Google App Engine, it requires substantial configuration and overhead to get going.

Setting up third-party services. Google App Engine comes with its services, and that’s all you can ever get. You can’t install Redis or a task queue system of your choice. If you need a service that Google App Engine doesn’t provide, you are out of luck. This makes Google App Engine difficult to sustain in the long run.

Proprietary. Google App Engine is not based on open-source technology. This means there is a small community with less support, and you can’t move your setup to another server easily. Also, because the code is closed-source, you’ll have a more difficult time finding resources, like blog posts and tutorials, to help you get setup. When you use popular open source technologies, there’s an abundance of resources you can use to get going and resolve issues.

Database. We’ve been able to get around the other issues, as any service provider is going to have issues or things you don’t want to deal with. But the database for us has been a deal-breaker. GQL, or the Google Query Language, is a highly limited knock-off of SQL. We have been unable to build features such as filtering analysis results and sharing studies because of the limitations of Google’s database. We really want our users to be able to dive deep into their data and GQL has prevented us from providing this depth to our researchers. We’ve found GQL and the Google database to be frustrating to use, and our desire to have access to systems like MongoDB and PostgresQL have prompted us to move to an alternative.

The free plan also has a very low quota for database queries, and so you will need to cache any query result into memcached, as this is the only memory-based store available, to reduce the number of queries. This is generally a good practice, but worth noting.

The Transition

We started looking at some different options a few months ago. While we wanted to stay in the PaaS realm, unfortunately no PaaS provider is really anywhere near Google’s offer.HerokuAppFog, and Dotcloud are expensive for our needs, OpenShift had limited features.DeisDokku, and Flynn are interesting projects, but they are very limited in their capabilities and for our needs, make things more complicated than not using them.

We’ve decided for now to go with a more traditional setup, using Vagrant for local development with shell provisioning and deploying to the server using Fabric.

We rewrote the entire codebase, even though the user interface is largely unchanged. We’ve spent more time on this iteration making sure we have good processes in place which has added to our time. We also have limited staff hours so it has taken a bit longer than we hoped to get to this next version of our application.

The PaaS we’d like to see

So we are leaving the world of PaaS for now. Someday, we’d like to see a PaaS system with the following features:

  • Super easy setup. Run a terminal command in development to get going, even on an existing project. We want it to be flexible, but provide good defaults, such as usingUbuntu Server LTS or Nginx.
  • Vagrant local development that is as similar as possible to production environment. Provide an ability to specify where production should be different, such as using precompiled JavaScript and CSS.
  • Make it easy to add tools such as databases, search databases, email service providers, task queue systems, logging, automated backups, and crons. This should first update local development, and then be deployed to staging or production when the code is deployed.
  • Admin interface for both local and production that keeps everything together, as much as possible. This would be great too to be able to add links to third-party services, like email providers or analytics.
  • Open-source and community driven. We want to be able to set this up with basically any VPS provider. We want to be able to discuss issues and see code on Github.
  • Support for common development languages and including their native tool set, such as package managers and test suites.
  • Handle database migrations using the existing tooling within the development languages.
  • Resolve the scaling issue. We should be able to specify a cluster of servers, and not have to worry about making the application scale out to fit it.
  • Git push to deploy is amazing. We love Heroku’s deployment method.

Such a system would meet development and operations needs to start and to grow. It would make it easier for more people and teams to develop applications. Sadly, this system does not exist quite yet.

What’s coming up

We are still holding off on asking our users for money. We still have some features we need to add to make sure we meet the needs of our researchers, such as filtering analysis results, recruitment management, and sharing study access. It will likely be at least a few more months before we enter the for-pay phase of our product.

One note to our users is we are moving away from OpenID. We’ve had a few cases where researchers were locked out of their accounts, and each time it took several hours for us to be able to resolve the issue. We are migrating our system to use a traditional email and password login and so when we deploy the new system, you will need to make a password for your account using the email address from your OpenID account.

Right now we are working on testing our application and getting our production server ready to go. We are also working on the method we will use to export the data from Google App Engine and put it into our PostgresQL database. We are hoping to have this migration complete by the end of the month, but we are not providing a formal time estimate due to the level of challenge this migration entails.

Closing thoughts

Google App Engine empowered us to get our idea out the door quickly and establish the need for our application. We will be forever grateful to the team at Google working on App Engine and we hope they will expand their offering. That said, we have to fulfill our needs, and its time for us to move to the next step.


飞鸟阅读是一套基于ThinkPHP + Layui + BUI打造功能丰富的小说管理内容系统,集成了移动端,作家功能,三方API,电子签约,采集入库,让小说内容运营更简单! 系统介绍 飞鸟阅读小说内容管理系统是一套用于快速构建小说发布与阅读的小说内容管理平台。使用飞鸟阅读小说内容管理系统可以快速搭建一个完整的小说阅读网站,节省开发时间和成本。 飞鸟阅读是一套基于ThinkPHP6 + MySql + Layui + BUI 开发的小说行业内容管理系统。 飞鸟阅读针对小说行业增加了作家模块、并提供了创建作品,添加章节,定时发布,电子签约,实名认证,草稿箱等特有功能,以满足作者的创作需要。 飞鸟阅读除具备通用型的后台权限管理功能外,还实现了作品管理,章节审核,章节去重等相关功能。 飞鸟阅读不光支持单域名运行,还支持二级域名绑定到模块运行,让同一套系统能分域名运行。 飞鸟阅读读者功能有:小说分类、小说搜索、小说推荐、阅读、收藏、书架、点赞、提现、邀请、任务、VIP会员等。 飞鸟阅读易于功能扩展,方便二次开发,增加了插件市场,让更多服务可无缝集成于系统中,同时增加了模板定制功能,方便不同网站定制自己独有的风格,帮助开发者降低二次开发难度。 飞鸟阅读还支持站群功能,一套系统可同时支持多个域名访问,并且支持自定义配置,支持自定义url,支持自定义seo设置,支持自定义友情链接,支持自定义导航,还支持泛域名解析,共用一套内容管理,共享缓存机制,让效率更高,维护更方便,节省更多成本。 适用对象 飞鸟阅读适用于小说阅读平台运营者、小说作者、以及希望搭建小说阅读平台的个人或企业。通过本系统,您可以快速搭建起一个功能完善、界面美观的小说阅读平台,吸引大量用户,实现业务增长和盈利。
高分SCI绘图必备!你必须要学会的18种Matlab绘图代码与20个绘图技巧(附完整代码)内容概要:本文是一份关于高分SCI论文绘图的Matlab技术资源合集,重点介绍了18种常用的Matlab绘图代码与20个提升图表质量的绘图技巧,所有内容均配有完整的Matlab代码实现。文档不仅涵盖绘图技术本身,还展示了Matlab在科研多个领域的广泛应用,包括智能优化算法、机器学习、深度学习、图像处理、路径规划、信号处理、电力系统、无人机控制、通信技术等,并提供了大量具体案例与仿真模型的代码支持。此外,文中还分享了多个科研项目复现案例和优化算法对比研究,帮助科研人员提升论文图表质量和研究深度。; 适合人群:具备一定Matlab编程基础的研究生、科研人员及工程技术人员,尤其适合正在撰写或准备投稿SCI论文的研究者。; 使用场景及目标:①学习并掌握高质量SCI论文所需的Matlab绘图技能,提升科研可视化表达能力;②借鉴文档中提供的丰富案例与代码,应用于自身科研项目的仿真与数据分析;③通过复现先进算法与模型,加速科研进程并提高论文创新性与可重复性。; 阅读建议:建议读者结合实际科研需求,按主题分类逐步学习绘图技巧与算法实现,优先运行并调试所提供的Matlab代码,深入理解参数设置与图形定制方法,同时参考其中的科研思路与技术路线,将其融入自己的研究工作中以提升整体科研效率与论文质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值