SAP上云的最佳技术实践

作者:阿里云MVP 卜志宏


今年6月的首届SAP中国云大会的召开,全面呈现了SAP云业务的战略、产品、商业场景、浸入式体验。伴随着S/4HANA Cloud(SaaS)以及SAP HANA Cloud Platform(PaaS) 将在9月全面落地阿里云的消息,SAP Commerce Cloud的落地,SAP拓宽了国内客户在云时代的选择范围。

从SAP自身发展来看,客户选择SaaS是对SAP最有利的选择。一是提高与客户的粘性,二是可以更加深入了解客户的使用习惯,定位新的业务或产品增长点。从SAP客户角度来看,降低SAP应用的整体拥有成本,把IT关注点从维稳基础架构转移到更好支撑公司业务高速发展是整体的大趋势。考虑到核心ERP SaaS化需要解决的标准化与定制化的局限性,这个趋势的技术实现路径,更多的客户往往是从IaaS开始的。

身处云计算服务行业,我看到了许多步子迈的飞快的优秀企业已经非常熟练的使用公有云的各种产品,提升全球用户访问体验,提高数据保护的等级,运用容器和微服务架构搭建灵活的CICD或者业务中台更好的支撑与前端用户的连接。在感慨这个飞速发展的时代同时,我也同样看到了大量的企业客户仍然停留在7、8年前的基础设施,存在着以下现状:

·硬件:机房环境不佳、断电或空调失效时有发生、服务器/存储遭遇性能容量瓶颈、硬件小机老化部件损坏几率高且维保费用高

·软件:伴随硬件故障会出现数据库损坏,SAP应用/数据库的高可用往往实施了但关键时刻切换不了,备份/容灾方案受资源所限极少演练;

·管理:85%的中小客户缺乏有效的SAP应用/数据库层监控机制,有的甚至连基础架构的监控都是缺失的的,忽视前期预警, BASIS团队流动率高,救急能力弱,非常被动。

那么将SAP已有环境迁移上阿里云应该着重考虑哪些呢?

SAP上云的最佳技术实践

云资源设计:

地域:分析当前的SAP终端用户分布,结合外围系统数据交换量分析,选择距离绝大多数用户/系统最近的地域接入以得到低延时。

可用区:根据业务可用性要求程度,选择同可用区或跨可用区部署应用/数据库实例。选择有所需SAP认证实例库存的可用区。

实例:根据计算/容量要求选择SAP认证的阿里云实例,用于应用服务器的Netweaver认证实例族:G5,R5, SN2NE,以及HANA认证实例族:R5,RE4, RE4E。

阿里云上实例族的SAPS值如下:
云盘:建议操作系统使用100G高效云盘,应用服务器划分200G高效云盘,数据库服务器根据容量选择SSD云盘。建议详细分析当前系统的存储空间及实际IO选择合适的云盘。对数据库系统性能有高要求的强烈建议使用ESSD,方便未来在线无缝升级。阿里云上几种云盘性能如下:

VPC:

·DMZ VPC:存放SAPRouter来连接SAP售后团队,配置公网弹性IP,设置独立的安全规则限制访问源IP范围。
·生产VPC:SAP的开发/测试/生产环境配置唯一VPC,方便运维管理。
·高可用 VPC:将SAP生产环境的应用服务器/数据库服务器各自分布式部署于同城不同可用区确保更高级别可用。
·容灾 VPC:在同城不同可用区或其他地域创建容灾VPC。

安全组:

·规划:4个安全组,分别为开发测试DMZ/内网,以及生产DMZ/内网。
·策略:为以下需求开启端口策略
·远程访问
·SAP Router
·SSH / VNC
·SUM/SWPM/Dispatcher/Message Server/Gateway
·SAPControl 、 HANA-Index server

网络:

·外网访问:只允许SAP Solution Manager、 SAP Router访问公网,其余系统默认关闭公网访问。
·内网访问:配置与线下网络不同的单独网段。在生产VPC内配置不同的虚拟交换机,分别放置开发/测试以及生产网段。更新所有最终用户的GUI配置以及所有外围环境中的接口IP地址,改成主机名/域名访问,方便DNS统一切换目标环境。

操作系统设计:

版本要求:
管理服务器:Windows server 12
其他系统:SUSE Linux Enterprise for SAP Applications 12 SP2
语言包要求:
SUSE Linux Enterprise for SAP Applications 12 SP2默认会安装所需语言包。系统默认语言必须设定为en_US.UTF-8,使用env或者locale命令检查默认语言
安装额外软件包:
-- sap-locale
-- sapconf
-- UUID
-- util-linux at least version: util-linux-2.25-22.1
-- uuidd at least version: uuidd-2.25-22.
-- util-linux-systemd-2.25-22.1
-- patterns-sles-x11
-- glibc-2.22-51.6 or newer
-- systemd-228-142.1 or newer
-- If you are using sapconf, please update to version 4.1.10 or newer
-- Linux Kernel level 4.4.120-92.70.1 or newer
-- Deactivate the fstrim service
-- saptune
系统参数要求:
/etc/sysctl.conf:
kernel.shmmax = 9223372036854775807
kernel.sem = 1250 256000 100 8192
kernel.shmall = 1152921504606846720
vm.max_map_count = 2000000

/etc/security/limits.conf:
@sapsys soft nofile 32800
@sapsys hard nofile 32800

# tuned-adm profile sap-hana
# systemctl start tuned
# systemctl enable tuned

HANA Server:
saptune S4HANA-DBSERVER

App Server:
saptune S4HANA-APPSERVER

其它要求:
·/tmp目录可用空间大于10G
·启用LVM磁盘管理,便于存储空间调整
备份要求:
·设定实例系统盘与数据盘的定期快照备份策略,每周一次,保留30天
·设定数据库定期备份的策略,每日全备,每15分钟数据库日志备份。

SAP应用设计:

高可用:

建议ASCS一主一备独立部署
PAS/AAS 可以考虑放置不同可用区,AAS可以多部署几个,
HANA DB建议做同可用区系统复制,有更高要求可以放置不同可用区

SAP上云的最佳技术实践

备份:建议使用SAP认证的阿里云HANA备份软件HBR来进行数据库的备份,可以实现高达1:30的重复删除比,同时图形操作界面简洁方便。

SAP上云的最佳技术实践

容灾:容灾上云是非常适合SAP的场景,有几大优势:
1.应用服务器停机·不收费
2.数据库服务器平时减配用时升配,灵活弹性
3.云上容灾环境相比线下均有冗余设计,最后一道防线数据有保障

有以下3种不同的容灾方案。

SAP上云的最佳技术实践

SAP这样的传统商业软件相对是比较封闭的体系,也不兼容云厂商的DBaaS产品,要想清晰洞察SAP生产环境的性能和业务流转,是需要专属方案的。目前的公有云厂商都提供了完整的云资源层面的监控,客户可以清晰的看到应用或数据库所在虚拟机的各种性能指标,比如CPU、内存、磁盘使用以及网络带宽延迟等等。公有云厂商基于严格的安全合规要求,虚机内操作系统之上的数据库以及再之上的应用实时情况是无法获取的。

SAP数据洞察:

SAP的技术数据有2种手段获取:
外部监控:通过检查SAP应用实例及工作进程状态
内部监控:通过CCMS警告监控来获取一定期间的资源使用及作业执行情况

外部监控

这种方式主要是基于在应用服务器发起基于SOAP WebService的Sapstartsrv进程,可以远程使用sapcontrol,通过受控ACL免登陆获取应用的各种状态。该访问支持HTTP及HTTPS协议。具体请参考SAP Note1439348来了解具体的安全配置。整个架构图大概如下:

SAP上云的最佳技术实践

内部监控

这种方式的实现主要是通过远程登录客户的000集团获取性能数据。000集团不包含任何正式生产系统的用户/业务数据,这也是安全的极大保障。SAP CCMS集中存储了SAP应用性能的各种数据。

数据展示

获取了技术数据之后很重要的一点就是需要按照SAP BASIS顾问的使用需求做进一步筛选和排列,以求最短时间了解系统当前实时状态。我们推荐使用阿里云DATAV做进一步的动态展示。以下是我们开发的SAP技术大屏,充分帮助客户管理层了解多套SAP应用的实施状态以及问题清单,运维人员及时跟进。

SAP上云的最佳技术实践

以上我展示了一些SAP迁移上云的最佳实践以及围绕SAP监控运维可以提供进一步的数据洞察。我们相信IaaS的变换只是SAP应用上云的第一步,这将为后续企业全面的业务数据洞察及数字化转型打下最坚实的基础。


更多云计算、大数据、实战架构等优质、热门内容,微信搜索“拜托了王教授”公众号添加关注获取~
更有优质技术交流社群、技术大牛一对一接触机会等众多福利等你来撩~

上一篇:华为展望5G未来 安全问题成关键


下一篇:精读《webpack4.0 升级指南》