各位好
小弟为全职接案的软件工程师
目前web专案中除了需要展示、测试
也有些客户是连同服务器架设、维护也委托我负责
之前在有限的时间内,在Azure、AWS、GCP当中抉择
以定价来看GCP便宜非常多,所以就选定其作为多个专案的云端服务器
本人技术主要专攻.NET(微软派),在微软推出.Net core之后,
其跨平台的好处(不用再被IIS与Windows Server绑死)
让我毫不犹豫就将所有ASP.NET专案转投.Net Core怀抱
而.Net Core MVC的Web专案也是我目前主要的收入来源
在将这些专案部署上GCP的过程,自行摸索了一下,大概可以分成
1. 使用App Engine(GAE)
透过GAE的docker特性,部署完全是一件无需动脑的过程,非常轻松
但因.Net core专案部署到其上,只能设定为“flexible”类型的执行个体(另一种为
standard)
所以费用稍高,经一小段时间统计下来,1个GAE的.Net Core Web执行个体配上1个最低等
级的MySQL执行个体
平均一天下来的费用约台币$150~$200之间,换算每个月平均约$4500~$6000之间
算是个不符成本的选择
但因一些技术上的问题(下详述)
以及快速方便尽快交件的时间压力
目前本人的所有GCP专案都是以这模式运作中
(所以也才会有这篇请教的文章)
2. 使用Compute Engine(GCE)
原本一开始是打算在GCE上开Linux VM,
再自行设定、部署.Net Core Web与MySQL server
但卡在关键问题:.Net Core MVC的Session机制在GCE上常会出错
也就是说“需要登入权限控管”的系统,常常登入后马上就遗失Session
有查过国外的文献与讨论,简易的排除方式不适用我的状况
而另有神人提供相对复杂的解法,确实符合逻辑也应该可解决问题
但碍于时间压力,便没多花时间去尝试
所以目前都使用GAE
不过就我目前所知,GCE相对GAE,是便宜不少的