From 44daac410ce2432696e002071fae3ca0189271cb Mon Sep 17 00:00:00 2001 From: admin Date: Mon, 7 Sep 2026 18:29:00 +0800 Subject: [PATCH] =?UTF-8?q?Cloud=20Service=20Delivery=E5=86=85=E5=AE=B9?= =?UTF-8?q?=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IMG-20260907140355573.png | Bin 0 -> 102041 bytes Clippings/ESM Cloud Infra Cost Review.md | 299 ++++++++++++++++ ... Application Cloud Readiness Check List.md | 31 ++ Cloud DevOps/Cloud Service Delivery 技术栈.md | 327 ++++++++++++++++++ .../ESM Cloud AWS Infra RI & Saving Plan.md | 29 ++ .../ESM Cloud Farm Version Tracking.md | 51 +++ Cloud DevOps/ESM Monthly SLA Result.md | 48 +++ ...TOM APM AppPluse Cloud Farm Information.md | 14 + .../ITOM Cloud AWS Account Overview.md | 66 ++++ ...ud Application SaaS Service Description.md | 70 ++++ Cloud DevOps/ITOM Cloud Service Team.md | 72 ++++ .../ITOM ESM Cloud Farm Information.md | 30 ++ Cloud DevOps/Index.md | 103 ++++++ ... NOM Cloud Deployments Version Tracking.md | 103 ++++++ ...NOM AWS Infra RI & Saving Plan Proposal.md | 61 ++++ .../OpsBNOM Cloud Infra Cost Review.md | 126 +++++++ Cloud DevOps/数据说明.md | 45 +++ 17 files changed, 1475 insertions(+) create mode 100644 Asset/Attachment/Cloud DevOps/ESM Cloud Farm Version Tracking/IMG-20260907140355573.png create mode 100644 Clippings/ESM Cloud Infra Cost Review.md create mode 100644 Cloud DevOps/Cloud Application Cloud Readiness Check List.md create mode 100644 Cloud DevOps/Cloud Service Delivery 技术栈.md create mode 100644 Cloud DevOps/ESM Cloud AWS Infra RI & Saving Plan.md create mode 100644 Cloud DevOps/ESM Cloud Farm Version Tracking.md create mode 100644 Cloud DevOps/ESM Monthly SLA Result.md create mode 100644 Cloud DevOps/ITOM APM AppPluse Cloud Farm Information.md create mode 100644 Cloud DevOps/ITOM Cloud AWS Account Overview.md create mode 100644 Cloud DevOps/ITOM Cloud Application SaaS Service Description.md create mode 100644 Cloud DevOps/ITOM Cloud Service Team.md create mode 100644 Cloud DevOps/ITOM ESM Cloud Farm Information.md create mode 100644 Cloud DevOps/Index.md create mode 100644 Cloud DevOps/OpsB and NOM Cloud Deployments Version Tracking.md create mode 100644 Cloud DevOps/OpsBNOM AWS Infra RI & Saving Plan Proposal.md create mode 100644 Cloud DevOps/OpsBNOM Cloud Infra Cost Review.md create mode 100644 Cloud DevOps/数据说明.md diff --git a/Asset/Attachment/Cloud DevOps/ESM Cloud Farm Version Tracking/IMG-20260907140355573.png b/Asset/Attachment/Cloud DevOps/ESM Cloud Farm Version Tracking/IMG-20260907140355573.png new file mode 100644 index 0000000000000000000000000000000000000000..dbd6446c25c56c0297deadc7ed30934c474766f1 GIT binary patch literal 102041 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

b=K>+x zXG=sx^)@D=CU>9fyI#-HF6@Dv5@5^1*QTmh27fB6jpE_DD!$;Wr;_~IDG>8H-iM<+ zbk2?Dv%Gr-U(HZbjid?ndrfF~4<<-Z1ajo&aF)@R z!y}Wl)>)bDX^5|+lvcFAT5a8^`H;Qd0k$ZZf-!&zxWFiL7$E=ILUsxv2U;0=83AtT}u=)Z=q- zqmBMr975+hJBUWo#t5JBsU_x68MJ>gsxXLK!%;^RS`~>rTobHkNnpQ4Z^p$Oxbil; z?4yU0a>C$gh4(t2a$X*cVXqdC;ML0e{-ZhrVreRf75@j?N30FAL#|Q0Mrg&g>R$cyk;Y(kLs9%wyDBsORmCE+Jq-i#F19(U zuAuskOqFX|pt5u15@#`HBE=v~-m5;tWuoDfg*(u4Tsh}APD-%AY5|v8O4Fzwch1ZT7k=_Nf%sb2YwN< zUgq#wg-?BvMzX`1aW>1{IGJvPX!!$ahGAOK;HCSfJ?nMF$81Znm~^n^MaHjfK6UPb zvT&s0)L~!CrqKN)-vu_MC07uhsB>JsjV{kY&0^kd=Xj0%AQC+q8+{QulRKj261wA@ zqKxjy01rQ%3ZV1j^F77sCqV96Jcm6AAKjGooe%AVpTJ8iNxWN2&36<8OVAXef0i8& zQ^ZD+Ps$;5X%F3jPXxc|em+wr?8Q8>8t1Pmkc;Qq! zx?xO%H1%xmbv^k8K&m>lqy#D86^uFQ&FMq=0xTfzgXI$Yk6BBhwqtNq^EOW07)sj0 zFeWpJhlDZJ*yDYs%Eqr?HXHH^r3_H?Z`m2iw($WayCcE6KrCxWxIlht^!4T!lA3r8 zP)1uOkr`c8c^m`6_6YAsmYe*S3QCzn>i|rF5c}x7XSRsrL@Nb2SmE#)LS(m zjAuE%XowF01b+?zt_P@^7?Z!Ib46-Hs;f!^mQNKP>bHA)g(9LPc8R4|DRouT?0=Sq z|Hoz(0OG~v=BWiMK(TG4y3ii KX}Z t4g.large, as the cpu usage is less than 5%, save around $100/mo depends on the usage REVIEWING Owner: Ting ask Sunny for a change. + 2. Change the op RDS disk from io2 to gp3, as gp3 is cheaper and provide more IOPS, save around $ **500** /mo REVIEWING Owner: Ting + 1. make sure the future op database start with t4g.large and gp3 + 2. may be we can remove few instances, as there are 3 OP related RDS. NO PLAN + 3. turn off the RDS if the system is not in use. save around $100~500/mo NO PLAN + 4. remove manual RDS snapshot keep recent 30 days: $300+ REVIEWING Owner: Ting +4. Apply the ecr storage cleanup solution: $ **500DONE** owner: [Ting Ye](https://rndwiki.houston.softwaregrp.net/confluence/display/~ting.ye@microfocus.com) + +## 2025-03-28 + +Reorganize the FinOps related tasks: + +1. EU18 + 1. Migrate "Tech Mahindra - YIT Prod-1947697" to new FinOps and then remove the old vertica, save around **$1300/m** REVIEWING owner: shenwei to check with PM +2. US24 + 1. Remove the old vertica, save around $ **1500** /m It's stopped for a month, owner: Ting DONE 11 Apr 2025 +3. EU3 + 1. Migrate 4 remaining tenants from FinOps\_Classic to new FinOps and then remove the old vertica, save around **$1300/mo** REVIEWING owner: shenwei to check with presales +4. US2 + 1. Decommission 920775298 and 263660258 which are using FinOps\_Classic, then remove the vertica, save around $ **500** /mo REVIEWING Lingyan has confirmed with Alex Dominic Savio William. Owner: shenwei + +## 2025-03-25 + +1. Add RI and SP on EU28, saved around **$1300/mo** DONE 25 Mar 2025 +2. Add RI for OpenSearch on US2-PROD (Covering US2/US6), save 339$/mo DONE 25 Mar 2025 +3. Add RI for OpenSearch on EU8, save 339$/mo. DONE 25 Mar 2025 +4. Based on the system usage, resize us2 smax RDS m6g.4xlarge → r6g.2xlarge, cms RDS r6g.2xlarge → r6g.xlarge, save around $ **1100** /mo DONE + +## 2025-02-27 + +1. Change all the EC2 instances from m5/r5 to m6i/r6i with better performance REVIEWING + 1. Asked RnD to test the new instance type. if we choose m6a/r6a can save around $3000+/m without performance improvements [Feature 2481012 - \[Cost saving\] \[SaaS\] Suppor AMD EC2 servers which can save up to $3000/month on SaaS](https://internal.almoctane.com/ui/entity-navigation?p=97002/32001&entityType=work_item&id=2481012) + 2. And m6g/r6g can save even more like 9000$, but most likely it's not working, pending RnD for testing. NO PLAN Danny: Arm-Based EC2 cannot be used for worker node, because our applications are not built for ARM processors! + +## 2025-01-08 + +1. Cleanup SMAX EFS, save around $ **1500/m**, owner: [Ting Ye](https://rndwiki.houston.softwaregrp.net/confluence/display/~ting.ye@microfocus.com) + JP12-STG,EU3,US7,US2-Prod,US6,EU8,AP10 DONE 28 Mar 2025 +2. US6 + 1. After decommission Ford, resize the farm, save around $400/mo DONE + Also Dick's Sporting good just onboard, we may not change the sizing, but make sure to remove files on efs. +3. EU3 + 1. Decommission legacy Carbon server and ALBs, save around $200/m DONE + +## 2024-12-11 + +1. EU18 + 1. Change the op RDS from t3.xlarge > t3.large, as the cpu usage is less than 5%, save around $120/m DONE + 2. Change the RDS disk from io2 to gp3, as gp3 is cheaper and provide more IOPS, save around $350/m DONE +2. EU3 + 1. Change the op RDS from t3.xlarge > t3.large, as the cpu usage is less than 5%, save around $120/m DONE + 2. Change the RDS disk from io2 to gp3, as gp3 is cheaper and provide more IOPS, save around $350/m DONE +3. us24 + 1. Change the op RDS from t3.xlarge > t3.large, as the cpu usage is less than 5%, save around $120/m DONE +4. RI for OP RDS save around $100/m DONE + +## 2024-09-20 + +1. Terminate the old bastion node. Save around $300/m. DONE + +## 2024-08-28 + +1. Turn off the auto RDS backup, as we have the "AWS Backup service". Save around $300/m. DONE + 1. us2-prod oomt, eu18-prod oo/cms/smax, ap10 oomt, ca16 oo/cms/smax, jp12-stg cms/oo/smax. +2. Finish the Helm Post-transformation tasks, save more than $100/m. REVIEWING +3. Remove the OMT ingress (16.43$ \* 12 = $197). Reviewing the situation with RnD, RnD may provide a step to do it. REVIEWING + [https://docs.microfocus.com/doc/SMAX/24.2/TransformSmaxToHelmBased#Clean\_up\_OMT\_resources\_in\_the\_OMT\_namespace](https://docs.microfocus.com/doc/SMAX/24.2/TransformSmaxToHelmBased#Clean_up_OMT_resources_in_the_OMT_namespace) + [Issue 2323030 - \[Doc\] \[SaaS\] Remove unnessary OMT resoruces after helm transformation.](https://internal.almoctane.com/ui/entity-navigation?p=97002/32001&entityType=work_item&id=2323030) + +## 2024-07-08 + +1. Clean up the RDS backup tables in the database (not saving money but preventing the cost to increase) REVIEWING + 1. Audit (rnd review) + 2. revinfo (rnd confirmed to truncate) need a change + 3. bak tables (ops review) + +## 2024-05-14 + +1. Change all workers volume type from gp2 to gp3. Save around $ **1000/m**. Plan with CCoE ami change PLANNED +2. OpenSearch on US2-Dev Around 800$ Plan to decommission DONE owner: Ting +3. EU18 + 1. Reduce the vertica data node size from m4.4xlarge to r5.2xlarge: Save $600/m NO PLAN owner: Scott +4. Review the backup procedure for potential issues on cost + 1. Change the kms key os RDS, so that we can enable incremental backup. Can save around $ **2000** +/m REVIEWING Solution is ready, requires a downtime +5. Need to check the saving plan usage 80%~90%, need to check with Vinay. List the number DONE 25 Mar 2025 by lingyan, coverage 99% by the company +6. Remove the us2-dev EKS [smax-cluster-us2dev](https://us-west-2.console.aws.amazon.com/eks/home?region=us-west-2#/clusters/smax-cluster-us2dev) in 551360491749: $300/m DONE By Ting +7. Review the saving plan for us26 Owner:Lingyan DONE 25 Mar 2025 by lingyan, coverage 99% by the company + +## 2024-05-08 + +1. Change cross-region retention from 14 days to 7 days DONE [Yu Liu](https://rndwiki.houston.softwaregrp.net/confluence/display/~liu.yu@microfocus.com) +2. Remove the local backup generated by cross-region backup owner: DONE [Yu Liu](https://rndwiki.houston.softwaregrp.net/confluence/display/~liu.yu@microfocus.com) +3. Cleanup SMAX EFS to reduce the cost: $ **2000**, owner: [Ting Ye](https://rndwiki.houston.softwaregrp.net/confluence/display/~ting.ye@microfocus.com) + ,JP12-STG,EU3,US7,US2-Prod,US6,EU8,AP10 DONE +4. Checking if we can change the backup type to cold backup for efs owner: NO PLAN [Yu Liu](https://rndwiki.houston.softwaregrp.net/confluence/display/~liu.yu@microfocus.com) +5. Remove the us1 EKS in 361684190412, as it cost $400 for eks extended support owner: [Ting Ye](https://rndwiki.houston.softwaregrp.net/confluence/display/~ting.ye@microfocus.com) DONE +6. check the ecr storage cleanup solution: $ **800** owner: [Ting Ye](https://rndwiki.houston.softwaregrp.net/confluence/display/~ting.ye@microfocus.com) + \--US2-dev,EU3-Prod,US7-Prod DONE +7. Check the CMS efs cleanup solution with rnd owner: [Ling-yan Meng](https://rndwiki.houston.softwaregrp.net/confluence/display/~lingyan.meng@microfocus.com) DONE [Clean up CMS log files](https://rndwiki.houston.softwaregrp.net/confluence/display/ICS/Clean+up+CMS+log+files) + 1. Cleanup CMS EFS to reduce the cost: $ **500** owner: [Ting Ye](https://rndwiki.houston.softwaregrp.net/confluence/display/~ting.ye@microfocus.com) DONE + 2. US2-dev,US2-Prod,EU3,US7,US24 Done + 3. JP12,BR14,CA16,US26 Done + +## 2024-04-28 + +1. US6/EU8/AP10/EU18 + 1. EU8 + 1. remove not used tenant-export/tenant-import 400GB packages: 200$ DONE + +## 2024-03-25 + +1. US6/EU8/AP10/EU18 + 1. AP10 + 1. remove manual RDS snapshot keep recent 30 days: $85 DONE + 2. remove unused ALB (save 16.43$ \* 7 = 115$ ) Check FQDN and traffic, peer review before removal REVIEWING + 1. [acd2b58c6b3fc40a3a911c79dd0f8105-7bb8644d3ea49e82.elb.ap-southeast-2.amazonaws.com](http://acd2b58c6b3fc40a3a911c79dd0f8105-7bb8644d3ea49e82.elb.ap-southeast-2.amazonaws.com/) (k8s-itsmatbx-itomngin-1af9765940) + 2. [internal-SMAX-EKS-ALB-832470617.ap-southeast-2.elb.amazonaws.com](http://internal-smax-eks-alb-832470617.ap-southeast-2.elb.amazonaws.com/) + 3. [internal-CMS-ALB-1420616780.ap-southeast-2.elb.amazonaws.com](http://internal-cms-alb-1420616780.ap-southeast-2.elb.amazonaws.com/) + 4. [internal-cms-smax-integration-605090270.ap-southeast-2.elb.amazonaws.com](http://internal-cms-smax-integration-605090270.ap-southeast-2.elb.amazonaws.com/) (should be the legacy integration) + 5. [internal-k8s-ap10prodcmsalb-99eed8dbd4-1596301489.ap-southeast-2.elb.amazonaws.com](http://internal-k8s-ap10prodcmsalb-99eed8dbd4-1596301489.ap-southeast-2.elb.amazonaws.com/) + 6. [internal-k8s-oopublic-e2b012afab-1414584707.ap-southeast-2.elb.amazonaws.com](http://internal-k8s-oopublic-e2b012afab-1414584707.ap-southeast-2.elb.amazonaws.com/) + 7. [internal-k8s-ap10auditalb-f2e1f6a5de-476511256.ap-southeast-2.elb.amazonaws.com](http://internal-k8s-ap10auditalb-f2e1f6a5de-476511256.ap-southeast-2.elb.amazonaws.com/) + 2. US6 + 1. remove manual RDS snapshot keep recent 30 days: $ **300** + DONE + 2. remove unused ALB (save 16.43$ \* 8 = 131$ ) Check FQDN and traffic, peer review before removal REVIEWING + 1. [ad2b5ab2128d842a4ab7a8479b91d6ca-5f7aeea4304fc4ab.elb.us-west-2.amazonaws.com](http://ad2b5ab2128d842a4ab7a8479b91d6ca-5f7aeea4304fc4ab.elb.us-west-2.amazonaws.com/) (k8s-itsmaohs-itomngin-b928fd8ff6) + 2. [internal-SMAX-ALB-1780068998.us-west-2.elb.amazonaws.com](http://internal-smax-alb-1780068998.us-west-2.elb.amazonaws.com/) + 3. [internal-subdomain-testing-1383237556.us-west-2.elb.amazonaws.com](http://internal-subdomain-testing-1383237556.us-west-2.elb.amazonaws.com/) + 4. [internal-CMS-ALB-103193064.us-west-2.elb.amazonaws.com](http://internal-cms-alb-103193064.us-west-2.elb.amazonaws.com/) + 5. [internal-ALB-For-Integration-1506362286.us-west-2.elb.amazonaws.com](http://internal-alb-for-integration-1506362286.us-west-2.elb.amazonaws.com/) + 6. [internal-k8s-us6prodcmsalb-05d13e29f6-1782663167.us-west-2.elb.amazonaws.com](http://internal-k8s-us6prodcmsalb-05d13e29f6-1782663167.us-west-2.elb.amazonaws.com/) + 7. [internal-k8s-oomtpublic-8b587340e7-989485052.us-west-2.elb.amazonaws.com](http://internal-k8s-oomtpublic-8b587340e7-989485052.us-west-2.elb.amazonaws.com/) + 8. [internal-k8s-us6auditalb-b4c1ac47bd-1257080049.us-west-2.elb.amazonaws.com](http://internal-k8s-us6auditalb-b4c1ac47bd-1257080049.us-west-2.elb.amazonaws.com/) + 3. EU8 + 1. remove manual RDS snapshot keep recent 30 days: $ **400** + DONE + 2. remove unused ALB (save 16.43$ \* 8 = 131$ ) Check FQDN and traffic, peer review before removal REVIEWING + 1. [internal-CMS-ALB-EU8-50066461.eu-central-1.elb.amazonaws.com](http://internal-cms-alb-eu8-50066461.eu-central-1.elb.amazonaws.com/) + 2. [internal-k8s-eu8cmsext-09c603805a-1635150560.eu-central-1.elb.amazonaws.com](http://internal-k8s-eu8cmsext-09c603805a-1635150560.eu-central-1.elb.amazonaws.com/) + 3. [internal-EU8-ALB-For-Integration-1099466715.eu-central-1.elb.amazonaws.com](http://internal-eu8-alb-for-integration-1099466715.eu-central-1.elb.amazonaws.com/) + 4. [af67eb4c5555d47aab1230aaeafbfcfd-82a881994f2d96b7.elb.eu-central-1.amazonaws.com](http://af67eb4c5555d47aab1230aaeafbfcfd-82a881994f2d96b7.elb.eu-central-1.amazonaws.com/) (k8s-itsmah3c-itomngin-c4e78faf0f) + 5. [internal-SMAX-ALB-582960966.eu-central-1.elb.amazonaws.com](http://internal-smax-alb-582960966.eu-central-1.elb.amazonaws.com/) + 6. [internal-EU8-ALB-For-Integration-1099466715.eu-central-1.elb.amazonaws.com](http://internal-eu8-alb-for-integration-1099466715.eu-central-1.elb.amazonaws.com/) + 7. [aff85e03390924d0c9a6eae56cf2b525-6a24d3a3cd2ad390.elb.eu-central-1.amazonaws.com](http://aff85e03390924d0c9a6eae56cf2b525-6a24d3a3cd2ad390.elb.eu-central-1.amazonaws.com/) (this one has traffic on 80, k8s-itsmah3c-itomngin-21d82011c2) + 8. [internal-k8s-oomtpublic-8f26407304-488986183.eu-central-1.elb.amazonaws.com](http://internal-k8s-oomtpublic-8f26407304-488986183.eu-central-1.elb.amazonaws.com/) + 4. EU18 + 5. US6-STG + 1. (us-east-1) remove manual RDS snapshot keep recent 30 days: $40+ DONE + 2. (us-west-2) remove manual RDS snapshot keep recent 30 days: $100+ DONE +2. JP12/BR14/CA16 + 1. JP12 + 1. remove manual RDS snapshot keep recent 30 days: $70 DONE + 2. BR14 + 3. CA16 + 4. jp12-stg + 1. remove manual RDS snapshot keep recent 30 days: $40 DONE +3. US2/US2-DEV/US24 + 1. US2 + 1. remove manual RDS snapshot keep recent 30 days: $ **1000** + DONE + 2. US2-DEV + 1. remove manual RDS snapshot keep recent 30 days: $200+ DONE + 2. (us-east-1) remove manual RDS snapshot keep recent 30 days: $20+ DONE + 3. US24 + 1. remove manual RDS snapshot keep recent 30 days: $20 DONE +4. EU3/US7 + 1. EU3 + 1. remove manual RDS snapshot keep recent 30 days: $ **500** + DONE + 2. US7 + 1. remove manual RDS snapshot keep recent 30 days: $ **500** + DONE +5. EU22/US26 + 1. EU22 + 2. US26 + 1. remove manual RDS snapshot keep recent 30 days DONE + 2. CMS RDS r6g.4xlarge -> r6g.2xlarge (save $800) last 4 weeks peak CPU 10% DONE + +## 2023-12-19 + +Make sure to **check and keep the max\_connections** + +1. US6/EU8/AP10/EU18 + 1. AP10 + 1. OO RDS: m6g.2xlarge → r6g.xlarge (save $150) last 4 weeks peak CPU 12% DONE + 2. US6 + 1. OO RDS: m6g.2xlarge → r6g.xlarge (save $150) last 4 weeks peak CPU 6% DONE + 3. EU8 + 1. OO RDS + 1. m6g.2xlarge -> r6g.xlarge (save $150) last 4 weeks peak CPU 15% DONE + 2. IO1 3000 -> GP3 IOPS 12000 (save $300) DONE + 4. EU18 + 1. SMAX RDS m6g.4xlarge -> r6g.2xlarge (save $300) last 4 weeks peak CPU 18% DONE + 2. OO RDS: m6g.2xlarge → r6g.xlarge (save $150) last 4 weeks peak CPU 9% DONE +2. JP12/BR14/CA16 + 1. JP12 + 1. SMAX RDS m6g.2xlarge -> r6g.xlarge (save $150) last 4 weeks peak CPU 13% DONE + 2. CMS RDS m6g.2xlarge -> r6g.xlarge (save $150) last 4 weeks peak CPU 6% DONE + 3. OO RDS: m6g.2xlarge → r6g.xlarge (save $150) last 4 weeks peak CPU 14% DONE + 2. BR14 + 1. CMS RDS m6g.2xlarge -> r6g.xlarge (save $150) last 4 weeks peak CPU 9% DONE + 2. OO RDS: m6g.2xlarge → r6g.xlarge (save $150) last 4 weeks peak CPU 5% DONE + 3. CA16 + 1. SMAX RDS m6g.2xlarge -> r6g.xlarge (save $150) last 4 weeks peak CPU 5% DONE + 2. OO RDS: m6g.2xlarge → r6g.xlarge (save $150) last 4 weeks peak CPU 4% DONE + 4. jp12-stg + 1. OO RDS: m5.2xlarge → r6g.xlarge DONE +3. US2/US24 + 1. US2 + 1. OO RDS: m6g.2xlarge → r6g.xlarge (save $150) last 4 weeks peak CPU 19% DONE +4. EU3/US7 + 1. EU3 + 1. CMS RDS m6g.2xlarge -> r6g.xlarge (save $150) last 4 weeks peak CPU 15% DONE + 2. OO RDS: m6g.2xlarge → r6g.xlarge (save $150) last 4 weeks peak CPU 17% DONE + 2. US7 + 1. OO RDS: m6g.2xlarge → r6g.xlarge (save $150) last 4 weeks peak CPU 10% DONE + +## 2023-11-30 + +1. US6/EU8/AP10/EU18 + 1. US6 + 1. CMS RDS: IO1 10000 IOPS → GP3 IOPS ($1093.5 → $86.25) DONE + 2. SMA RDS: + 1. r6g.4xlarge → r6g.2xlarge (save $1312) Last 4 week free memory more than 80G, CPU less than 30%. **Check and keep the max\_connections** DONE + 2. GP2 → GP3 DONE + 3. ~~CMS RDS: m6g.4xlarge → r6g.2xlarge ($823 -> $741 → $463) Need to wait till **Dec 18th** for RI expiration for $463 Last 4 weeks CPU < 30%, Min Free memory 31G + ~~As the load on 7th Dec is higher than 60%. + 4. Remove manual & backup snapshots, keep recent 30 days: $400+ DONE + 2. EU8 + 1. SMA RDS: GP2 4500G → GP3 4500G 18000 IOPS 1000 MBPS ($1229 → $1616 ) Last 4 week IOPS peak time: 17000-18000, MBPS peak time: 450 MBPS DONE As the us6 worked, we can plan the eu8 change + 1. We can only switch to 18000 IOPS 500 MBPS at first and keep monitoring, if required, increase to 1000 MBPS, it will require less than $100 per month. Based on the monitoring, we need to change the MBPS from 500 MBPS to 1000 MBPS. DONE + 2. Remove manual & backup snapshots keep recent 30 days: $1000+DONE + 3. Disable EFS throughput mode for monitoring: $350 DONE + 3. AP10 + 1. Remove manual & backup snapshots keep recent 30 days: $100+ DONE +2. JP12/BR14/CA16 + 1. JP12 + 1. Remove manual & backup snapshots keep recent 30 days: $50+DONE + 2. BR14 + 1. Remove manual & backup snapshots keep recent 30 days: $150+DONE + 3. CA16 + 1. Remove manual & backup snapshots keep recent 30 days: $50+DONE +3. US2/US24 + 1. US2 + 1. SMA RDS: IO1 2000G 3000 IOPS → GP3 2000G 12000 IOPS ($1100→ $460) Last 4 week IOPS peak time: 2500-4000, MBPS peak time: 70-150 MBPS DONE + 2. CMS RDS: IO1 500G 3000 IOPS → GP3 500G 12000 IOPS ($1100→ $460) Last 4 week IOPS peak time: 2500-4000, MBPS peak time: 70-150 MBPSDONE + 2. US24 + 1. SMA RDS: + 1. m6g.2xlarge → r6g.xlarge ($998→ $726) DONE + 2. disable multi-AZ: save $363 DONE + 2. OO RDS: m6g.2xlarge → r6g.xlarge ($499 →$363) **Check and keep the max\_connections** DONE + 3. Vertica + 1. ~~Reduce the vertica data node number from 3 to 1~~ + 2. Reduce the vertica data node size from r5.8xlarge to r5.4xlarge: $1600 DONE + +**Need to request RI before Dec 18th. [Wei Shen](https://rndwiki.houston.softwaregrp.net/confluence/display/~wei.shen2@microfocus.com)** + +**Improve the instance type to newer version. RnD** + +**Backup policy: keep only one month.** + +Check us2 tenant FinOps usage, may be it's been moved to us24? + +[https://us2-smax.saas.microfocus.com:443/saw/ess?TENANTID=920775298](https://us2-smax.saas.microfocus.com/saw/ess?TENANTID=920775298) + +Posted by lmeng2 at Mar 28, 2025 02:39 EDT \ No newline at end of file diff --git a/Cloud DevOps/Cloud Application Cloud Readiness Check List.md b/Cloud DevOps/Cloud Application Cloud Readiness Check List.md new file mode 100644 index 00000000..726e0192 --- /dev/null +++ b/Cloud DevOps/Cloud Application Cloud Readiness Check List.md @@ -0,0 +1,31 @@ +--- +title: "ITOM Cloud Service Delivery : Cloud Application Cloud Readiness Check List" +source: "http://127.0.0.1:8999/Cloud-Application-Cloud-Readiness-Check-List_682933055.html" +author: + - "[[Wei Shen]]" +published: 2024-12-27 +created: 2026-09-07 +description: +tags: + - "clippings" +--- +## Introduction + +The purpose of this document is to define and describe the standards that are required from any modernized application that about to on-board to SaaS. + +## Modernized Applications + +Any product/Application that developed for SaaS only and desired to be at some level of Dev/Ops and continuously delivery approach + +| | **Cloud Readiness** | **Description** | +| --- | --- | --- | +| | Saleable | - Complete product definition in Control Tower with SKUs clearly defined - Complete license generation strategy | +| Deployability Configurability | Cloud Deployment & Configuration | - Cloud Applications can be deployed on a given Cloud platform in a fully or partially automated manner. - All required feature and functional configuration management should be provided through a Web/API enabled interface. Like enable tenant capabilities | +| Availability | HA & Self Recovery | - HA, Load Balancing and Fault Tolerance testing - App recover automatically after machine restart in order to maintain stability - Restarting App service will restore all node functionality and integrations - DB/File System connection should restore automatically after an issue (ex, network connectivity) without restarting the App service and should document the problem in the logs. | +| Maintainability | Upgrade/Patch | - Cloud application component to be upgraded, patched or functions changed in a standard and predictable manner. Maintainability requires backward compatibility through 2 or more releases to enable maintenance activities to occur online. | +| Recoverability | Backup & Restore | - Cloud Application has a complete data backup and recovery solution with well-documented backup and recovery procedures that have been validated and tested | +| Observability | Monitoring | - Expose application health for monitoring - node\\component\\farm\\tenant\\integration - Implement application monitoring and thresholds based on best practices - Major functionality monitoring (APM/BPM) for SLA calculation - Implement usage\\load\\performance monitoring on farm\\components based on best practices - Runbooks – resolutions for each alert that will be handled by the NOC/Ops | +| | Documentation | - SaaS Customer facing documentation portal - Internal documentations for Ops like deployment guide, upgrade, sizing guide, backend integration, APIs, affected functionality in case of a component failure, troubleshooting guide etc. | +| Observability | Performance & Capacity | - Measure performance and load and share metrics - number of users\\transactions\\requests the farm can handle - Measure and determine farm capacity in term of number of tenants and their footprint - Provide runbook in case farm limit reached its threshold (Example - Add another Server) - Expose metrics of customer product usage - Can be implemented with the help of Tableau\\Power BI reporting based on what expose. Like License usage, tenant information etc. | +| Securability Defensibility | Security | - Capability and awareness of the application to defend itself against incorrect usage. Both accidental and purposeful. Like develop WAF rules to protect Cloud Applications | +| | Service Management | - Define what services from the customer's perspective will need to be fulfilled by the SaaS Ops team when the product goes live. A detailed service catalog needs to be listed as well as an instruction document of the services to be completed - Customer-oriented service catalogs need to be defined as corresponding service offerings and made available to customers through support tooling. The service offering requires a complete definition of the scope of the service and the information, documentation, etc. that needs to be provided. | \ No newline at end of file diff --git a/Cloud DevOps/Cloud Service Delivery 技术栈.md b/Cloud DevOps/Cloud Service Delivery 技术栈.md new file mode 100644 index 00000000..8591ccbc --- /dev/null +++ b/Cloud DevOps/Cloud Service Delivery 技术栈.md @@ -0,0 +1,327 @@ + +# CSD团队技术栈 + +**角色**: Senior Manager of Cloud Service Delivery (ITOM Cloud Service Team) + +--- + +## 📊 核心组件架构 + +### 1️⃣ AWS 云基础设施层 (IaaS) + +#### 计算服务 + +- **EC2** - 虚拟服务器实例(用于ITOM SaaS应用部署) +- **Auto Scaling** - 自动扩展管理 +- **ECS/EKS** - 容器编排(可选微服务架构) +- **Lambda** - 无服务器函数(自动化任务) +- **CloudWatch** - 基础设施监控 + +#### 存储服务 + +- **RDS** - 关系型数据库(应用数据存储) +- **S3** - 对象存储(文档、备份、日志存储) +- **EBS** - 块存储(EC2数据卷) +- **ElastiCache** - 缓存层(Redis/Memcached) + +#### 网络服务 + +- **VPC** - 虚拟私有云(隔离网络环境) +- **ALB/NLB** - 负载均衡器 +- **Route 53** - DNS管理 +- **VPN/Direct Connect** - 混合连接 + +#### 安全与合规 + +- **IAM** - 身份与访问管理 +- **Security Group** - 防火墙规则 +- **KMS** - 密钥管理服务 +- **Secrets Manager** - 机密存储 +- **CloudTrail** - 审计日志 +- **AWS Shield/WAF** - DDoS防护 + +--- + +### 2️⃣ 产品与应用层 + +#### ITOM核心产品 + +- **ITOM ESM(Enterprise Service Management)** - 服务管理SaaS +- **ITOM OpsBNOM(Operations Business Networking Operations Management)** - 运维管理SaaS +- **ITOM APM** - 应用性能管理(AppPluse) + +#### 应用配置 + +- 多租户架构隔离 +- 数据库实例划分 +- 应用版本管理 + +--- + +### 3️⃣ DevOps与部署自动化 + +#### CI/CD工具集 + +- **Jenkins** - 持续集成/部署流程 +- **AWS CodeBuild** - 构建服务 +- **AWS CodeDeploy** - 部署自动化 +- **GitLab/GitHub** - 源代码管理 + +#### 基础设施即代码 (IaC) + +- **Terraform** - 基础设施管理 +- **CloudFormation** - AWS原生IaC +- **UCMDB** - 本公司产品配置管理 +- **Chef/Puppet** - 配置编排(可选) + +#### 部署自动化脚本 + +- Bash/Python - 运维脚本 +- 产品提供自动化(Product Provision Automation) +- 产品配置自动化(Product Configuration Automation) + +--- + +### 4️⃣ 监控与可观测性 + +#### 监控服务 + +- **CloudWatch** - AWS本地监控 + - 指标收集 + - 日志聚合 + - 自定义仪表板 + +#### 性能监控 + +- **Prometheus** - 应用性能监控 +- **OpenTelemetry** 应用层探针深入产品内部进行监控管理 +- **分布式追踪** - 请求链路追踪 +- **性能基线管理** - 性能指标基线 +- **Grafana** 监控数据展示,基于数据图形进行指标监控 + +#### 告警与响应 + +- **CloudWatch Alarms** - 告警规则 +- **SNS/SES** - 告警通知 +- **PagerDuty/Opsgenie** - 事件响应(可选) +- **告警响应流程** - Alerting Response Process + +#### 日志管理 + +- **CloudWatch Logs** - 应用日志 +- **S3日志存储** - 长期归档 +- **日志分析工具** - 日志查询分析 + +--- + +### 5️⃣ 成本优化与FinOps + +#### 成本分析工具 + +- **AWS Cost Explorer** - 成本分析 +- **CloudHealth** - 账单管理 +- **自定义BI分析** - Power BI -Business Data Collection/BI Analysis + +#### 成本优化策略 + +- **预留实例 (RI)** - Reserved Instances 购买管理 +- **储蓄计划 (SP)** - Saving Plans规划 +- **按需调度** - 定时启停实例 +- **Right-Sizing** - 实例规格优化 + +#### 成本追踪 + +- ESM Cloud Infra Cost Review +- OpsBNOM Cloud Infra Cost Review +- 成本标签策略(Cost Allocation Tags) + +--- + +### 6️⃣ 容量与性能管理 + +#### 容量规划 + +- **Cloud Capacity Management** - 容量规划 +- **性能指标收集** - Performance Sizing Guide +- **云模拟环境** - Cloud Simulation Environment + +#### 扩展管理 + +- Auto Scaling策略 +- 负载测试工具 +- 容量预测模型 + +--- + +### 7️⃣ 灾难恢复与业务连续性 + +#### 备份与恢复 + +- **AWS Backup** - 集中备份管理 +- **RDS自动备份** - 数据库备份 +- **EBS快照** - 卷快照 + +#### 灾难恢复 + +- **多可用区(Multi-AZ)** - 高可用部署 +- **跨区域复制** - 异地备份 +- **RTO/RPO规划** - 恢复时间目标 +- **Disaster & Recovery Plan** - 灾难恢复计划 + +#### 业务连续性 + +- **Service Availability Monitoring** - 服务可用性监控 +- **Service Health Page** - 状态页面 +- **故障转移自动化** - Failover automation + +--- + +### 8️⃣ 支持与服务工具 + +#### 支持系统 + +- **支持票务系统** - Support Ticketing Tool System +- **知识库系统** - 诊断工具、诊断信息库 +- **客户门户** - Customer Facing Doc Portal + +#### 诊断工具集 + +- **产品诊断工具** - Product Diagnostic Tooling +- **产品支持性工具** - Product Support-ability Tooling +- **日志收集工具** - 系统诊断脚本 + +#### 文档与培训 + +- **安装部署指南** - Installation/Deployment Guide +- **运维手册** - Operational Runbook +- **培训材料** - Training Materials & 新员工培训 + +--- + +### 9️⃣ 治理与合规 + +#### 变更管理 + +- **变更管理流程** - Change Management +- **发布流程** - Product Release Process +- **补丁管理** - Patch/Hotfix Process + +#### 审计与合规 + +- **Audit Compliance** - 审计追踪 +- **访问控制** - IAM权限 +- **合规检查清单** - Cloud-Application-Cloud-Readiness-Check-List +- **安全审批** - Cloud Security Office Sign-Off + +#### 配置管理 + +- **配置管理数据库 (CMDB)** - Configuration Management +- **配置版本控制** - 配置历史追踪 + +--- + +### 🔟 客户服务与运营 + +#### 客户生命周期管理 + +- **客户试用/PoC** - Product Trial/PoC Procedure +- **客户订购流程** - Customer Order Fulfillment +- **客户入职流程** - Customer On-boarding Process +- **产品提供自动化** - Automated Provisioning + +#### 服务质量管理 + +- **SLA管理** - Service Level Agreement +- **月度SLA统计** - ESM Monthly SLA Result +- **可用性检查** - Service Availability Check & Monthly SLA +- **客户满意度调查** - Customer Satisfaction Survey + +#### 事件与问题管理 + +- **事件管理流程** - Incident Management - SMAX (本公司产品) +- **客户升级路径** - Customer Escalation Process & Path - SMAX (本公司产品) +- **通知流程** - Customer Notification Process - SMAX (本公司产品) + +--- + +## 🏗️ 技术栈分层架构图 + +``` +┌─────────────────────────────────────────────────────────────┐ +│ 客户服务层 (Customer Facing) │ +│ • 支持门户 • SLA管理 • 客户通知 • 满意度调查 │ +└─────────────────────────────────────────────────────────────┘ + ↓ +┌─────────────────────────────────────────────────────────────┐ +│ 应用与服务层 (Application) │ +│ • ITOM ESM • ITOM OpsBNOM • ITOM APM (AppPluse) │ +│ • 配置管理 • 许可证管理 • 版本管理 │ +└─────────────────────────────────────────────────────────────┘ + ↓ +┌─────────────────────────────────────────────────────────────┐ +│ 运维与运营层 (Operations & Maintenance) │ +│ • 监控告警 • 日志分析 • 性能优化 • 容量管理 │ +│ • 灾难恢复 • 备份管理 • 事件管理 • 变更管理 │ +└─────────────────────────────────────────────────────────────┘ + ↓ +┌─────────────────────────────────────────────────────────────┐ +│ DevOps与自动化层 (DevOps/Automation) │ +│ • CI/CD工具 • IaC框架 • 部署自动化 • 配置管理 │ +│ • Terraform • CloudFormation • CodePipeline │ +└─────────────────────────────────────────────────────────────┘ + ↓ +┌─────────────────────────────────────────────────────────────┐ +│ AWS 云基础设施层 (AWS Infrastructure) │ +│ • 计算 (EC2/ECS/Lambda) │ +│ • 存储 (RDS/S3/EBS) │ +│ • 网络 (VPC/ALB/Route53) │ +│ • 安全 (IAM/KMS/SecurityGroup) │ +│ • 监控 (CloudWatch/CloudTrail) │ +│ • 成本 (Cost Explorer/RI/SP) │ +└─────────────────────────────────────────────────────────────┘ +``` + +--- + +## 🎯 主要产品成熟度评估维度 + +CSD团队需要持续评估以下技术维度: + +|维度|说明|关键工具/流程| +|---|---|---| +|**Recoverability**|恢复能力|AWS Backup, RDS自动备份, 灾难恢复计划| +|**Reliability**|可靠性|CloudWatch监控, SLA管理, 可用性检查| +|**Operability**|可操作性|运维手册, 自动化工具, 运维培训| +|**Maintainability**|可维护性|配置管理, 版本控制, 补丁管理| +|**Securability**|安全性|IAM, KMS, Security Groups, 审计日志| +|**Observability**|可观测性|CloudWatch, APM, 日志分析, 分布式追踪| +|**Deployability**|可部署性|CI/CD管道, IaC框架, 自动化部署| +|**Scalability**|可扩展性|Auto Scaling, 负载均衡, 容量管理| +|**Affordability**|成本性|Cost Explorer, RI/SP优化, FinOps分析| +|**Troubleshootability**|可故障排查|诊断工具, 日志聚合, 性能分析| + +--- + +## 📋 CSD团队关键职责与技术支撑 + +### 作为Senior Manager,需要关注的关键领域: + +1. **战略层** - 产品云就绪度、多云部署策略、迁移路线图 +2. **架构层** - SaaS架构设计、高可用设计、安全架构 +3. **运营层** - 自动化程度、成本控制、SLA达成 +4. **人才层** - 团队技能评估、培训计划、流程优化 +5. **工具层** - 技术栈完整性、工具集成度、自动化水平 + +--- + +## 🚀 建议的优化方向 + +- ✅ 增强基础设施自动化程度(Terraform/CloudFormation) +- ✅ 完善可观测性(分布式追踪、日志集中管理) +- ✅ 优化成本管理(FinOps体系化) +- ✅ 提升灾难恢复能力(RTO/RPO优化) +- ✅ 建立完整的自助服务平台 + +--- + +**文档版本**: 1.0 | **更新日期**: 2026年 | **作用域**: ITOM Cloud Service Team \ No newline at end of file diff --git a/Cloud DevOps/ESM Cloud AWS Infra RI & Saving Plan.md b/Cloud DevOps/ESM Cloud AWS Infra RI & Saving Plan.md new file mode 100644 index 00000000..410045b0 --- /dev/null +++ b/Cloud DevOps/ESM Cloud AWS Infra RI & Saving Plan.md @@ -0,0 +1,29 @@ +--- +title: "ITOM Cloud Service Delivery : ESM Cloud AWS Infra RI & Saving Plan" +source: "http://127.0.0.1:8999/686065526.html" +author: + - "[[Sunny Xia]]" +published: +created: 2026-09-07 +description: +tags: + - "clippings" +--- +## Introduction + +Here is the final approved ESM AWS account saving plan. + +## Saving Plan + +As discussed, below is cost estimate for 3 yrs Compute saving plan. + +

Account Number

Compute SP /hr

3 yrs no upfront

Total commitment

Estimated saving

361684190412

$ 4.00

$ 105,120.00

$ 57,816.00

609729173090

$ 3.00

$ 78,840.00

$ 43,362.00

616654404631

$ 13.50

$ 354,780.00

$ 195,129.00

772889804459

$ 4.00

$ 105,120.00

$ 57,816.00

Total

$ 643,860.00

$ 354,123.00

+ +## RDS RI + +RDS: + +- I have removed “439259180524” RDS from the below list as it yet to deploy. +- Please let me know if you want to exclude which are marked in green (instance type is pending change) & yellow (Need to be confirmed after change of cost optimization) colors? + +

1 yr with no upfront

Account No

Region

Farm Name

DB type

Engine OS

details

OD /yr

RI/Yr

609729173090

Oregon

US2-PROD

db.m6g.4xlarge

postgreSQL

Multi-AZ

$ 22,285.44

$ 14,272.68

609729173090

Oregon

US2-PROD

db.r6g.xlarge

postgreSQL

Single-AZ

$ 3,942.00

$ 2,274.96

609729173090

Oregon

US2-PROD

db.r6g.xlarge

postgreSQL

Single-AZ

$ 3,942.00

$ 2,274.96

361684190412

Oregon

US7-PROD

db.m6g.2xlarge

postgreSQL

Multi-AZ

$ 11,142.72

$ 7,136.76

361684190412

Oregon

US7-PROD

db.m6g.xlarge

postgreSQL

Single-AZ

$ 2,785.68

$ 1,784.40

361684190412

Oregon

US7-PROD

db.r6g.xlarge

postgreSQL

Single-AZ

$ 3,942.00

$ 2,274.96

361684190412

Frankfurt

EU3-PROD

db.m6g.2xlarge

postgreSQL

Multi-AZ

$ 13,271.40

$ 9,477.48

361684190412

Frankfurt

EU3-PROD

db.r6g.xlarge

postgreSQL

Single-AZ

$ 4,809.24

$ 3,179.04

361684190412

Frankfurt

EU3-PROD

db.r6g.xlarge

postgreSQL

Single-AZ

$ 4,809.24

$ 3,179.04

616654404631

Oregon

US6-PROD

db.r6g.2xlarge

postgreSQL

Multi-AZ

$ 15,750.48

$ 9,099.84

616654404631

Oregon

US6-PROD

db.m6g.4xlarge

postgreSQL

Single-AZ

$ 11,142.72

$ 7,136.76

616654404631

Oregon

US6-PROD

db.r6g.xlarge

postgreSQL

Single-AZ

$ 3,942.00

$ 2,274.96

616654404631

Frankfurt

EU8-PROD

db.r6g.8xlarge

postgreSQL

Multi-AZ

$ 76,877.76

$ 50,866.68

616654404631

Frankfurt

EU8-PROD

db.r6g.4xlarge

postgreSQL

Single-AZ

$ 19,219.44

$ 12,716.88

616654404631

Frankfurt

EU8-PROD

db.r6g.xlarge

postgreSQL

Single-AZ

$ 4,809.24

$ 3,179.04

616654404631

Sydney

AP10-PROD

db.m6g.2xlarge

postgreSQL

Multi-AZ

$ 15,461.40

$ 10,716.96

616654404631

Sydney

AP10-PROD

db.m6g.xlarge

postgreSQL

Single-AZ

$ 3,863.16

$ 2,679.72

616654404631

Sydney

AP10-PROD

db.r6g.xlarge

postgreSQL

Single-AZ

$ 4,730.40

$ 3,226.32

772889804459

Tokyo

JP12-PROD

db.r6g.xlarge

postgreSQL

Multi-AZ

$ 9,452.04

$ 6,452.64

772889804459

Tokyo

JP12-PROD

db.r6g.xlarge

postgreSQL

Single-AZ

$ 4,730.40

$ 3,226.32

772889804459

Tokyo

JP12-PROD

db.r6g.xlarge

postgreSQL

Single-AZ

$ 4,730.40

$ 3,226.32

772889804459

Sao Paulo

BR14-PROD

db.m6g.4xlarge

postgreSQL

Multi-AZ

$ 29,170.80

$ 17,580.48

772889804459

Sao Paulo

BR14-PROD

db.r6g.xlarge

postgreSQL

Single-AZ

$ 8,190.60

$ 4,752.24

772889804459

Sao Paulo

BR14-PROD

db.r6g.xlarge

postgreSQL

Single-AZ

$ 8,190.60

$ 4,752.24

772889804459

Montreal _ Canada Central

CA16-PROD

db.r6g.xlarge

postgreSQL

Multi-AZ

$ 8,514.72

$ 4,918.68

772889804459

Montreal _ Canada Central

CA16-PROD

db.r6g.2xlarge

postgreSQL

Single-AZ

$ 8,514.72

$ 4,918.68

772889804459

Montreal _ Canada Central

CA16-PROD

db.r6g.xlarge

postgreSQL

Single-AZ

$ 4,257.36

$ 2,458.92

616654404631

Frankfurt

EU18-PROD

db.r6g.2xlarge

postgreSQL

Multi-AZ

$ 19,219.44

$ 12,716.88

616654404631

Frankfurt

EU18-PROD

db.r6g.2xlarge

postgreSQL

Single-AZ

$ 9,609.72

$ 6,357.96

616654404631

Frankfurt

EU18-PROD

db.r6g.xlarge

postgreSQL

Single-AZ

$ 4,809.24

$ 3,179.04

609729173090

Oregon

US24-PROD

db.r6g.xlarge

postgreSQL

Multi-AZ

$ 7,875.24

$ 4,549.92

609729173090

Oregon

US24-PROD

db.r6g.xlarge

postgreSQL

Single-AZ

$ 3,942.00

$ 2,274.96

609729173090

Oregon

US24-PROD

db.r6g.xlarge

postgreSQL

Single-AZ

$ 3,942.00

$ 2,274.96

Total

$ 361,875.60

$ 231,391.68

\ No newline at end of file diff --git a/Cloud DevOps/ESM Cloud Farm Version Tracking.md b/Cloud DevOps/ESM Cloud Farm Version Tracking.md new file mode 100644 index 00000000..28fd13ca --- /dev/null +++ b/Cloud DevOps/ESM Cloud Farm Version Tracking.md @@ -0,0 +1,51 @@ +--- +title: "ITOM Cloud Service Delivery : ESM Cloud Farm Version Tracking" +source: "http://127.0.0.1:8999/ESM-Cloud-Farm-Version-Tracking_684925423.html" +author: + - "[[Wei Shen]]" +published: +created: 2026-09-07 +description: +tags: + - "clippings" +--- +## ESM Cloud Farms +![[IMG-20260907140355573.png]] + +| Farm | ###### SMAX/HCMX | ###### SMAX/HCMX ###### PATCH/HOTFIX | ###### UD/UCMDB | ###### UD/UCMDB ###### PATCH/HOTFIX | ###### OO | ###### OO ###### PATCH/HOTFIX | ###### AUDIT | ###### AUDIT ###### PATCH/HOTFIX | ###### AUTOMATION ###### CENTER | ###### OPERATIONPLATFORM | ###### OPERATIONPLATFORMPATCH/HOTFIX | ###### OMT | ###### FINOPS(Classic) | ###### EKS VERSION | +| ---------------- | ---------------- | ---------------------------------------------------------------------------------------------------------- | --------------- | ------------------------------------ | --------- | ------------------------------ | ------------ | --------------------------------- | -------------------------------- | ------------------------ | ------------------------------------ | ---------- | ---------------------- | ------------------ | +| ###### US2-DEV | 25.3 | 25.3.2 | 25.3 | 25.3.2 | 25.3 | 25.3.2 | 25.3 | 25.3.2 | N/A | N/A | | N/A | N/A | 1.31 | +| ###### JP12-STG | 25.3 | 25.3.1 | 25.3 | 25.3.1 | 25.3 | 25.3.1 | 25.3 | 25.3.1 | N/A | N/A | N/A | 25.3.1 | N/A | 1.31 | +| ###### AP10-PROD | 25.3 | 25.3.1 | 25.3 | 25.3.1 | 25.3 | 25.3.1 | 25.3 | 25.3.1 | N/A | N/A | N/A | 25.3.1 | N/A | 1.31 | +| ###### BR14-PROD | 25.2 | 25.2.2 25.2.2 HF1 25.2.2 HF2 | 25.2 | 25.2.2.HF1 | 25.2 | 25.2.2 | 25.2 | 25.2.2 | N/A | N/A | N/A | 25.2.2 | N/A | 1.31 | +| ###### CA16-PROD | 25.3 | 25.3.1 | 25.3 | 25.3.1 | 25.3 | 25.3.1 | 25.3 | 25.3.1 | N/A | N/A | N/A | 25.3.1 | N/A | 1.31 | +| ###### EU3-PROD | 25.3.1 | 25.3 LP HF | 25.3 | 25.3.1 | 25.3 | 25.3.1 | 25.3 | 25.3.1 | 25.3.1 | 25.3 | 25.3.1 | 25.3.1 | | 1.31 | +| ###### EU8-PROD | 25.2 | 25.2.2 25.2.2 HF10 25.2 LP HF | 25.2 | 25.2.2.HF2 | 25.2 | 25.2.2 | 25.2 | 25.2.2 | N/A | N/A | N/A | 25.2.2 | N/A | 1.31 | +| ###### EU18-PROD | 25.2 | 25.2.2 25.2.2 HF1 25.2.2 HF2 25.2.2 HF10 25.2.2 HF14 | 25.2 | 25.2.2.HF1 | 25.2 | 25.2.2 | 25.2 | 25.2.2 | N/A | 25.2 | | 25.2 | | 1.31 | +| ###### EU28-PROD | 25.2 | 25.2.2 25.2.2 HF1 25.2.2 HF225.2.2 HF7 | 25.2 | 25.2.2.HF1 | 25.2 | 25.2.2 | 25.2 | 25.2.2 | N/A | N/A | N/A | N/A | N/A | 1.31 | +| ###### EU38-PROD | 25.3 | 25.3.1 | 25.3 | 25.3.1 | N/A | N/A | 25.3 | 25.3.1 | N/A | N/A | N/A | N/A | N/A | 1.31 | +| ###### JP12-PROD | 25.2 | 25.2.2 25.2.2 HF2 25.2.2 HF2 | 25.2 | 25.2.2.HF1 | 25.2 | 25.2.2 | 25.2 | 25.2.2 | N/A | N/A | N/A | 25.2 | N/A | 1.31 | +| ###### SA34-PROD | 25.3 | 25.3.1 | 25.3 | 25.3.1 | 25.3 | N25.3.1 | 25.3 | 25.3.1 | N/A | N/A | N/A | N/A | N/A | 1.31 | +| ###### US2-PROD | 25.2 | 25.2.2 25.2.2 HF1 25.2.2 HF2 | 25.2 | 25.2.2.HF1 | 25.2 | 25.2.2 | 25.2 | 25.2.2 | N/A | N/A | N/A | 25.2.2 | | 1.31 | +| ###### US6-PROD | 25.2 | 25.2.0.HF225.2.2 HF1 25.2.2.HF1 | 25.2 | 25.2.2.HF1 | 25.2 | 25.2.2 | 25.2 | 25.2.2 | N/A | N/A | N/A | 25.2.2 | N/A | 1.31 | +| ###### US7-PROD | 25.3 | 25.3.1 | 25.3 | 25.3.1 | 25.3 | 25.3.1 | 25.3 | 25.3.1 | | N/A | N/A | 25.3.1 | | 1.31 | +| ###### US24-PROD | 25.2 | 25.2.2 25.2.2 HF1 25.2.2 HF2 25.2.2 HF5 25.2.2 HF8 25.2.2 HF10 25.2.2 HF11 25.2.2 HF12 25.2.2 HF13 | 25.2 | 25.2.2.HF1 | 25.2 | 25.2.2 | 25.2 | 25.2.2 | 25.2 | 25.2 | N/A | 25.2.2 | | 1.31 | +| ###### US26-PROD | 25.2 | 25.2.2 25.2.2 HF1 25.2.2 HF2 | 25.2 | 25.2.2.HF1 | N/A | N/A | 25.2 | 25.2.2 | N/A | N/A | N/A | 25.2.2 | N/A | 1.31 | + +## AIS Cloud Aviator Farms + +| Farm | ###### AVIATOR | ###### AVIATOR ###### PATCH/HOTFIX | ###### EKS VERSION | +| --- | --- | --- | --- | +| ###### US30-STG-ITOMAVIATOR | 25.3 | 25.3.2 | 1.31 | +| ###### EU30-PROD-ITOMAVIATOR | 25.3 | 25.3.1 25.3.1.HF1 | 1.31 | +| ###### EU32-PROD-ITOMAVIATOR | 25.3 | 25.3.0 | 1.31 | + +## DCA Cloud Farms + +| | ###### SERVICE TYPE | ###### ITOM DCA | ###### EKS VERSION | ###### STATUS | +| --- | --- | --- | --- | --- | +| ###### EU3-TRIAL-DCA | ~~DCA Premium~~ | 23.4 GA | 1.30 | | +| ###### EU4-STG-DCA | DCA Premium | 23.4 GA | | IN USE | +| ###### EU2-PROD-DCA | DCA Premium | 23.4 GA | | IN USE | +| ###### US8-STG-REPORTING | SA Reporting | 23.4 GA | | IN USE | +| ###### US6-PROD-REPORTING | SA Reporting | 23.4 GA | | IN USE | \ No newline at end of file diff --git a/Cloud DevOps/ESM Monthly SLA Result.md b/Cloud DevOps/ESM Monthly SLA Result.md new file mode 100644 index 00000000..4d243723 --- /dev/null +++ b/Cloud DevOps/ESM Monthly SLA Result.md @@ -0,0 +1,48 @@ +--- +title: "ITOM Cloud Service Delivery : ESM Monthly SLA Result" +source: "http://127.0.0.1:8999/ESM-Monthly-SLA-Result_686070050.html" +author: + - "[[Yun Zhao]]" +published: +created: 2026-09-07 +description: +tags: + - "clippings" +--- +## SMAX SLA + +| | Aug 2025 | July 2025 | June 2025 | May 2025 | Apr 2025 | Mar 2025 | Feb 2025 | Jan 2025 | Dec 2024 | Nov 2024 | Oct 2024 | Sept 2024 | Aug 2024 | Jul 2024 | Jun 2024 | May 2024 | Apr 2024 | Mar 2024 | Feb 2024 | Jan 2024 | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| ###### EU3-PROD | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | +| ###### US7-PROD | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | +| ###### US2-PROD | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | +| ###### US6-PROD | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | +| ###### EU8-PROD | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 99.975% | +| ###### AP10-PROD | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | +| ###### JP12-PROD | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | +| ###### BR14-PROD | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 99,836% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | +| ###### US24-PROD | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | +| ###### CA16-PROD | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | +| ###### EU18-PROD | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 99,884% | 100% | +| ###### US26-PROD | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | +| ###### US28-PROD | 100% | 100% | 100% | 99.993% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | | | | | | | +| ###### SA34-PROD | 100% | 100% | 100% | | | | | | | | | | | | | | | | | | + +## CMS SLA + +| | Aug 2025 | July 2025 | June 2025 | May 2025 | Apr 2025 | Mar 2025 | Feb 2025 | Jan 2025 | Dec 2024 | Nov 2024 | Oct 2024 | Sep 2024 | Aug 2024 | Jul 2024 | Jun 2024 | May 2024 | Apr 2024 | Mar 2024 | Feb 2024 | Jan 2024 | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| ###### EU3-PROD | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | +| ###### US7-PROD | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 99.481% | 100% | 100% | 100% | 100% | 100% | 100% | +| ###### US2-PROD | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 99.497% | 100% | 100% | 100% | 100% | 100% | 100% | +| ###### US6-PROD | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 99.372% | 100% | 100% | 100% | 100% | 100% | 100% | +| ###### EU8-PROD | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 99.959% | 99.975% | 100% | 99.922% | 99.921% | 99.920% | 99.977% | +| ###### AP10-PROD | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | +| ###### JP12-PROD | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | +| ###### BR14-PROD | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 99.447% | 100% | 100% | 100% | 100% | 100% | 100% | +| ###### US24-PROD | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 99.523% | 100% | 100% | 100% | 100% | 100% | 100% | +| ###### CA16-PROD | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 99.422% | 100% | 100% | 100% | 100% | 100% | 100% | +| ###### EU18-PROD | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | +| ###### US26-PROD | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 99.413% | 100% | 100% | 100% | 100% | 100% | 100% | +| ###### US28-PROD | 100% | 100% | 100% | 99.926% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | | | | | | | +| ###### SA34-PROD | 100% | 100% | 100% | | | | | | | | | | | | | | | | | | diff --git a/Cloud DevOps/ITOM APM AppPluse Cloud Farm Information.md b/Cloud DevOps/ITOM APM AppPluse Cloud Farm Information.md new file mode 100644 index 00000000..384a0c74 --- /dev/null +++ b/Cloud DevOps/ITOM APM AppPluse Cloud Farm Information.md @@ -0,0 +1,14 @@ +--- +title: "ITOM Cloud Service Delivery : ITOM APM AppPluse Cloud Farm Information" +source: "http://127.0.0.1:8999/ITOM-APM-AppPluse-Cloud-Farm-Information_691150242.html" +author: + - "[[Wei Shen]]" +published: +created: 2026-09-07 +description: +tags: + - "clippings" +--- +## APM (10) + +

AWS Account ID

AWS A ccount Alias

AWS Region

AWS Region Location

APM Cloud Farms

FQDN

APM Version

Status

Landing Zone Type

021961983448ITOM-SAASAPMAppPulse-ProdUS WestOregon5Fhttps://5fctr.saas.microfocus.com/topaz/login.jspAPM 951 IP2 Patch
  • ANZ_BANK_APM
  • Alcoa_Direct
  • BUNGE_APM_PRODUCTION
  • American_Red_Cross
  • Bessemer_APM
  • CNH
  • GSA
  • IMF_APM_Production
  • Kubota_Systems

CLASSIC LZ

US WestOregon32Fhttps://032fctr.saas.microfocus.com/topaz/login.jspAPM 951 IP2 Patch
  • Telefonica_UK
  • StateOfFlorida
  • OntarioPensionBoard
  • IMF_APM_STG
  • Daimler
  • Eurovia
  • Accenture
  • Accenture_Llp

CLASSIC LZ

US WestOregon6Fhttps://6fctr.saas.microfocus.com/topaz/login.jspAPM 951 IP2 Patch
  • APTIV
  • BankOfAyudhya
  • CADENCE
  • EATON
  • IMF_APM
  • Independent_Health
  • MD_Financial_Management
  • Resona_Bank_Limited
  • Smarsh_Inc
  • SouthernCompany
  • TechMahindra_APM
  • VINCI_CONSTRUCTION_SI
  • Veolia
  • Zurich_Insurance

CLASSIC LZ

US WestOregon33Fhttps://33fctr.saas.microfocus.com/topaz/login.jspAPM 960 IP4 Patch
  • Citi_BSM9_Inhouse_Staging

CLASSIC LZ

US WestOregon35Fhttps://35fctr.saas.microfocus.com/topaz/login.jspAPM 960 IP3 Patch
  • Citi_BSM9_Inhouse_Prod

CLASSIC LZ

US WestOregon11Fhttps://11fctr.saas.microfocus.com/topaz/login.jspAPM 951 IP2 Patch
  • Marriott_International_Inc

CLASSIC LZ

US WestOregon8Fhttps://8fctr.saas.microfocus.com/topaz/login.jspAPM 960
  • OpenText_Staging

CLASSIC LZ

US WestOregon10Fhttps://10fctr.saas.microfocus.com/topaz/login.jspAPM 960
  • OpenText_Production

CLASSIC LZ

US WestOregon4Fhttps://4fctr.saas.microfocus.com/topaz/login.jspAPM 960
  • OT NOC Production Farm

CLASSIC LZ

EuropeFrankfurt3Fhttps://3fctr.saas.microfocus.com/topaz/login.jspAPM 960
  • OT NOC BackUp Farm

CLASSIC LZ

\ No newline at end of file diff --git a/Cloud DevOps/ITOM Cloud AWS Account Overview.md b/Cloud DevOps/ITOM Cloud AWS Account Overview.md new file mode 100644 index 00000000..bed6a218 --- /dev/null +++ b/Cloud DevOps/ITOM Cloud AWS Account Overview.md @@ -0,0 +1,66 @@ +--- +title: "ITOM Cloud Service Delivery : ITOM Cloud AWS Account Overview" +source: "http://127.0.0.1:8999/ITOM-Cloud-AWS-Account-Overview_686070784.html" +author: + - "[[Wei Shen]]" +published: 2025-01-20 +created: 2026-09-07 +description: +tags: + - "clippings" +--- +## ESM (11) + +| **Account ID** | **Account Name** | **Purpose** | | +| --- | --- | --- | --- | +| 609729173090 | Itom-esm0-ext-prod | US2/US24 OT internal customer farms | PROD | +| 551360491749 | Itom-esm0-ext-stg | US2 dev | DEV | +| 361684190412 | Itom-esm0-ext-trial | EU3/US7 ext customer trial farms | PROD | +| 616654404631 | Itom-esm1-ext-prod | US6/EU8/AP10/EU18 ext customer farms | PROD | +| 685481450608 | Itom-esm1-ext-stg | Cross-region/Cross account data backup | PROD | +| 772889804459 | Itom-esm2-ext-prod | JP12/BR14/CA16/SA34/EU38 ext customer farms | PROD | +| 945679946888 | Itom-esm2-ext-stg | JP12 staging | STG | +| 439259180524 | Itom-esm3-ext-prod | US26 ext customer farm | PROD | +| 402637475238 | Itom-esm4-ext-prod | EU managed farm/EU32 for aviator | PROD | +| 521526956341 | Itom-aviator0-ext-prod | ITOM Aviator Trial/PoC Instance | PROD | +| 824517076529 | Itom-aviator1-ext-stg | ITOM Aviator Official Staging Instance | STG | + +## DCA/SA Reporting(3) + +| **Account ID** | **Account Name** | **Purpose** | | +| --- | --- | --- | --- | +| 752576076998 | ITOM-DCA2-EXT-PROD | DCA/SA reporting ext customer prod instances | PROD | +| 756681444987 | ITOM-DCA2-EXT-STG | DCA/SA reporting ext customer staging instances | STG | +| 877314495298 | ITOM-DCASaaSDev-EXT-STG | Not use | | + +## SBM(1) + +| **Account ID** | **Account Name** | **Purpose** | | +| --- | --- | --- | --- | +| 719681605826 | microfocuscloud | SBM Prod instance | PROD | + +## OpsB/NOM(4) + +| **Account ID** | **Account Name** | **Purpose** | | +| --- | --- | --- | --- | +| 181608496217 | itom-sa-ext-prod | hosting production deployment by customers subscribed for OpsBridge or NOM offerings. | PROD | +| 014842986998 | ITOM-SA-EXT-STG | Staging account used for testing done by SaaS Operations | STG | +| 493286294651 | ITOM-SA-EXT-DEMO | Hosting deployment for customer doing a trial | STG | +| 789610210433 | ITOM-SA-INT-LAB | Dev Farm | DEV | +| 125670417181 | ITOM-Saautomation-INT-PROD | DevOps internal environment | DEV | +| 009719717362 | ITOM-Saautomation-INT-LAB | DevOps internal environment | DEV | + +## BPM(2) + +| **Account ID** | **Account Name** | **Purpose** | | +| --- | --- | --- | --- | +| 235326760858 | ITOM-SaaSBPM-Prod | hosting production deployment by customers subscribed for BPM | PROD | +| 935255303178 | ITOM-SaaSBPMStaging-Prod | Staging account used for testing done by SaaS Operations | STG | +| ~~776496461147~~ | ~~ITOM-BPMChina-Prod~~ | ~~hosting production deployment by customers subscribed for BPM~~ | | + +## APM/AppPulse(2) + +| **Account ID** | **Account Name** | **Purpose** | | +| --- | --- | --- | --- | +| 021961983448 | ITOM-SAASAPMAppPulse-Prod | hosting production deployment by customers subscribed for APM | PROD | +| 685243053258 | ITOM-SAASAPMStaging-Prod | Staging account used for testing done by SaaS Operations | STG | diff --git a/Cloud DevOps/ITOM Cloud Application SaaS Service Description.md b/Cloud DevOps/ITOM Cloud Application SaaS Service Description.md new file mode 100644 index 00000000..d7f75fb1 --- /dev/null +++ b/Cloud DevOps/ITOM Cloud Application SaaS Service Description.md @@ -0,0 +1,70 @@ +--- +title: "ITOM Cloud Service Delivery : ITOM Cloud Application SaaS Service Description" +source: "http://127.0.0.1:8999/ITOM-Cloud-Application-SaaS-Service-Description_686069698.html" +author: + - "[[Wei Shen]]" +published: 2025-01-20 +created: 2026-09-07 +description: +tags: + - "clippings" +--- +Created by, last modified on Feb 20, 2025 EST + +## OpenText™ Customer Terms for SaaS (ITOM) + +[https://www.opentext.com/about/legal/software-licensing](https://www.opentext.com/about/legal/software-licensing) + +## OpenText™ Core Service Management + +[Service Description for OpenText Core Service Management Express](https://www.opentext.com/media/documentation/opentext-core-service-management-express-service-description-documentation-en.pdf) + +[Service Description for OpenText Core Service Management Premium](https://www.opentext.com/media/documentation/opentext-core-service-management-premium-service-description-documentation-en.pdf) + +[Service Description for Micro Focus ITMX United States Public Sector on Software-as-a-Service](https://www.opentext.com/media/documentation/micro-focus-itmx-united-states-public-sector-on-software-as-a-service-service-description-documentation-en.pdf) + +## OpenText™ Core Cloud Management + +[Service Description for OpenText Core Cloud Management](https://www.opentext.com/media/documentation/opentext-core-cloud-management-service-description-documentation-de.pdf) + +[Service Description for OpenText Core Cloud Management FinOps](https://www.opentext.com/media/documentation/opentext-core-cloud-management-finops-service-description-documentation-en.pdf) + +## OpenText™ Core Asset Management + +[Service Description for OpenText Core Asset Management](https://www.opentext.com/media/documentation/opentext-core-asset-management-service-description-documentation-en.pdf) + +## OpenText™ Core Universal Discovery and CMDB + +[Service Description for OpenText Core Universal Discovery and CMDB](https://www.opentext.com/media/documentation/opentext-core-universal-discovery-and-cmdb-service-description-documentation-en.pdf) + +[Service Description for OpenText Core Universal Discovery and CMDB Private](https://www.opentext.com/media/documentation/opentext-core-universal-discovery-and-cmdb-private-service-description-documentation-en.pdf) + +## OpenText™ IT Operations Aviator + +[Service Description for OpenText IT Operations Aviator](https://www.opentext.com/media/documentation/opentext-it-operations-aviator-service-description-documentation-en.pdf) + +## OpenText™ Server Automation Reporting SaaS + +[Service Description for Server Automation Reporting Software-as-a-Service](https://www.opentext.com/media/documentation/server-automation-reporting-software-as-a-service-service-description-documentation-en.pdf) + +## OpenText™ Core Network Operations Management + +[Service Description for OpenText Core Network Operations Management Reporting](https://www.opentext.com/media/documentation/opentext-core-network-operations-management-reporting-service-description-documentation-en.pdf) + +[Service Description for OpenText Core Cloud Network Observability](https://www.opentext.com/media/documentation/opentext-core-cloud-network-observability-service-description-documentation-en.pdf) + +## OpenText™ Core AI Operations Management + +[Service Description for OpenText Core AI Operations Management (Operations Bridge)](https://www.opentext.com/media/documentation/opentext-core-ai-operations-management-operations-bridge-service-description-documentation-en.pdf) + +[Service Description for OpenText Core AI Operations Management Private Cloud (Operations Bridge)](https://www.opentext.com/media/documentation/opentext-core-ai-operations-management-private-cloud-operations-bridge-service-description-documentation-en.pdf) + +[Service Description for OpenText Core AI Operations Management Reporting (Operations Bridge)](https://www.opentext.com/media/documentation/opentext-core-ai-operations-management-reporting-operations-bridge-service-description-documentation-en.pdf) + +[Service Description for OpenText Core Application Observability](https://www.opentext.com/media/documentation/opentext-core-application-observability-service-description-documentation-en.pdf) + +## OpenText™ Application Performance Management + +[Service Description for Application Performance Management Software-as-a-Service](https://www.opentext.com/media/documentation/application-performance-management-software-as-a-service-service-description-documentation-en.pdf) + +[Service Description for AppPulse Software-as-a-Service](https://www.opentext.com/media/documentation/apppulse-software-as-a-service-service-description-documentation-en.pdf) diff --git a/Cloud DevOps/ITOM Cloud Service Team.md b/Cloud DevOps/ITOM Cloud Service Team.md new file mode 100644 index 00000000..efd27fbc --- /dev/null +++ b/Cloud DevOps/ITOM Cloud Service Team.md @@ -0,0 +1,72 @@ +--- +title: "ITOM Cloud Service Delivery : ITOM Cloud Service Team" +source: "http://127.0.0.1:8999/ITOM-Cloud-Service-Team_688992849.html" +author: + - "[[Wei Shen]]" +published: +created: 2026-09-07 +description: +tags: + - "clippings" +--- +## ITOM Cloud Service Team + +### Team Manager (2) + +| Name | Email | Manager | Region | Country | Main Role | +| --- | --- | --- | --- | --- | --- | +| Wei, Shen | [wshen@opentext.com](mailto:wshen@opentext.com) | Itay Laxer | APJ | China | People Manager | +| Joseiby Hernandez | [jhernandez2@opentext.com](mailto:jhernandez2@opentext.com) | Shen Wei | AMS | Costa Rica | People Manager | + +### PMO (1) + +| Name | Email | Manager | Region | Country | Main Role | +| --- | --- | --- | --- | --- | --- | +| Boglarka Ronai | [bronai@opentext.com](mailto:bronai@opentext.com) | Itay Laxer | EMEA | Romania | PMO | + +### ESM Cloud Service Team (11) + +- ITOM Cloud Service ESM Team [ITOMCloudServiceESMTeam@opentextcorporation.onmicrosoft.com](mailto:ITOMCloudServiceESMTeam@opentextcorporation.onmicrosoft.com) + +| Name | Email | Manager | Region | Country | Product | Main Role | +| --- | --- | --- | --- | --- | --- | --- | +| Heiner Fernandez | [hfernandez@opentext.com](mailto:hfernandez@opentext.com) | Joseiby Hernandez | AMS | Costa Rica | ESM | Cloud Ops | +| Randall Araya | [raraya@opentext.com](mailto:raraya@opentext.com) | Joseiby Hernandez | AMS | Costa Rica | ESM | Cloud Ops | +| Adina Iulia Lehene | [alehene@opentext.com](mailto:alehene@opentext.com) | Florin Pavel | EMEA | Romania | ESM | Cloud Ops | +| Maricel Plesuvu | [mplesuvu@opentext.com](mailto:mplesuvu@opentext.com) | Florin Pavel | EMEA | Romania | ESM | Cloud Ops | +| Miroslav Shindarov | [mshindarov@opentext.com](mailto:mshindarov@opentext.com) | Shen Wei | EMEA | Bulgaria | ESM | Cloud Ops | +| Liu, Yu | [yliu5@opentext.com](mailto:yliu5@opentext.com) | Shen Wei | APJ | China | ESM | Cloud DevOps | +| Sun, Wenjun | [wsun2@opentext.com](mailto:wsun2@opentext.com) | Shen Wei | APJ | China | ESM | Cloud DevOps | +| Xia, Sunny | [sxia2@opentext.com](mailto:sxia2@opentext.com) | Shen Wei | APJ | China | ESM | Cloud Ops | +| Ye, Ting | [tye@opentext.com](mailto:tye@opentext.com) | Shen Wei | APJ | China | ESM | Cloud Ops | +| Zhao Yun | [yzhao3@opentext.com](mailto:yzhao3@opentext.com) | Shen Wei | APJ | China | ESM | Cloud Ops | +| Jeremy Thunker | [jthunker@opentext.com](mailto:jthunker@opentext.com) | Shen Wei | AMS | USA | ESM | Cloud Ops (FedRamp) | + +### OpsB/NOM Cloud Service Team (10) + +- ITOM Cloud Service SO Team [ITOMCloudServiceSOTeam@opentextcorporation.onmicrosoft.com](mailto:ITOMCloudServiceSOTeam@opentextcorporation.onmicrosoft.com) + +| Name | Email | Manager | Region | Country | Product | Main Role | +| --- | --- | --- | --- | --- | --- | --- | +| Jones, Tyler | [tjones2@opentext.com](mailto:tjones2@opentext.com) | Shen Wei | AMS | USA | OpsB/NOM | Cloud DevOps | +| Prodan, Raluca | [rprodan@opentext.com](mailto:rprodan@opentext.com) | Florin Pavel | EMEA | Romania | OpsB/NOM | Cloud DevOps | +| Soare, Razvan Alexandru | [rsoare@opentext.com](mailto:rsoare@opentext.com) | Florin Pavel | EMEA | Romania | OpsB/NOM | Cloud DevOps | +| Krothamiddy, Sreekanth | [ksreekanth@opentext.com](mailto:ksreekanth@opentext.com) | Sajith Kumar | APJ | Inida | OpsB/NOM | Cloud DevOps | +| Prasad Mukkamala | [pmukkamala@opentext.com](mailto:pmukkamala@opentext.com) | Shen Wei | AMS | USA | OpsB/NOM | Cloud Ops | +| Girish J Babu | [gbabu@opentext.com](mailto:gbabu@opentext.com) | Sajith Kumar | APJ | India | OpsB/NOM | Cloud Ops | +| Javier Gerardo Mora | [jmora2@opentext.com](mailto:jmora2@opentext.com) | Joseiby Hernandez | AMS | Costa Rica | OpsB/NOM | Cloud Ops | +| Sandeep Kumar Swain | [sswain2@opentext.com](mailto:sswain2@opentext.com) | Sajith Kumar | APJ | India | OpsB/NOM | Cloud Ops | +| Andrei-Cosmin Turcu | [aturcu@opentext.com](mailto:aturcu@opentext.com) | Florin Pavel | EMEA | Romania | OpsB/NOM | Cloud Ops | +| Ioana Matei | [imatei@opentext.com](mailto:imatei@opentext.com) | Florin Pavel | EMEA | Romania | OpsB/NOM | Cloud Ops | + +### APM Cloud Service Team (5) + +- ITOM Cloud Services APM Team [ITOMCloudServicesAPMTeam@opentextcorporation.onmicrosoft.com](mailto:ITOMCloudServicesAPMTeam@opentextcorporation.onmicrosoft.com) + +| Name | Email | Manager | Region | Country | Product | Main Role | +| --- | --- | --- | --- | --- | --- | --- | +| Jose Marin | [jmarin@opentext.com](mailto:jmarin@opentext.com) | Joseiby Hernandez | AMS | Costa Rica | APM | Cloud Ops | +| Javier Fonseca | [jfonseca@opentext.com](mailto:jfonseca@opentext.com) | Joseiby Hernandez | AMS | Costa Rica | APM | Cloud Ops | +| Vibin Krishnan | [vkrishnan2@opentext.com](mailto:vkrishnan2@opentext.com) | Sajith Kumar | APJ | India | APM | Cloud Ops | +| Subbareddy Gandavarapu | [sgandavarapu@opentext.com](mailto:sgandavarapu@opentext.com) | Sajith Kumar | APJ | India | APM | Cloud Ops | +| Gulamnabi A Naikwadi | [gnaikwadi@opentext.com](mailto:gnaikwadi@opentext.com) | Sajith Kumar | APJ | India | APM | Cloud Ops | diff --git a/Cloud DevOps/ITOM ESM Cloud Farm Information.md b/Cloud DevOps/ITOM ESM Cloud Farm Information.md new file mode 100644 index 00000000..b36cc815 --- /dev/null +++ b/Cloud DevOps/ITOM ESM Cloud Farm Information.md @@ -0,0 +1,30 @@ +--- +title: "ITOM Cloud Service Delivery : ITOM ESM Cloud Farm Information" +source: "http://127.0.0.1:8999/ITOM-ESM-Cloud-Farm-Information_686079377.html" +author: + - "[[Sunny Xia]]" +published: +created: 2026-09-07 +description: +tags: + - "clippings" +--- +## ESM Farms (19) + +

AWS Account ID

AWS A ccount Old Alias

AWS Account New Alias

AWS Region

AWS Region Location

ESM SaaS Farms

FQDN

Status

Landing Zone Type

526837505522

itom-saassmaxdev-nonprod

Oregon

LOGGING

IN USE

685481450608

ITOM-SaaSSMAXUS6STGSTAGING-Prod

itom-esm1-ext-stg

us-west-2

Oregon

BACKUP

IN USE

GW LZ

945679946888

itom-smaxjp12-ext-stg

itom-esm2-ext-stg

ap-northeast-1

Tokyo

JP12-STG

jp12-smax-testing.saas.microfocus.com

IN USE

GW LZ

551360491749

ITOM-SaaSSMAXINTERNALCUSTSTAGING-Prod

itom-esm0-ext-stg

us-west-2

Oregon

US2-DEV

us2-smax-testing.saas.microfocus.com

IN USE

GW LZ

361684190412

ITOM-SaaSMAXTRIAL-Prod

itom-esm0-ext-trial

eu-central-1

Frankfurt

EU3-PROD

eu3-smax.saas.microfocus.com

IN USE

GW LZ

us-west-2

Oregon

US7-PROD

us7-smax.saas.microfocus.com

IN USE

GW LZ

609729173090

ITOM-SMAXINTERNALCUST-PROD

itom-esm0-ext-prod

us-west-2

Oregon

US2-PROD

us2-smax.saas.microfocus.com

IN USE

GW LZ

us-west-2

Oregon

US24-PROD

us24-smax.saas.microfocus.com

IN USE

GW LZ

616654404631

ITOM-SaaSSMAXUS6-Prod

itom-esm1-ext-prod

us-west-2

Oregon

US6-PROD

us6-smax.saas.microfocus.com

IN USE

GW LZ

eu-central-1

Frankfurt

EU8-PROD

eu8-smax.saas.microfocus.com

IN USE

GW LZ

eu-central-1

Frankfurt

EU18-PROD

eu18-smax.saas.microfocus.com

IN USE

GW LZ

ap-southeast-2

Sydney

AP10-PROD

ap10-smax.saas.microfocus.com

IN USE

GW LZ

772889804459

ITOM-SaaSSMAXjp12-Prod

itom-esm2-ext-prod

ap-northeast-1

Tokyo

JP12-PROD

jp12-smax.saas.microfocus.com

IN USE

GW LZ

sa-east-1

San Paulo

BR14-PROD

br14-smax.saas.microfocus.com

IN USE

GW LZ

ca-central-1

Canada Central

CA16-PROD

ca16-smax.saas.microfocus.com

IN USE

GW LZ

af-south-1

Cape Town

SA34-PROD

sa34-smax.saas.microfocus.com

IN USE

GW LZ

eu-central-1

Frankfurt

EU38-PROD

eu38-smax.saas.microfocus.com

IN PREPARATION

GW LZ

439259180524

itom-esm3-ext-prod

itom-esm3-ext-prod

us-west-2

Oregon

US26-PROD

us26-smax.saas.microfocus.com

IN USE

GW LZ

402637475238

itom-esm4-ext-prod

eu-central-1

Frankfurt

EU28-PROD

eu28-smax.saas.microfocus.com

IN USE

GW LZ

+ +## ITOM Aviator Farms (2) + +| **AWS Account ID** | **AWS Account Alias** | **AWS Region** | **AWS Region Location** | **ITOM Aviator SaaS Farms ** | **Description** | **Status** | **Landing Zone Type** | +| ------------------ | ---------------------- | -------------- | ----------------------- | ------------------------------ | ----------------- | ---------- | --------------------- | +| 824517076529 | ITOM-Aviator1-EXT-STG | us-west-2 | Oregon | ###### US30-STG-ITOMAVIATOR | ITOM Aviator US30 | IN USE | GW LZ | +| 521526956341 | ITOM-Aviator0-EXT-PROD | eu-central-1 | Frankfurt | ###### EU30-PROD-ITOMAVIATOR | ITOM Aviator EU30 | IN USE | GW LZ | +| 402637475238 | ITOM-ESM4-EXT-PROD | eu-central-1 | Frankfurt | ###### EU32-PROD-ITOMAVIATOR | ITOM Aviator EU32 | IN USE | GW LZ | + +## DCA/SA Reporting Instances (5) + +

AWS Account ID

AWS Account Alias

AWS Region

AWS Region Location

DCA SaaS Instances

Description

Status

Landing Zone Type

305010689464

itom-dca-ext-prod

eu-central-1

Frankfurt

To be cleaned

Classic LZ

264669891072

itom-dca-ext-stg

eu-central-1

Frankfurt

To be cleaned

Classic LZ

752576076998

ITOM-DCA2-EXT-PROD

eu-central-1

Frankfurt

Oregon

eu2-prod-dca

eu2-prod-dca - TechM DCA Prod

IN USE

GW LZ

us6-prod-sareporting

us6-prod-sareporting for Great Eastern

IN USE

GW LZ

756681444987

ITOM-DCA2-EXT-STG

eu-central-1

Frankfurt

eu4-stg-dca

eu4-stg-dca - TechM DCA Dev

IN USE

GW LZ

Frankfurt

eu3-trial-dca

eu3-trial-dca - DCA PM demo

GW LZ

Sydney

ap5-trial-dca

ap5-trial-dca -> DCA Presales Trial/PoC

GW LZ

Oregon

us8-stg-sareporting

us8-stg-sareporting - Great Easten

IN USE

GW LZ

411804813517

itom-dca-ext-demo

NOT USE

877314495298

itom-dcasaasdev-ext-stg

NOT USE

+ +## SBM Instances + +
AWS AccountAWS Account AliasAWS Region

AWS Region Location

SBM InstancesFDQNDescriptionStatus
719681605826microfocuscloudeu-west-1IrelandSource

source.microfocuscloud.com/workcenter (Work Center)

source.microfocuscloud.com/mashupmgr (App Repo)

Primarily used for P2M for OT products, but contains a variety of business process workflows.

IN USE

Sourcetestsourcetest.microfocuscloud.com/workcenterWorkflow development environment for Source. Shares repository with Source.

IN USE

RIO

rio.microfocuscloud.com/workcenter

sdadmin.microfocuscloud.com/mashupmgr

Primarily used for License Verification and GRE workflows, but contains a variety of business process workflows.

IN USE

RIOtest

riotest.microfocuscloud.com/workcenter

riotest.microfocuscloud.com/mashupmgr

Workflow development for RIO.

IN USE

SBMOD

sbm.microfocuscloud.com/workcenter

sbm.microfocuscloud.com/mashupmgr

Workflows for Professional Services teams associated with AMC. Will likely be shuttered after divestiture. Only instance not using federated authentication due to mixture of internal/external accounts.

IN USE

\ No newline at end of file diff --git a/Cloud DevOps/Index.md b/Cloud DevOps/Index.md new file mode 100644 index 00000000..aceffc10 --- /dev/null +++ b/Cloud DevOps/Index.md @@ -0,0 +1,103 @@ +[[数据说明]] + +## **Team** +[[ITOM Cloud Service Team]] +[[Cloud Service Delivery 技术栈]] +## **Product Readiness** + +[[ITOM Cloud Application SaaS Service Description]] + +ITOM SaaS Cloud Architecture +Installation/Deployment Guide +Interlock Meeting +Performance Sizing Guide +Product Release Process +Product Purchase Process +Support Oriented Training +Ops Oriented Training +Product Support-ability Tooling +Product Diagnostic Tooling +Customer Facing Doc Portal +Cloud Simulation Environment +Cloud Security Office Sign-Off +Product Trial/PoC Procedure + +[[Cloud-Application-Cloud-Readiness-Check-List]] + +## **Deployment & Configuration** +[[ITOM Cloud AWS Account Overview]] +[[ITOM ESM Cloud Farm Information]] +[[Cloud DevOps/ITOM APM AppPluse Cloud Farm Information]] + +Cloud Deployment Automation +Product Provision Automation +Product Configuration Automation +Product License Management +Cloud Cost Optimization/FinOps + [[ESM Cloud Infra Cost Review]] + [[ESM Cloud AWS Infra RI & Saving Plan]] + [[OpsBNOM Cloud Infra Cost Review]] + [[OpsBNOM AWS Infra RI & Saving Plan Proposal]] +Cloud Capacity Management +Business Data Collection/BI Analysis +Off-Cloud to On-Cloud Migration +Multi-Cloud Deployment + +## **Operation & Maintainence** + +Operational Runbook +Monitoring +Service Availibility Monitoring +Alerting Response Process +Product Version Upgrade +Patch/Hotfix Process +Configuration Management +Disaster & Recovery +Audit Compliance +Incident Management +Change Management +Service Health Page + +## **Customer Support** + +Customer Order Fulfillment +Customer On-boarding Process +Support Ticketing Tool System +Customer Cloud Service Offerings +Customer Support Service SLA +Customer Satisfaction Survey +Customer Escalation Process & Path +Service Availability Check & Monthly SLA +Service Level Agreement + [[ESM Monthly SLA Result]] +Customer Notification Process + +## **Maturity Assessment** + +- Recoverability +- Usability +- Operability +- Maintainability +- Securability +- Persistability +- Mobility +- Throttleability +- Deployability +- Reliability +- Reusability +- Accoutability +- Durability +- Troubleshootability +- Defensibility +- Extensibility +- Auditability +- Application Configurability +- Observability +- Visibility +- Affordability +- Adaptability + +## **Training Materials** +- Newbie training +- Record Training Session + diff --git a/Cloud DevOps/OpsB and NOM Cloud Deployments Version Tracking.md b/Cloud DevOps/OpsB and NOM Cloud Deployments Version Tracking.md new file mode 100644 index 00000000..d5c08815 --- /dev/null +++ b/Cloud DevOps/OpsB and NOM Cloud Deployments Version Tracking.md @@ -0,0 +1,103 @@ +--- +title: "ITOM Cloud Service Delivery : OpsB and NOM Cloud Deployments Version Tracking" +source: "http://127.0.0.1:8999/OpsB-and-NOM-Cloud-Deployments-Version-Tracking_686069604.html" +author: + - "[[Wei Shen]]" +published: +created: 2026-09-07 +description: +tags: + - "clippings" +--- +## Trial Account - itom-sa-ext-trial (493286294651) + +## Standalone - N/A + +## Farm (Shared OPTIC) + +### OpsBridge deployments + +
Farm NameProductCustomer(Org)URLRegionVersion DeployedAWS Resource VersionTypeContactSizeIntegrationsAdd-onDeployment Date
optic-demoOpsBpmdemopmdemo.opsbridge.saas.microfocus.comOregon

25.2

V-24.3.0-0

EKS-1.31

PREMIUM

Sandeep

Medium

OpsBadvantageincadvantageinc.opsbridge.saas.microfocus.com

25.2

PREMIUM

Sandeep

Medium

APPO

NOM/CNOcno-trialcno-trial.nom.saas.microfocus.com

25.2

Micro

odl-farm-oregon-5OpsBodl5t1 (used by BMS)

odl5t1.opsbridge.saas.microfocus.com

Oregon

25.1

EKS-1.31

PREMIUM

Small

AEC

08/01

OpsBodl5t2 (used by Johnson&Johnson)

odl5t2.opsbridge.saas.microfocus.com

25.1

PREMIUM

Small

AEC

15/01

OpsBodl5t3 (used by VIncIENERGIES)

odl5t3.opsbridge.saas.microfocus.com

25.1

APPO

Small

21/01

OpsBodl5t5 (used by World Vision)odl5t5.opsbridge.saas.microfocus.com

25.1

PREMIUM

Ioana/CosminSmall

SMAX

AEC

24/07

odl-farm-oregon-6OpsBodl6t1 (NCOMAIOPS2)odl6t1.opsbridge.saas.microfocus.comOregon

25.2

EKS-1.31

PREMIUM

Small

AEC

APPO

29/01

OpsB

odl6t2 (VIncIENERGIES )

odl6t2.opsbridge.saas.microfocus.com

25.1

PREMIUM

SYNTETIC M

Small25/03
NOModl6t3 (Madrid Digital)odl6t3.nom.saas.microfocus.com

25.1

REPORTING

Small28/04
OpsBodl6t4 (titoevry)odl6t4.opsbridge.saas.microfocus.com

25.2

PREMIUM

IoanaSmall

AEC

IHUB

03/07
OpsBodl6t5 (SERPROPOC)odl6t5.opsbridge.saas.microfocus.com

25.2

PREMIUM

IoanaSmall

SMAX

AEC

03/07
OpsBodl6t6 (Tata Consumer)odl6t6.opsbridge.saas.microfocus.com

25.2

APPO

IoanaSmall24/07
+ +## OpsBridge+NOM shared deployments + +
Customer(Org)URLRegionVersion DeployedAWS Resource VersionTypeContactSizeDeployment Date
bmsbms.opsbridge.saas.microfocus.comOregon

25.1

EKS-1.31

PREMIUM

Small

14/05

bms.nom.saas.microfocus.com

25.1

REPORTING

Small

bvobsbvobs.opsbridge.saas.microfocus.com

25.1

EKS-1.31

PREMIUM

Small

bvobs.nom.saas.microfocus.com

25.1

REPORTING

Small
+ +## Production Account - itom-sa-ext-prod (181608496217) + +## Standalone + +### OpsBridge deployments + +
Customer(Org)Instance TagURLRegionVersion DeployedAWS Resource VersionTypeContactSizeIntegrationHub
corp-itcorpit-prod-opsbcorp-it.opsbridge.saas.microfocus.comOregon

24.4 P1

EKS-1.31

V-12.0.4-11

RDS-15.12

PREMIUM

Prasad Mk

Large

NO

corp-it-qacorpit-qa-opsbcorp-it-qa.opsbridge.saas.microfocus.comOregon

24.4 P1

EKS-1.31

V-12.0.4-10

RDS-15.7

PREMIUM

Prasad Mk

Medium

NO

opsb4opsbopsb4opsb-prod-opsbopsb4opsb.opsbridge.saas.microfocus.comOregon

25.1

EKS-1.31

V-12.0.4-17

RDS-16.7

PREMIUM

PSDC/Prasad Mk

Medium

NO
techmahindratechmahindra-dev-opsbtechmahindra-dev.opsbridge.saas.microfocus.comFrankfurt

24.4 P1

EKS-1.31

V-24.3.0-0

RDS-16.9

PREMIUM

Prasad Mk

Small

YES
techmahindra-prod-opsbtechmahindra.opsbridge.saas.microfocus.comFrankfurt

24.4 P1

EKS-1.31

V-24.3.0-0

RDS-16.9

PREMIUM

Prasad Mk

Medium

YES
metrolinxmetrolinx-dev-opsbmetrolinx-dev.opsbridge.saas.microfocus.comCanada

24.4 P1

EKS-1.31

V-24.3.0-0

RDS-16.9

PREMIUM

Javier Mora

Medium

YES
metrolinx-prod-opsbmetrolinx.opsbridge.saas.microfocus.comCanada

24.4 P1

EKS-1.31

V-24.3.0-0

RDS-16.9

PREMIUM

Javier Mora

Medium

YES

iconmon

(TCS)

tcs-prod-opsbiconmon.opsbridge.saas.microfocus.comLondon

24.4 P1

EKS-1.31

V-12.0.4-11

RDS-15.12

PREMIUM

Sandeep Swain

Large

YES
tcs-dev-opsbiconmon-dev.opsbridge.saas.microfocus.com

24.4 P1

EKS-1.31

V-24.3.0-0

RDS-15.12

PREMIUM

Sandeep Swain

Small

YES
+ +### NOM deployments + +
Customer(Org)Instance TagURLRegionVersion DeployedEKS VersionContactSize
nasdaqnasdaqus2-prod-nomnasdaq-us2.nom.saas.microfocus.comOregon

24.4

EKS-1.31

V-23.4.0-0

RDS-15.9

Girish J Babu

Small

nasdaqeu-prod-nomnasdaq-eu.nom.saas.microfocus.comFrankfurt

24.4

EKS-1.31

V-23.4.0-0

RDS-15.9

Girish J Babu

Small

nasdaqus2-dev-nomnasdaq-dev-us2.nom.saas.microfocus.comOregon

24.4

EKS-1.31

V-23.4.0-0

RDS-15.12

Girish J Babu

Small

+ +## Farm (Shared OPTIC) + +### OpsBridge deployments + +
Farm NameCustomer(Org)Instance TagURLRegionVersion DeployedAWS Resource VersionTypeContactSizeIntegrationHub
odl-farm-fra-3skyitaliaskyitalia-dev-opsbskyitalia-dev.opsbridge.saas.microfocus.comFrankfurt

24.4

EKS-1.31

V-12.0.4-11

RDS-16.9

REPORTING

Small
skyitalia-prod-opsbskyitalia.opsbridge.saas.microfocus.com

24.4

REPORTING

Small
odl-farm-fra-5monticgencatmonticgencat-pre-opsbmonticgencat-pre.opsbridge.saas.microfocus.comFrankfurt

24.4.P1

EKS-1.31

V-12.0.4-11

RDS-15.12

PREMIUM

Small
monticgencat-prod-opsbmonticgencat.opsbridge.saas.microfocus.com

24.4 P1

PREMIUM

Small
odl-farm-ore-2infonavitinfonavit-prod-opsbhttps://infonavit.opsbridge.saas.microfocus.com?tenant=infonavitOregon

24.4

EKS-1.31

V-12.0.4-11

RDS-15.12

APPO

Small
infonavit-col-opsbhttps://infonavit-col.opsbridge.saas.microfocus.com
odl-farm-can-1telushealthtelushealth-prod-opsbtelushealth.opsbridge.saas.microfocus.comCanada

24.4

EKS-1.31

V-24.3.0-0

RDS-16.9

INFRAO

Small
+ +### NOM deployments + +
Farm NameCustomer(Org)Instance TagURLRegionVersion DeployedAWS Resource VersionContactSize
odl-farm-oregon-01hartfordhartford-dev-nomhartford-dev.nom.saas.microfocus.comOregon

24.4

EKS-1.31

V-12.0.4-11

RDS-15.9

Girish J Babu

Nano

hartford-prod-nomhartford.nom.saas.microfocus.com

24.4

Girish J Babu

Small

experianexperian-dev-nomexperian-dev.nom.saas.microfocus.com

24.4

Girish J Babu

Small

experian-prod-nomexperian.nom.saas.microfocus.com

24.4

Girish J Babu

Medium

mitremitre-prod-nommitre.nom.saas.microfocus.com

24.4

Girish J Babu

Small

mitre-dev-nommitre-dev.nom.saas.microfocus.com

24.4

Girish J Babu

Small

odl-farm-fra-4sandozsandoz-dev-nomsandoz-dev.nom.saas.microfocus.comFrankfurt

EKS-1.31

V-12.0.4-11

RDS-15.12

Girish J Babu

Nano

sandoz-prod-nomsandoz.nom.saas.microfocus.comGirish J Babu

Small

taisataisa-dev-nomtaisa-dev.nom.saas.microfocus.comGirish J Babu

Nano

taisa-prod-nomtaisa.nom.saas.microfocus.comGirish J Babu

Nano

+ +## OpsBridge+NOM shared deployments + +
Customer(Org)Instance TagURLRegionVersion DeployedAWS Resource VersionTypeContactSize
opentextot-dev-opsbot-dev.opsbridge.saas.microfocus.comOregon

25.1

EKS-1.31

V-24.3.0-0

RDS-15.7

PREMIUM

Javier Mora

Small

ot-dev-nomot-dev.nom.saas.microfocus.com

24.4

REPORTING

Girish J Babu

Nano

opentextot-prod-opsbot.opsbridge.saas.microfocus.com

25.1

EKS-1.31

V-12.0.4-17

RDS-15.12

PREMIUM

Javier Mora

Medium

ot-prod-nomot.nom.saas.microfocus.com

25.1

REPORTING

Girish J Babu

Small

indraindra-dev-opsbindra-dev.opsbridge.saas.microfocus.comFrankfurt

24.4 P1

EKS-1.31

V-12.0.4-11

RDS-15.10

PREMIUM

Small

indra-dev-nomindra-dev.nom.saas.microfocus.com

REPORTING

Nano

indraindra-prod-opsbindra.opsbridge.saas.microfocus.com

24.4 P1

EKS-1.31

V-12.0.4

RDS-15.12

PREMIUM

Small

indra-prod-nomindra.nom.saas.microfocus.com

REPORTING

Medium

dtcc

dtcc-dev-opsb

dtcc-dev-nom

dtcc-dev.opsbridge.saas.microfocus.com

dtcc-dev.nom.saas.microfocus.com

Oregon

24.4 P1

24.3

EKS-1.31

V-12.0.4-11

RDS-15.12

REPORTING

Small

dtcc

dtcc-prod-opsb

dtcc-prod-nom

dtcc.opsbridge.saas.microfocus.com

dtcc.nom.saas.microfocus.com

24.4 P1

24.3

EKS-1.31

V-12.0.4-11

RDS-16.6

REPORTING

Medium

ferrero

ferrero-dev-opsb

ferrero-dev.opsbridge.saas.microfocus.com

Frankfurt

25.1

EKS-1.31
V-24.3.0-0

RDS-16.9

REPORTING

Small

ferrero-dev-nom

ferrero-dev.nom.saas.microfocus.com

25.1

REPORTING

Small

ferrero-prod-opsb

ferrero.opsbridge.saas.microfocus.com

25.1

EKS-1.31

V-24.3.0-0

RDS-16.9

REPORTING

Small

ferrero-prod-nom

ferrero.nom.saas.microfocus.com

25.1

REPORTING

Small

+ +## Farm (OP) + +### OpsBridge deployments + +
Farm NameCustomer(Org)Instance TagURLRegionVersion DeployedAWS Resource VersionTypeContactSizeIntegrationHub

afs121

MultichoiceMultichoice-Dev-opsbhttps://multichoicedev.opsbridge.saas.microfocus.com/South Africa

25.3

EKS-1.31

V-24.3.0-0

RDS-16.8

PREMIUM

MediumYES
Multichoice-Prod-opsbhttps://multichoice.opsbridge.saas.microfocus.com/

25.3

PREMIUM

MediumYES
+ +## Staging Account - itom-sa-ext-stg (014842986998) + +## Standalone + +### OpsBridge deployments + +| Customer(Org) | Instance Tag | URL | Region | Version Deployed | AWS Resource Version | Type | Contact | Size | IntegrationHub | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| opsb4opsb-staging | opsb4opsb-stg-opsb | [opsb4opsb-staging.opsbridge-test.saas.microfocus.com](http://opsb4opsb-staging.opsbridge-test.saas.microfocus.com/) | Oregon | 25.1 | EKS-1.31 | PREMIUM | Prasad Mk | Small | NO | +| opentext | saasops-stg-opsb | [saasopsstg.opsbridge-test.saas.microfocus.com](http://saasopsstg.opsbridge-test.saas.microfocus.com/) | Oregon | 25.2 | EKS-1.31 | PREMIUM | Sandeep Swain | Small | YES | + +## Farm deployments (Shared OPTIC) + +### OpsBridge deployments + +
Farm NameCustomer(Org)URLRegionVersion DeployedEKS VersionTypeContactSizeIntegrationHub
+ +## Dev Account - itom-sa-int-lab (789610210433) + +## Standalone + +### OpsBridge deployments + +| Customer(Org) | Instance Tag | URL | Region | Version Deployed | AWS Resource Version | Type | Contact | Size | Add-on | IntegrationHub | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| montest | montest-dev-opsb | [montest.opsbridge-test.saas.microfocus.com](http://montest9.opsbridge-test.saas.microfocus.com/) | Oregon | 25.1 | EKS-1.31 | PREMIUM | Carol Park | Small | | NO | + +## Farm (Shared OPTIC) + +### OpsBridge deployments + +
Farm NameCustomer(Org)URLRegionVersion DeployedEKS VersionTypeContactSizeAdd-onIntegrationHub
+ +## OT Private Cloud Account - aws\_opsbridge\_dryrun (702295241410) + +## Standalone + +### OpsBridge deployments + +| Customer(Org) | URL | Region | Version Deployed | EKS Version | Type | Contact | Size | IntegrationHub | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | +| opentext | opsb-dryrun.opentext.cloud | Oregon | 24.1 | | PREMIUM | Martin Bosler | Small | YES | + +## Attachments: + +[image-2025-2-25\_8-40-52.png](http://127.0.0.1:8999/attachments/686069604/691150736.png) (image/png) \ No newline at end of file diff --git a/Cloud DevOps/OpsBNOM AWS Infra RI & Saving Plan Proposal.md b/Cloud DevOps/OpsBNOM AWS Infra RI & Saving Plan Proposal.md new file mode 100644 index 00000000..9f23312d --- /dev/null +++ b/Cloud DevOps/OpsBNOM AWS Infra RI & Saving Plan Proposal.md @@ -0,0 +1,61 @@ +--- +title: "ITOM Cloud Service Delivery : OpsB/NOM AWS Infra RI & Saving Plan Proposal" +source: "http://127.0.0.1:8999/692447634.html" +author: + - "[[Ling-yan Meng]]" +published: 2025-03-13 +created: 2026-09-07 +description: +tags: + - "clippings" +--- +## Introduction + +This page presents all the savings plans and Reserved Instances for OpsB/NOM SaaS. + +## Saving Plan + +No account level Saving Plan, now the EC2 usage is covered by the company Saving Plan. + +

Account Number

Compute SP /hr

Proposal

Utilization/Coverage (2024-12-01 ~ 2025-02-28)

Utilization

Coverage

181608496217

$ 0.00

No change

N/A

100%

014842986998

$ 0.00

No change

N/A

100%

493286294651

$ 0.00

No change

N/A

100%

789610210433

$ 0.00

No change

N/A

99%

+ +## RI for DB Instances + +No existing RIs (2025-03-13) + +One year RI. + +| AWS Account | Region | Farm Name Purpose | DB Name | Multi-AZ | Current size | Sizing proposal | RI percentage | RI cost saving (3 years all upfront) | extra cost saving $ | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| 789610210433 | | LAB | [cosmin-itom-postgres](https://us-west-2.console.aws.amazon.com/rds/home?region=us-west-2#database:id=cosmin-itom-postgres;is-cluster=false) (0 connections) [farm-drtest-itom-postgres-renamed](https://us-west-2.console.aws.amazon.com/rds/home?region=us-west-2#database:id=farm-drtest-itom-postgres-renamed;is-cluster=false) (0 connections) (Action: remove) [forrester-demo-itom-postgres](https://us-west-2.console.aws.amazon.com/rds/home?region=us-west-2#database:id=forrester-demo-itom-postgres;is-cluster=false) ioana-itom-postgres (stopped) [montest-itom-postgres](https://us-west-2.console.aws.amazon.com/rds/home?region=us-west-2#database:id=montest-itom-postgres;is-cluster=false) [obm-01-itom-postgres](https://us-west-2.console.aws.amazon.com/rds/home?region=us-west-2#database:id=obm-01-itom-postgres;is-cluster=false) (will be removed once the test is finished) [odlfarm2511-itom-postgres](https://us-west-2.console.aws.amazon.com/rds/home?region=us-west-2#database:id=odlfarm2511-itom-postgres;is-cluster=false) | N | 7\* db.m6g.xlarge | | 0% Stop the environment as much as possible AWS official lambda to stop them regularly (instance scheduler) | | $xxx? | +| 789610210433 | | LAB | [farm-drtest-itom-postgres](https://us-west-2.console.aws.amazon.com/rds/home?region=us-west-2#database:id=farm-drtest-itom-postgres;is-cluster=false) (to be removed) | Y | db.m6g.xlarge | | (to be removed) owner: shenwei | | $xxx? | +| 014842986998 | | Staging | [opsb4opsb-staging-itom-postgres](https://us-west-2.console.aws.amazon.com/rds/home?region=us-west-2#database:id=opsb4opsb-staging-itom-postgres;is-cluster=false) [saasopsstg-itom-postgres](https://us-west-2.console.aws.amazon.com/rds/home?region=us-west-2#database:id=saasopsstg-itom-postgres;is-cluster=false) | N | 2 \* db.m6g.xlarge | | TBD, Owner: Raluca 50% | $555.34 | | +| 493286294651 | | Shared | [db-itom-postgres](https://us-west-2.console.aws.amazon.com/rds/home?region=us-west-2#database:id=db-itom-postgres;is-cluster=false) (to be removed) [odl-farm-oregon-5-itom-postgres](https://us-west-2.console.aws.amazon.com/rds/home?region=us-west-2#database:id=odl-farm-oregon-5-itom-postgres;is-cluster=false) (to be removed) [odl-farm-oregon-6-itom-postgres](https://us-west-2.console.aws.amazon.com/rds/home?region=us-west-2#database:id=odl-farm-oregon-6-itom-postgres;is-cluster=false) (to be removed) [optic-demo-itom-postgres](https://us-west-2.console.aws.amazon.com/rds/home?region=us-west-2#database:id=optic-demo-itom-postgres;is-cluster=false) (for PM demo, keep as long term) | N | 4 \* db.m6g.xlarge | | 100% for db.m6g.xlarge | $969.68 / 8 | $600 | +| 493286294651 | Frankfurt | Shared | [dp-itom-postgres](https://eu-central-1.console.aws.amazon.com/rds/home?region=eu-central-1#database:id=dp-itom-postgres;is-cluster=false) (to be removed) | N | db.m6g.xlarge | | To be removed | | $150 | +| 181608496217 | | Customer Dev/QA | [corp-it-qa-itom-postgres](https://us-west-2.console.aws.amazon.com/rds/home?region=us-west-2#database:id=corp-it-qa-itom-postgres;is-cluster=false) [dtcc-dev-itom-postgres](https://us-west-2.console.aws.amazon.com/rds/home?region=us-west-2#database:id=dtcc-dev-itom-postgres;is-cluster=false) [nasdaq-dev-us2-itom-postgres(0](https://us-west-2.console.aws.amazon.com/rds/home?region=us-west-2#database:id=nasdaq-dev-us2-itom-postgres;is-cluster=false) connections) [ot-dev-itom-postgres](https://us-west-2.console.aws.amazon.com/rds/home?region=us-west-2#database:id=ot-dev-itom-postgres;is-cluster=false) | N | 4 \* db.m6g.xlarge | | 100% | $484.84 | $600 | +| 181608496217 | | Prod | [corp-it-itom-postgres](https://us-west-2.console.aws.amazon.com/rds/home?region=us-west-2#database:id=corp-it-itom-postgres;is-cluster=false) [dtcc-itom-postgres](https://us-west-2.console.aws.amazon.com/rds/home?region=us-west-2#database:id=dtcc-itom-postgres;is-cluster=false) [nasdaq-us2-itom-postgres](https://us-west-2.console.aws.amazon.com/rds/home?region=us-west-2#database:id=nasdaq-us2-itom-postgres;is-cluster=false) [odl-farm-ore-2-itom-postgres](https://us-west-2.console.aws.amazon.com/rds/home?region=us-west-2#database:id=odl-farm-ore-2-itom-postgres;is-cluster=false) odl-farm-oregon-01-itom-postgres [opsb4opsb-itom-postgres](https://us-west-2.console.aws.amazon.com/rds/home?region=us-west-2#database:id=opsb4opsb-itom-postgres;is-cluster=false) ot-itom-postgres | Y | 7 \* db.m6g.xlarge | | 100% | $1943.68 | | +| 181608496217 | Frankfurt | Customer Dev/QA | [ferrero-dev-itom-postgres](https://eu-central-1.console.aws.amazon.com/rds/home?region=eu-central-1#database:id=ferrero-dev-itom-postgres;is-cluster=false) | N | db.m6g.xlarge | | 100% | $143.92 | $150 | +| 181608496217 | Frankfurt | Customer Dev/QA | [indra-dev-itom-postgres](https://eu-central-1.console.aws.amazon.com/rds/home?region=eu-central-1#database:id=indra-dev-itom-postgres;is-cluster=false) | N | db.m6g.xlarge | | 100% | $143.92 | | +| 181608496217 | Frankfurt | Customer Dev/QA | techmahindra-dev-itom-postgres | N | db.m5.xlarge | db.m6g.xlarge | 100% Doing it in the weekday | $143.92 | $30 | +| 181608496217 | Frankfurt | Prod | [techmahindra-itom-postgres](https://eu-central-1.console.aws.amazon.com/rds/home?region=eu-central-1#database:id=techmahindra-itom-postgres;is-cluster=false) | No → Yes | db.m5.xlarge | db.m6g.xlarge | 100% Change in a window | $143.92 | \-$300 | +| 181608496217 | Frankfurt | Prod | [ferrero-itom-postgres](https://eu-central-1.console.aws.amazon.com/rds/home?region=eu-central-1#database:id=ferrero-itom-postgres;is-cluster=false) [indra-itom-postgres](https://eu-central-1.console.aws.amazon.com/rds/home?region=eu-central-1#database:id=indra-itom-postgres;is-cluster=false) [nasdaq-eu-itom-postgres](https://eu-central-1.console.aws.amazon.com/rds/home?region=eu-central-1#database:id=nasdaq-eu-itom-postgres;is-cluster=false) [odl-farm-fra-3-itom-postgres](https://eu-central-1.console.aws.amazon.com/rds/home?region=eu-central-1#database:id=odl-farm-fra-3-itom-postgres;is-cluster=false) [odl-farm-fra-4-itom-postgres](https://eu-central-1.console.aws.amazon.com/rds/home?region=eu-central-1#database:id=odl-farm-fra-3-itom-postgres;is-cluster=false) [odl-farm-fra-5-itom-postgres](https://eu-central-1.console.aws.amazon.com/rds/home?region=eu-central-1#database:id=odl-farm-fra-3-itom-postgres;is-cluster=false) | Y | 6 \* db.m6g.xlarge | | 100% | $1727.04 | | +| 181608496217 | Canada-Central | Customer Dev/QA | [metrolinx-dev-itom-postgres](https://ca-central-1.console.aws.amazon.com/rds/home?region=ca-central-1#database:id=metrolinx-dev-itom-postgres;is-cluster=false) | N | db.m5.xlarge | db.m6g.xlarge | 100% Doing it in the weekday | $150 | $30 | +| 181608496217 | Canada-Central | Prod | [metrolinx-itom-postgres](https://ca-central-1.console.aws.amazon.com/rds/home?region=ca-central-1#database:id=metrolinx-itom-postgres;is-cluster=false) | No → Yes | db.m5.xlarge | db.m6g.xlarge | 100% Change in a window | $150 | \-$300 | +| 181608496217 | Canada-Central | Prod | [odl-farm-can-1-itom-postgres](https://ca-central-1.console.aws.amazon.com/rds/home?region=ca-central-1#database:id=odl-farm-can-1-itom-postgres;is-cluster=false) | Y | db.m6g.xlarge | | 100% | $305.56 | | +| 181608496217 | London | Customer Dev/QA | [iconmon-dev-itom-postgres](https://eu-west-2.console.aws.amazon.com/rds/home?region=eu-west-2#database:id=iconmon-dev-itom-postgres;is-cluster=false) | N | db.m6g.xlarge | | 100% | $144.86 | $150 | +| 181608496217 | London | Prod | [iconmon-itom-postgres](https://eu-west-2.console.aws.amazon.com/rds/home?region=eu-west-2#database:id=iconmon-itom-postgres;is-cluster=false) | Y | db.m6g.xlarge | | 100% | $289.73 | | + +## Check the customer license expiration time to check if we need to buy RI of the DB. Owner: ShenweiRI for Open Search + +Concerns on the data index from EU to US + +| AWS Account | Farm | Region | Domain Name | Worker | Worker Proposal | RI percentage | RI saving (3 years Allupfront) | +| --- | --- | --- | --- | --- | --- | --- | --- | +| 181608496217 | Prod | Oregon | | 3 \* r7g.2xlarge | | 100% | $809.68 | +| 789610210433 | | | [forrester-demo-opensearch](https://us-west-2.console.aws.amazon.com/aos/home?region=us-west-2#/opensearch/domains/forrester-demo-opensearch) (To be removed) [montest-opensearch](https://us-west-2.console.aws.amazon.com/aos/home?region=us-west-2#/opensearch/domains/montest-opensearch) (long term) [r251-opensearch](https://us-west-2.console.aws.amazon.com/aos/home?region=us-west-2#/opensearch/domains/r251-opensearch) (To be removed) | 6 \* r6g.large | | 100% 2 \* r6g.large | $190.18 / 3 | +| 014842986998 | | | [opsb4opsb-staging-opensearch](https://us-west-2.console.aws.amazon.com/aos/home?region=us-west-2#/opensearch/domains/opsb4opsb-staging-opensearch) | 2 \* r6g.large | | 100% TBD, owner: Raluca | $126.79 | +| 493286294651 | | | [advantageinc-opensearch](https://us-west-2.console.aws.amazon.com/aos/home?region=us-west-2#/opensearch/domains/advantageinc-opensearch) (long term) [odl5t3-opensearch](https://us-west-2.console.aws.amazon.com/aos/home?region=us-west-2#/opensearch/domains/odl5t3-opensearch) (have been deleted) [odl6t1-opensearch](https://us-west-2.console.aws.amazon.com/aos/home?region=us-west-2#/opensearch/domains/odl6t1-opensearch) (To be deleted) | 6 \* r6g.large | | 100% 2 \* r6g.large | $380.36 / 3 | + +## Reference + +[AWS Cost Estimation Template for ESM SaaS 2023.05\_SP.xlsx](https://opentextcorporation-my.sharepoint.com/:x:/g/personal/jhuang4_opentext_com/EfW5rQvLPT1Dgpluc72yFpIBWOGvzy3ZsotlAAy87IOsIg?e=mfSRpI) \ No newline at end of file diff --git a/Cloud DevOps/OpsBNOM Cloud Infra Cost Review.md b/Cloud DevOps/OpsBNOM Cloud Infra Cost Review.md new file mode 100644 index 00000000..62f26c87 --- /dev/null +++ b/Cloud DevOps/OpsBNOM Cloud Infra Cost Review.md @@ -0,0 +1,126 @@ +--- +title: "ITOM Cloud Service Delivery : OpsB/NOM Cloud Infra Cost Review" +source: "http://127.0.0.1:8999/686065571.html" +author: + - "[[Sunny Xia]]" +published: 2024-08-14 +created: 2026-09-07 +description: +tags: + - "clippings" +--- +## Introduction + +This page presents all the OpsB/NOM SaaS related cost review results. + +## 2025-06-05 + +3.1 \[EU-Managed eu28-eu32\] Upgrade the EKS version to 1.32 before 2025-11-26 for OBM, to prevent $500/mo extra cost on extend support REVIEWING (Here Should be Raluca/Razvan) + +## 2025-05-23 + +Remove the unused EBS snapshots, save around $???/mo **REVIEWING** + +## 2025-03-27 + +Reorganize the volume related tasks, Change io2 → gp3 3000 iops + 125MB, gp2 → gp3 3000 iops + 125MB it improves the performance and save cost. **Christian has reviewed** + +1. itom-sa-ext-stg (014842986998), save around $ **1500** /mo **ALMOST DONE By Raluca, two io2 volume left** +2. **i** tom-sa-ext-trial (493286294651), save around $ **900** /mo **owner: Raluca. 14 io2, 33 gp2 left in Oregen, planned in second half of April** +3. **itom-sa-ext-prod** , Oregen, save around $ **2000** /mo **owner: Raluca, need to plan accordingly** +4. **itom-sa-ext-prod** , Frankfurt, save around $ **2900** /mo **owner: Raluca, need to plan accordingly + ** +5. **itom-sa-ext-prod** , Canada, save around $ **2000** /mo **owner: Raluca, need to plan accordingly** +6. itom-sa-int-lab (789610210433), save around $200/mo **owner: Raluca. 2 io2, 3 gp2 left in Oregen. They are newly created less than a month. planned in second half of April + ** +- itom-sa-int-lab (789610210433) Remove 106 unused EBS volumes, save around $ **900** /mo **DONE only 10 left on 2025/01/21, 0 left on 2025/02** + +## 2025-03-13 + +Reorganize the RI related tasks: + +1. Buy RI for RDS instances, save around **$4500 ~ $8000/mo** depends on the RI plan: **REVIEWING** **lingyan/jacky provide a draft, and review with the team, one year RI. Wei has provided the customer license file, Owner: lingyan to cross check the RI planning and the customer license** + [OpsB/NOM AWS Infra RI & Saving Plan Proposal](http://127.0.0.1:8999/692447634.html) +2. Buy RI for Open Search, save around **$900 ~ 1500/mo** depends on the RI plan: **REVIEWING Owner: lingyan provide the draft** + [OpsB/NOM AWS Infra RI & Saving Plan Proposal](http://127.0.0.1:8999/692447634.html) + +Reorganize the multi-az to single-az related tasks: + +1. 493286294651 Oregen, change 4 dev/qa RDS from multi-az to single-az, save around $ **600** /mo **DONE Owner: Raluca** +2. 493286294651 Frankfurt, change 1 dev/qa RDS from multi-az to single-az, save around $150/mo **DONEOwner: Raluca** +3. 181608496217 Oregen, change 4 dev/qa RDS from multi-az to single-az, save around $ **600** /mo **DONEOwner: Raluca** +4. 181608496217 Frankfurt, change 1 dev/qa RDS from multi-az to single-az, save around $150/mo **DONEOwner: Raluca** +5. 181608496217 London, change 1 dev/qa RDS from multi-az to single-az, save around $150/mo **DONEOwner: Raluca** + +## 2025-03-12 + +1. Remove the unused AMIs, save around $868.65/mo **DONE** + +## 2025-01-21 + +itom-sa-ext-prod + +1. Frankfurt + 1. And/Or turn off odl-farm-fra-2-itom-postgres, as there are no connections for at least 4 weeks. save around $400/mo **DONE** + 2. Upgrade EKS version of [odl-farm-fra-2-EKS-Cluster](https://eu-central-1.console.aws.amazon.com/eks/home?region=eu-central-1#/clusters/odl-farm-fra-2-EKS-Cluster), save $292/mo **DONE to be terminated + ** + 3. And remove not used volumes, extra save around $300/mo **PLANNED owner: Raluca** +2. Oregon + 1. And/or turn off nasdaq-dev-us2-itom-postgres, as there are no connections for at least 4 weeks, save around $300/mo **NO PLAN As it's a paid instance by the customer** + 2. Remove not used volumes, extra save around $300/mo **REVIEWING** +3. London + 1. 4 iconmon-EKS-Worker-instance, change size from c5a.12xlarge → c5a.6xlarge, save around **$3000/** mo **REVIEWING** Last 4 weeks usage less than 10% CPU. Lingyan check with Brindusa on the planning + 2. 6 iconmon-dev-EKS-Worker-instance, change size from c5a.4xlarge → c5a.2xlarge, save around **$1500** /mo **REVIEWING** Last 4 weeks usage less than 15% CPU. Lingyan check with Brindusa on the planning + 3. 3 vertica dev ec2 instances, change size from r5.4xlarge → r5.2xlarge, **$1000** /mo **NO PLAN** As recently the usage is up to 60%. +4. Canada + 1. Remove not used volumes, extra save around $200/mo **REVIEWING** + +## 2024-08-14 + +itom-sa-int-lab + +1. Cleanup the resources in Frankfurt (VPC, ECR, KMS), Save around $100/mo **NO PLAN** +2. Drop unused RDS instances ( farm-drtest-itom-postgres-restored nom-drtest-itom-postgres-restored), save around $ **1160** /mo **DONE** +3. Change EBS from io2/gp2 to gp3, save around $200/mo **DONE + ** +4. Reduce the size of EC2 instances odl-farm-242razvan-EKS-Worker-instance c5a.4xlarge → m6g.2xlarge, save around $200/mo **DONE The instance has gone 2025/01/21 + ** +5. Reduce the vertica server size from r5.4xlarge → r5.2xlarge, save around $ **1300** /mo **REVIEWING** + +Process: + +Plan without downtime: + +**REVIEWING** → **PLANNED** → **DONE** + +Plan with downtime: + +**REVIEWING** → → **DONE** + +Didn't pass the review: +REVIEWING → NO PLAN + +**Backup policy: keep only one month. +** + +May consider remove [montest2-itom-postgres-snapshot](https://us-west-2.console.aws.amazon.com/rds/home?region=us-west-2#db-snapshot:engine=postgres;id=montest2-itom-postgres-snapshot) + +Tools: + +1. AWS cost calculator [https://calculator.aws/#/addService](https://calculator.aws/#/addService) +2. Cost Optimization Hub.../costmanagement/home#/cost-optimization-hub +3. AWS Trusted Advisor Report + +Further high risk task consider in the future: + +1. Consider to change other RDS instances to single-az depends on the requirement. + +Posted by lmeng2 at Jan 21, 2025 04:07 EST + +Cleanup the ECR regularly: $150 + +Posted by lmeng2 at Jan 22, 2025 03:26 EST + +Jacky mentioned that turning off the dev instances based on scheduler job can help + +Posted by lmeng2 at Mar 26, 2025 22:59 EDT \ No newline at end of file diff --git a/Cloud DevOps/数据说明.md b/Cloud DevOps/数据说明.md new file mode 100644 index 00000000..7243c4e7 --- /dev/null +++ b/Cloud DevOps/数据说明.md @@ -0,0 +1,45 @@ +- 管理多少个 AWS accounts? + - 23个AWS accounts [[ITOM Cloud AWS Account Overview]] +- 多少个 SaaS products? + - 3 大产品线, 细分产品大约10个(独立部署,升级,管理) + - ESM - SMAX, HCMX, AMX, UD/UCMDB, OO, Automation Center [[ESM Cloud Farm Version Tracking]] + - OpsB & NOM [[OpsB and NOM Cloud Deployments Version Tracking]] + - APM & AppPlus [[ITOM APM AppPluse Cloud Farm Information]] +- 多少 customer environments? + - 一共76 farms +- 服务多少 enterprise customers? + - 服务客户300+ (支持multi-tenancy环境,一个farm可部署不同客户的tenant) +- 覆盖多少国家 / region? + - AWS Oregon, Tokyo, Frankfult, Sydney, San Paulo, Canada Central, Cape Town +- 每月/每年多少次 deployment? + - +- Customer onboarding 从多少天降到多少天? + - 根据不同的客户类型,customer onboarding 的时间有所不同。 + - 如果是新用户的话,我们的自动化部署可以做到在30分钟内完成客户环境的搭建以及配置。 + - 如果是老用户或者甚至是从 on-premise 客户迁移到云端SaaS,我们需要进行数据迁移的话,这个我们要进行立项。根据 客户 openclaw 环境的版本,我们要帮助客户进行版本升级,保持和云端产品版本一致,然后在客户的生产环境里面导出数据,并通过一系列的自动化部署帮客户把数据迁移到云端 SaaS。这个根据数据量以及客户的环境不同,所需要的时间有所不同。 +- 自动化之前需要多少人工? +- Deployment automation 后减少多少 effort? +- Incident 数量下降多少? +- MTTR 从多少降到多少? +- Availability / SLA 达到多少个 9? + - 公司的要求是99.9%, 我任职期间,SLA达月标率达到90%以上 +- Cloud infrastructure 年度成本多少?FinOps 节省多少? +- 支持多少版本同时运行? +- 每年多少次 upgrade / patch? + - 一般一个产品每个季度需要进行一次版本升级。Patch 是以月为单位来 release patch。更小的单位是根据 incident 的严重程度需要出 hotfix,可能会以天为单位。 + - Major Update 4 times per product per year + - Patch Update 8 times per product per year + - Hotfix Update depends on incident urgency, average 10~12 times per prodcut per year +- 迁移了多少客户从 On-Prem / Off-Cloud 到 Cloud? + - 20~30 on-prem customer to cloud SaaS +- 团队从多少人发展到多少人? + - 2 team manager (China, Costa Rica) + - 1 PMO (Romania) + - 26 Engineers (5 China, 7 Romania, 6 India, 1 Bulgaria, 5 Costa Rica, 2 USA) +- 建立了多少套自动化工具? + - Product Farms cloud deployment (Terraform) + - Customer Tenant fulfillment & configuration (Product API) +- Product Readiness framework 最终覆盖多少产品? + - All Products + +