The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
This paper presents a comprehensive guide on deploying and managing Business Process Automation (BPA) applications using Amazon Elastic Kubernetes Service (EKS). It outlines the prerequisites, highlights the benefits of utilizing EKS, and provides step-by-step instructions for setting up an EKS cluster, Amazon RDS database, and MongoDB Atlas. Additionally, the paper delves into the deployment architecture and specifies the environment requirements, offering a thorough resource for organizations aiming to leverage EKS for their containerized BPA applications.
Keywords:Amazon EKS, Kubernetes, AWS, RDS, MongoDB Atlas, DevOps, Cloud Computing, Business Process Automation.
BUSINESS PROCESS AUTOMATION (BPA)
Cisco Business Process Automation (BPA) Services offer an end-to-end consulting and support services portfolio designed for process and workflow automation and orchestration. The BPA platform is scalable and microservices-based, featuring an embedded workflow engine, digital user interface, and common integration middleware. This platform helps automate complex network configuration changes and associated processes, making it suitable for both service provider customers and large global enterprises.
Key benefits of Cisco BPA Services include:
The BPA platform supports various business and IT/operational use cases such as OS upgrades, service provisioning, and integration with orchestration engines. Customers can access a lifecycle of services and BPA capabilities, including advisory, implementation, business-critical services, and solution support, Cisco BPA Services aim to increase operational efficiencies, reduce costly errors, improve business agility, and deliver faster returns on automation investments.
AMAZON ELASTIC KUBERNETES SERVICE (EKS)
Amazon Elastic Kubernetes Service (EKS) is a fully managed Kubernetes service provided by Amazon Web Services (AWS). Launched in 2018, EKS simplifies the process of deploying, managing, and scaling containerized applications using Kubernetes, an open-source container orchestration platform. EKS abstracts the complexities of Kubernetes cluster management, allowing developers to focus on building and running applications without the need to handle the underlying infrastructure.
Benefits of Using Amazon EKS for Application Deployment
Amazon EKS offers several benefits for application deployment, making it a popular choice for organizations leveraging containerized applications and microservices.
Key advantages include:
Managed Kubernetes Control Plane: EKS handles the deployment, scaling, and maintenance of the Kubernetes control plane, reducing operational burden.
Simplified Cluster Management: EKS abstracts the complexities of setting up and managing Kubernetes clusters.
Scalability: EKS allows for easy scaling of clusters to accommodate growing workloads.
High Availability: EKS supports multi-availability Zone deployments, enhancing availability and fault tolerance.
Integration with AWS Services: EKS integrates seamlessly with various AWS services.
This image represents a high-level architecture of a cloud-based infrastructure deployed on AWS , using several key components. Here's a breakdown of the diagram:
To create an Amazon EKS cluster using the AWS CLI, the eksctl
command-line utility can be used. This is an example command:
eksctl create cluster \
--name <my-eks-cluster> \
--region us-west-2 \
--nodegroup-name standard-workers \
--node-type t3.medium \
--nodes 4 \
--nodes-min 4 \
--nodes-max 6
Deploying a relational database on Amazon RDS involves these steps:
Security Group Rules
bpa-helm-chart/bpa/env/environment.txt
file. This file is used for authenticating database connections.Setting up Atlas MongoDB involves:
Creating Amazon ECR repositories and pushing Docker images into them involves several steps. These are the steps to create an ECR repository, tag a Docker image, and push it to the repository using the AWS CLI.
aws ecr create-repository --repository-name your-image-name --region your-region
Replace:
your-image-name with the desired name for your ECR repository.
your-region with your AWS region
Configure IAM Role for EKS Nodes
Ensure that the EKS worker nodes (EC2 instances) have the necessary IAM role attached with permissions to pull images from ECR. The IAM policy required is:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecr:GetDownloadUrlForLayer",
"ecr:BatchGetImage",
"ecr:BatchCheckLayerAvailability"
],
"Resource": "*"
}
]
}
Attach this policy to the IAM role associated with your EKS worker nodes.
The deployment of BPA involves several steps, including labeling EKS worker nodes, preparing directories on nodes, copying BPA packages, and deploying BPA using Helm.
For our customer deployment, we have utilized the following versions of software and cloud services:
Preparing Directories on Nodes
Copying BPA Packages
scp -r packages to node1:/opt/bpa/
scp -r packages to node2:/opt/bpa/
scp -r packages to node3:/opt/bpa/
scp -r packages to node4:/opt/bpa/
Deploying BPA Using Helm
helm install bpa-rel --create-namespace --namespace bpa-ns /opt/EKS/bpa-helm-chart
Ingress Setup
Enabling Ingress
values.yaml
to enable ingress:Creating a Secret Using BPA Certificate
Updating Ingress Controller
ingress-controller.yaml
file:Updating Ingress Certificate
Environment Specifications
The environment specifications include requirements for EC2 instances, load balancers, VPC endpoints, and RDS instances. Key specifications are:
EC2 Requirements:
Storage requirements:2TB space per nodes. Mount EBS volume to /opt and add an entry in /etc/fstab for all the nodes.
Security group inbound: 30101, 443, 0 – 65535 TCP, 22 for ssh.
Security group outbound: All traffic must be enabled.
DNS Resolver: EC2 must have on-prem resolvers in /etc/resolve.conf.
Load balancer requirements:
Understanding Kubernetes fundamentals is essential for effectively deploying and managing applications using Amazon EKS.
This paper provides a detailed guide for deploying and managing Business Process Automation (BPA) applications using Amazon EKS. By following the outlined steps and understanding the key concepts, organizations can leverage the benefits of EKS for their containerized BPA applications.
Amazon Web Services, "Amazon EKS Documentation," [Online]. Available:https://docs.aws.amazon.com/eks/
Kubernetes, "Kubernetes Documentation," [Online]. Available:https://kubernetes.io/docs/home/
Cisco BPA at a Glance https://www.cisco.com/c/en/us/solutions/collateral/service-provider/at-a-glance-c45-742579.html
BPA Operations Guide https://www.cisco.com/c/dam/en/us/support/docs/bpa/v403/cisco-bpa-operations-guide-v403.pdf
BPA Developer Guide https://www.cisco.com/c/dam/en/us/support/docs/bpa/v403/cisco-bpa-developer-guide-v403.pdf
Revision | Publish Date | Comments |
---|---|---|
1.0 |
10-Oct-2024 |
Initial Release |