This WIP page will attempt to detail the financial and operations impact of varying ONAP deployments.
The audience is approving I.T. and Finance personnel.
Public Cloud Deployment
Executive Summary
ONAP as of 20180131 (Beijing master - pre M2) will deploy and run on a single 64G VM provisioned with a minimal 120G HD and at least 8 vCores. The monthly cost of this deployment will run at a minimum $117 US per month on AWS and $x US per month on Azure.
The security profile for deployment requires outbound access to nexus3.onap.org:10001/10003 as well as ssh/http/https access git.onap.org to do pulls and curls in-container for some components (being fixed). In order to orchestrate VMs on a currently supported Openstack/Rackspace infrastructure keystone and CLI/HEAT outbound access is required (in the future cloud-native VNF deployment will be supported).
Deployment Use Cases
There are several deployment scenarios that include VMs and containers both for ONAP itself and the VNFs that are managed. Container deployments are further segregated by managed kubernetes and Kubernetes as a Service types. We assume that all ONAP components run as Docker containers whether they are managed per VM (HEAT) or managed in a Kubernetes cluster namespace (KaaS or managed).
Type | ONAP(VMs or Containers) | VNF (VMs or Containers) | |
---|---|---|---|
Kubernetes containers | VM Rackspace/Openstack | ||
Deployment Example: Full Kubernetes on a VM cluster
This is the RI (Reference implementation) of ONAP Beijing release - it consists of all the ONAP containers 90+ deployed to a particular (dev/stg/prod) namespace ecosystem running on Kubernetes. The Kubernetes implementation is running under any management layer - here Rancher and not on a KaaS. The Kubernetes cluster undercloud can run on 1 or more VMs - in this example we colocate the server and single host on a single VM which currently fits in 55G.
Note: DCAEGEN2 is currently being fully containerized and should arrive as a native Kubernetes set of containers by Beijing R2 release. Currently DCAE runs in a 64G VM specifically on a configured Openstack system. There is a reverse proxy mechanism that joins DCAE to the rest of ONAP running in Kubernetes already. DCAE is required for VNF closed loop operations - but not for VNF orchestration. When DCAE is fully refactored for Kubernetes then the memory requirement will jump over the 64G baseline and push it to 96 to 128G depending on the size of the CDAP Hadoop cluster running which is 3-7 containers.
Security Profile
ONAP will require certain ports open by CIDR to several static domain names in order to deploy. At runtime the list is reduced.
ONAP Port Profile
ONAP on deployment will require the following incoming and outgoing ports. Note: within ONAP rest calls between components will be handled inside the Kubernetes namespace by the DNS server running as part of K8S.
port | incoming/outgoing | ||
---|---|---|---|
Software Profile
Microsoft Azure
Monthly Cost
Cost $US | Artifact | Details | |
---|---|---|---|
$102.2/m at $0.14/h | VM running Ubuntu 16.04 | (64g/8vCores) | |
$12.0/m at $0.1/m/Gb | EBS volume | 120Gb | |
$2.0/m | Elastic EIP | ||
AMI image snapshot | |||
Total | |||
$116.2/m |
Amazon AWS
VM: Minimum EC2 instance of size 61G (ideally 128G) with a 120+GB EBS volume (ideally 1024GB) and at least 8 vCores (ideally 64 vCores), network 1Gbps (ideally 10Gbps)
Cost
There is an R4.2xlarge instance type that has been the lowest cost instance that can run all of ONAP (except DCAE) and has been demonstrated since Amsterdam on the CD system. The cost on the spot market is between 72 to 89% off the reserved cost at around $0.14/hour on us-east(N. Virgina DC) and 0.07/hour in us-east(Ohio DC)
Monthly Cost
Cost $US | Artifact | Details | |
---|---|---|---|
$102.2/m at $0.14/h | EC2 spot VM running Ubuntu 16.04 R4.2xlarge | (64g/8vCores) | |
$12.0/m at $0.1/m/Gb | EBS volume | 120Gb | |
$2.0/m | Elastic EIP | ||
AMI image snapshot | |||
Total | |||
$116.2/m |
Artifacts
Amazon Cloudformation Template
SPOT only { "IamFleetRole": "arn:aws:iam::453279094200:role/aws-ec2-spot-fleet-tagging-role", "AllocationStrategy": "lowestPrice", "TargetCapacity": 1, "SpotPrice": "0.532", "ValidFrom": "2018-01-31T20:31:16Z", "ValidUntil": "2019-01-31T20:31:16Z", "TerminateInstancesWithExpiration": true, "LaunchSpecifications": [ { "ImageId": "ami-aa2ea6d0", "InstanceType": "r4.2xlarge", "KeyName": "obrien_systems_aws_20141115", "SpotPrice": "0.532", "BlockDeviceMappings": [ { "DeviceName": "/dev/sda1", "Ebs": { "DeleteOnTermination": true, "VolumeType": "gp2", "VolumeSize": 120, "SnapshotId": "snap-0dcc947e7c10bed94" } } ], "SecurityGroups": [ { "GroupId": "sg-de2185a9" } ] } ], "Type": "request" }
Microsoft Azure Resource Manager Template