新浪sae体验

开发工具 October 25 2014


 首先,我想提下云计算的概念。长期以来大街小巷都提到“云计算”,但我一直没弄懂,因为我不知道我能从中获得什么便利,直到开发上接触并用到了**PaaS**,才有所认识。我对云计算的理解是:云是一台可以无限伸缩的计算机,有无限的带宽,CPU,内存,存储,操作系统,软件服务等资源,用户所有的信息化处理业务都可以接入云,并按需计费,就像我们家中的水电煤气一样,我们需要用多少就支付多少费用,丰俭由君,这是面向大众用户的一种解释。至于云底层的实现,是通过虚拟化的技术将现实中的无数物理服务器,带宽,操作系统等各种资源整合在一起,形成一个具有无限伸缩能力的虚拟计算机。

 另外,从服务层次理解,云计算分为IaaS,PaaS,SaaS三种。**IaaS**表示基础设施即服务,正如前面讲到的,将所有资源整合成一台虚拟计算机,完成这个步骤的厂商往往是IT巨头企业,如google,amazon,IBM等,这些厂商能将自己遍布全球的数据中心所有资源进行整合,然后面向上层PaaS服务商推出基础设施服务;在此基础上,**PaaS**(平台即服务)厂商对云的功能进一步丰富,提供各种开发语言的支持及程序的运行环境(web应用服务器,数据库),再加上对应的资源配置功能,即可面向上层用户(SaaS服务提供商)提供服务,PaaS这一层的提供商提供的产品有Google的GAE,Microsoft的Azure,国内的有新浪的SAE,百度的BAE等;最上面这层**SaaS**,表示软件即服务,这一层服务的提供商利用PaaS提供的程序运行环境,搭建自己开发的程序或现成的软件,面向普通大众消费者提供资讯网站,手机APP访问等网络服务。

 一般而言,PaaS服务的消费者主要是中小企业和个人软件开发者,尤其是IT行业创业的个人或企业,往往基于PaaS平台可以极大地降低创业成本,提供更好的SaaS服务给客户。![](uploads/2014/10/20141025141909_16401.png)

  


 好了,回归正题,有了上面的模型,作为开发人员,我能很好地找准自己在云计算平台中的定位,我所能直接利用的就是PaaS服务,把自己的软件放上去,然后就可以通过浏览器访问了,这里介绍的就是新浪sae(sina app engine)。

 选择sae是因为它可以免费试用,注册后有赠送的云豆用于服务计费。sae目前支持java,php,python语言,用户可以上传web应用和移动应用,提供mysql,kvdb,memcache等传统关系数据库,key-value分布式数据库和用于分布式内存缓存的数据库,另外还为开发者提供了Storage用于分布式的文件存储服务,基于这些高大上的服务,当然少不了后台管理功能。

 首先,我要布署一个java web应用,需要用到后台mysql数据库。我在控制台创建一个新应用,输入对应的二级域名和应用名称,配置好运行所需资源。![](uploads/2014/10/20141025051002_64705.jpg)

第二步,进入该新建应用的管理界面,进入代码管理,上传代码。![](uploads/2014/10/20141025051731_21585.jpg)

第三步,很简单进入服务管理-MySQL,初始化数据库,可以得到一个与应用名称对应的数据库。

第四步,访问应用。

![](uploads/2014/10/20141025052359_30580.jpg)

 综上,这是一个sae最简单的应用部署流程,其中需要注意的是,布署的应用是基于本地环境开发的,可能放到sae时会运行出错,此时就要具体问题,具体分析了。比如我发布这个java web demo时,就遇到了jdk的问题,本地用jdk1.7编译,而sae上的jre环境是用的Open JDK 1.6,导致**java.lang.UnsupportedClassVersionError: t : Unsupported major.minor version**,此时需要本地版本降级编译一下再部署。另外,数据库的用户名和密码是该应用对应的AccessKey和SecretKey,直接在应用代码中修改一下数据库配置即可,或者在应用代码中调用sae的API动态获取,我个人倾向前者,因为不想与运行环境API粘在一起。

原文链接:http://ichatter.cn/e6-96-b0-e6-b5-aasae-e4-bd-93-e9-aa-8c.html


欢迎来到阿J小虫的博客

Follow @ichatter on GitHub

最新评论

推荐内容