Dieser Vortrag zeigt, welche Services von AWS genutzt werden können um HCL Connections und dessen Component Pack zu betreiben um auf das Experten Wissen von AWS zurück greifen zu können. Die genutzten Services sind unter anderen: EKS, EFS, ElasticSearch, CloudFormation, RDS.
Boost your APEX Deployment and Provisioning with Docker
Aufbau einer hcl connections umgebung in der aws cloud
1. Aufbau einer HCL
Connections Umgebung in der
AWS Cloud
Martin Schmidt
+49 89 538863 878
Martin.Schmidt@becketal.com
2. Martin Schmidt
• Senior IT Architect at Beck et al.
– IBM / HCL Connections since 2007
• Experience in
– Deployment, Migration, Operation and
Customization
– Kubernetes EKS and AWS, Container
• Focusing on
– enhancing with own containers
– make the most out of customizer
• More and more
– DevOps, Automation
03.07.2020 Aufbau einer HCL Connections Umgebung in der AWS Cloud
2
3. Inhalt
03.07.2020 Aufbau einer HCL Connections Umgebung in der AWS Cloud
3
1. Warum (AWS) Cloud
2. Optimierung
3. Verschiebung in die Cloud
4. Verwenden von EKS
5. Verwenden von EFS
6. Verwenden von Oracle RDS
7. Verwenden des Elastic Search Services
4. • Kosten
– Cloud ist billiger.
• Sicherheit
– Es kommt darauf an, wie man es macht.
• Wissen
– Durch die Verwendung der Cloud Dienste kann auf das
Wissen der Cloud Anbieter zurück gegriffen werden.
03.07.2020 Aufbau einer HCL Connections Umgebung in der AWS Cloud
4
Warum (AWS) Cloud
?
?
!
5. 03.07.2020 Aufbau einer HCL Connections Umgebung in der AWS Cloud
5
Proof of Concept Infrastruktur
6. 03.07.2020 Aufbau einer HCL Connections Umgebung in der AWS Cloud
6
Voll redundante CNX Infrastruktur
7. • Verlagern der Reverse Proxy Server auf das K8s Cluster
# Global Ingress Controller
helm upgrade global-nginx stable/nginx-ingress
-i -f ./global-ingress.yaml --namespace connections
# Create External LB
kubectl –n connections apply
-f beas-cnx-cloud/AWS/kubernetes/aws-external-lb.yaml
#Run script to create the cnx_ingress rule
bash beas-cnx-cloud/common/scripts/cnx_ingress_backend.sh
…
03.07.2020 Aufbau einer HCL Connections Umgebung in der AWS Cloud
7
Optimierung
8. 03.07.2020 Aufbau einer HCL Connections Umgebung in der AWS Cloud
8
Voll redundante CNX Infrastruktur
9. • Aufbau der Infrastruktur 1:1 in der Cloud
– Keine spürbaren Einsparungen zu erwarten.
– Kaum Änderungen beim Betrieb zu erwarten.
• AWS Kompetenzen notwendig.
– Geringe Einsparungen durch Verwendung der ECR
(Docker Registry) und der Load Balancer.
03.07.2020 Aufbau einer HCL Connections Umgebung in der AWS Cloud
9
Verschieben in die Cloud
10. 03.07.2020 Aufbau einer HCL Connections Umgebung in der AWS Cloud
10
Voll redundante CNX Infrastruktur
in der Cloud
11. • EKS – Elastic Kubernetes Service
– Managed Kubernetes von AWS
– Eigene Server für die Kubernetes Manager werden
überflüssig
– Manager können nicht mehr als Zugriffspunkt
verwendet werden.
• Werkzeug: eksctl
03.07.2020 Aufbau einer HCL Connections Umgebung in der AWS Cloud
11
Verwenden von EKS
12. # Run eksctl
# https://docs.aws.amazon.com/eks/latest/userguide/getting-started-eksctl.html
eksctl create cluster
--name "$EKSName"
--nodegroup-name standard-workers
--node-type $EKSNodeType
--nodes $EKSNodeCount
--node-ami auto
--node-volume-size $EKSNodeVolumeSize
--ssh-public-key $EKSNodePublicKey
--region $AWSRegion
--vpc-public-subnets $SUBNETID
--version 1.16
03.07.2020 Aufbau einer HCL Connections Umgebung in der AWS Cloud
12
Amazon EKS using eksctl
13. 03.07.2020 Aufbau einer HCL Connections Umgebung in der AWS Cloud
13
Ersatz des Kubernetes Clusters
durch EKS
14. • EFS – Elastic File System
– Verwalteter NFS Storage von AWS
– Eigene Server für den Netzwerk Storage werden
überflüssig
03.07.2020 Aufbau einer HCL Connections Umgebung in der AWS Cloud
14
Verwenden von EFS
15. # Create EFS File System
aws efs create-file-system
--creation-token $EKSName
--performance-mode generalPurpose
--throughput-mode bursting
--tags Key=Name,Value="$EKSName"
--region $AWSRegion
# Create Mount Targets in every subnet
for sid in $(echo $SUBNETID| tr ',' ' ') do
aws efs create-mount-target
--file-system-id $efsid
--subnet-id $sid
--security-group $groupid
--region $AWSRegion
done
03.07.2020 Aufbau einer HCL Connections Umgebung in der AWS Cloud
15
Create EFS using AWS cli
16. # Use the official helm chart to install:
helm install stable/efs-provisioner
--set efsProvisioner.efsFileSystemId=$fsid
--set efsProvisioner.awsRegion=$region
--set efsProvisioner.storageClass.name=$storageclass
03.07.2020 Aufbau einer HCL Connections Umgebung in der AWS Cloud
16
Nutzung von Auto-Provisionierung
möglich
17. 03.07.2020 Aufbau einer HCL Connections Umgebung in der AWS Cloud
17
Ersatz des Netzwerk Speichers
durch EFS
18. • RDS – Relationaler Datenbank Service
https://docs.aws.amazon.com/de_de/AmazonRDS/latest/UserGuide/Welcome.html
– Verwaltete Relationale Datenbanken von AWS
– Nur sinnvoll wenn bereits ein Datenbank Cluster
verwendet wird.
03.07.2020 Aufbau einer HCL Connections Umgebung in der AWS Cloud
18
Verwenden von Oracle RDS
19. 1. Parameter Group (Set by Activities DB)
– query_rewrite_enabled=TRUE
– query_rewrite_integrity=TRUSTED
2. Option Group
– S3-INTEGRATION
For Backup / Restore via Data Pump
03.07.2020 Aufbau einer HCL Connections Umgebung in der AWS Cloud
19
RDS Options / Parameter
20. 03.07.2020 Aufbau einer HCL Connections Umgebung in der AWS Cloud
20
Ersatz der Datenbank durch Oracle
RDS
21. • Elastic Search Service
– Verwalteter Elastic Search Service von AWS
– Spart Ressourcen
– 3 ES Server sind kleiner als die 3 Node Server für das K8s Infrastructure
Cluster
– HCL Monitoring Stack (ELK) nicht möglich
Aber: Eigener Stack mittels EFK Stack möglich.
– Aktuell nur mit Anpassung für OrientMe nutzbar! – Offener Case bei
HCL.
Metrics und Type Ahead Search funktionieren problemlos.
03.07.2020 Aufbau einer HCL Connections Umgebung in der AWS Cloud
21
Verwenden des Elastic Search
Service
22. • Elastic Search kann mit einfachen HTTP Kommandos
gesteuert werden.
• HCL liefert ‘sendRequest.sh’ im es-client Pod mit.
– Kompliziert da nur innerhalb des Pods verfügbar.
– Nicht nutzbar bei AWS Elastic Search
• Eigene Scripte im GIT Repository:
https://github.com/becketalservices/beas-cnx-cloud
03.07.2020 Aufbau einer HCL Connections Umgebung in der AWS Cloud
22
Kommandos zur Interaktion mit ES
23. 03.07.2020 Aufbau einer HCL Connections Umgebung in der AWS Cloud
23
Ersatz des Infrastructure Cluster durch
AWS Elastic Search.
24. Zusammenfassung
03.07.2020 Aufbau einer HCL Connections Umgebung in der AWS Cloud
24
1. Durch die Verwendung von Cloud nativen Diensten
sind Kosteneinsparungen möglich.
2. HCL ist inzwischen offener für die Verwendung von
Cloud nativen Diensten.
3. In Connections 7.0 sollen auch die WebSphere Dienste
Kontainerisiert werden was zumindest das PoC
Szenario schlanker machen könnte.