云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

专属服务器_ip代理服务器网站_测评

小七 141 0

中间件_吴忠网站建设_超低折扣

人们通常会找到一些示例和/或教程,介绍如何在SAP云平台上部署简单的应用程序。虽然这些例子很有价值,在云上,我从中学到了很多,当谈到"真正的东西"时,通常有许多不同的选择,需要大量的实验。

在下面的报告中,您将学习如何在SAP云平台上部署一个真实世界的复杂应用程序。

通过本报告,您将在强大的SAP上设置应用程序时节省大量的时间和精力云平台。

应用程序

我想部署一个Apache许可的应用程序,使用Scala实现,占用空间非常大。也就是说,它有大量的本地文件,而且还需要一个关系数据库。应用程序还将使用不同的所谓非标准端口为用户提供不同的功能。

应用程序架构明显违反了cloud foundry开发的12-factor应用程序原则,虽然存在多个BuildPack,但都不是cloudfoundry最初支持的,大多数都不是最新的。

BuildPack

我尝试的第一种方法是勇敢地尝试使用BuildPack策略。

由于Scala项目通常提供与Java虚拟机兼容的JAR工件二进制文件,我认为使用Java BuildPack应该可以轻松解决我的所有问题。不幸的是,我错了:经过几天的尝试,我不得不放弃这种方法,我得到了SAP支持人员的确认,这不是一种受支持的使用javabuildpack的方法。他们建议我使用Docker.

Docker

Cloudfoundry支持使用Docker和SAP云平台。一开始我有点害怕,因为我要在我想要的平台上引入更多的代码,企业应用中心,而且因为我当然要对这一层的安全性负责——相反,使用buildpack会让"其他人"负责。此外,我不知道如何使docker中的应用程序能够使用SAP云平台提供的数据库(我不希望自己也必须处理这个问题,例如,使用所选的DBMS部署第二个docker)。最后,网络设置将如何工作?这是一个人必须准备回答的许多问题,下面几行说明了如何快速地做到这一点。

最终的方法

尽管有许多疑问,什么叫大数据,但这条道路最终证明是成功的,我将详细描述这条道路。

当然,第一步是树立正确的形象。通常图像可以在互联网上获得(例如DockerHub),但是如果你真的想盲目地使用它们,你必须考虑。这些事实上可能是安全漏洞(自愿或不自愿),因此应首先进行详细的安全评估。请记住,当您带上自己的映像时,您要负责其中的所有组件:从操作系统到应用程序层和网络连接。SAP云平台提供了一些"安全钟",但安全就是安全,永远不够。

根据您开发的平台,您需要在本地安装Docker。Docker桌面社区是一个很好的开始。

至少你应该有一个Docker文件,然后使用Docker有一个图像建立和本地安装。如何做到这一点在官方文档中有很好的描述。

CloudFoundry允许提供一个docker存储库,从中收集docker映像。

这样的位置需要在部署在SAP Cloud上的MTAR中指定。

所有SAP人工制品都在SAP docker存储库中,因此

docker tag myimagemyapp.docker.repositories存储库.sap.ondemand.com/myapp

图像需要清楚地"推送"到存储库中,需要对其进行适当的身份验证。如果是SAP Docker Repository,则需要交互登录,然后收集用户配置中可用的API令牌

Docker login--用户名=#####myuserid####--密码=###APITOKEN####myapp.docker.repositories存储库.sap.ondemand.com

成功登录后,可以继续正确推送到存储库码头推手myapp.docker.repositories存储库.sap.ondemand.com/myapp

此时我们可以进行SAP云平台部署的准备工作。

SAP云平台

现在这些工具已经准备好了,我们需要创建一个配置,用于指示SAP云平台收集docker镜像,然后为应用程序适当配置环境。

云配置文件MTAD.YAML公司

架构版本:3.2.0ID:我的应用程序description:在SCP CF中部署myapp版本:0.0.1模块:-名称:myapp要求:-名称:db服务-名称:数据库日志属性:DB\u用户名:$VCAP_服务.postgresql.credentials。用户名DB\u密码:$CAP_服务.postgresql.credentials。密码数据库URL:$VCAP_服务.postgresql.uri参数:磁盘配额:2G内存:3G健康检查类型:无码头工人:图片:myapp.docker.repositories存储库.sap.ondemand.com/myapp用户名:myappusername密码:####dockerpassword###资源:-名称:db服务类型:postgresql-名称:数据库日志类型:应用程序日志

现在配置信息已经准备好,是时候生成MTAR了。这可以手工完成,也可以使用MTA Archive Builder,或者最好使用最新开发的MBT工具与MTA Archive Builder相比,数据分析方法,该命令是最快、最容易使用的命令,并且提供了更大的灵活性,因此建议使用该命令。结果在mta#u archives子文件夹中找到,称为####module name###version###.mtar

这样构建的mtar将非常小,因为在部署时它将从存储库获取映像。第一步当然是登录cf登录

选择具体组织和空间后执行部署。这只能在之前正确下载并安装了multiapp插件的情况下工作。cf部署mta\u存档/你的程序.mtar