Cost analysis : On-premise vs Public-cloud
If I need to explain the most basic difference between [non-cloud & on-cloud] to a non-technical person, I will take an example from the realty sector. Just like in the realty sector, a flat or apartment is property without land and a house or villa is property with land. Sameway non-cloud (on-premise) has every asset under your ownership, which in case of on-cloud one pays only for the services used, no infra will be in your ownership if you terminate the subscription. This statement is over-simplified, but conceptually good for understanding.
Hash tag : #cloudportability, #cloudpricewar, #onpremise, #oncloud, #costonpremvsoncloud, #cloudstandardization, #cloudagnostic #savecloudrecurringexpense
Here it would not be fair to suggest to the audience what to opt [non-cloud or on-cloud]. For many years (almost ~3-4 years), I wanted to share detailed information for business-entities & communities to make a well informed decision. I have collated all relevant data-points i.e. explanation of the high-level cost-calculation approach, high-level comparison of cost for next 10 years, expected US$ saving on yearly basis, and so on.
I have tried to share maximum information with readers & audience of the open-world with complete honesty. At the same time, I also wanted to understand others’ perspectives about cloud’s futures. Because I feel a telecom-market like situation is yet to come in the cloud-market where we will see issues like customer retention & price-war/counter-offer by competitors.
Maybe I am overthinking, please do share your thoughts. That’s why I wrote two articles on following topics with complete details
- Price-war, cloud-portability & future of cloud
- Cost analysis : On-premise vs Public-cloud (with data-points)
- HLD – Migrate My Infrastructure (MMI) on magic-button-click (In-progress, will share soon)
Cost analysis : overview & approach
Market has the presence of various types of businesses with different complexity levels which could have complex or simple customer journeys and operational activities. Despite having different complexities in each business around the world, most of the businesses have standard [business-functions] and [backend-operations]. Architects from [telecom-domain], who have designed architecture for [non-telecom-domains], they would be able to understand or foresee standard [business-functions] and [backend-operations] of any business domain very quickly because of [TM Forum]. So one can visualize that sales, purchase, product-catalog, inventory, payroll & employee management etc are very common [business-functions] of any organization, and to have IT applications for these [business-functions] for a [mid-size] business-entity should require a similar range of [capex-&-opex-cost].
To understand the complete perspective on cost, let’s do the [capex-&-opex] cost analysis to run IT applications for such businesses on [on-premise or on-cloud] infrastructure. In this process, we shall do the side-wise-side cost analysis of [on-premise or on-cloud] for 10 years. In order to complete [capex-&-opex] cost analysis, the information is structured in following steps and each step is elaborated in further sections.
- Step – 1 : Consider few examples of business scenario for the cost analysis
- Step – 2 : Explain the cost components for managing IT ecosystem for those business scenarios
- Step – 3 : Calculate license-cost of software tools required for application development
- Step – 4 : Assessment of hardware sizing to run required software tools & applications (e.g. Core, Memory, Storage, etc. required for virtual-machines)
- Step – 5 : Calculate cost of physical (bare metal) machines
- Step – 6 : Calculate [capex-&-opex] cost in non-cloud environment with same hardware & software consideration
- Step – 7 : Calculate cost of infrastructure on on-cloud environment with same hardware & software consideration (Price sheet)
- Step – 8 : Calculate [capex-&-opex] cost in on-cloud environment
- Step – 9 : Present overall cost analysis with both [on-premise & on-cloud] approaches
- Step – 10 : Conclusion with 10 years expense analysis
Step-1 : Examples of business scenario for the cost analysis
One can consider the following business domains for which we might need to write the software applications. Businesses of these customer is not mission critical but market has huge chunk of such businesses e.g.
- Car dealer : who sells cars of different make, who sells 100 cars daily, who has 100 employees in the showroom at all levels, who performs sales, purchase, inventory, car-catalog, salary, likewise other functions.
- Hospital : which has 100 beds, 500 patients in OPD, 50 doctors on panel, one medical store inside, most of the health functions exist e.g. material purchase, inventory management, item issue for different departments, nurses & staff, their salary, etc.
- Academic institutions, training institutions, etc.
- Manufacturing unit
- Agency which provides security personnel & solution
- Agency which deals in recruitment, consultancy, 3rd party payroll.
- Agency which deals in recruitment, consultancy, 3rd party payroll.
Step-2 : Explain capex & opex cost components for managing IT ecosystem
Following cost-components are standard components which contribute to overall [capex-&-opex] cost.
- Infrastructure cost, includes mostly one-time cost of physical machine or virtual machine or container, networking, electricity, cooling (AC) system.
- Software license cost, includes one-time & recurring cost of softwares required at development time & runtime.
- Application development cost, includes cost of application development to run actual business operations. This could be vendor cost if outsourced or salary cost if inhouse.
- Maintenance cost, includes the salary cost of the team who are involved in software and hardware maintenance.
- Operation cost (managed service cost), includes the salary cost or vendor cost of the team who are involved in running business operational activities e.g. handling customer issues like billing dispute, OTP not received, product not arrived, etc, writing adhoc scripts for reporting, extracting data etc. This cost is segregated between Level-1 (1st team for receiving & resolving application related issue), Level-2 (2nd team for resolving issue after Level-1 team), Level-3 (3rd team (the development team) for resolving issue after Level-2 team),
Step-3 : Calculate license cost of software tools required for application development
Seq | Software tool type | Software tool name | Price range |
1 | API Gateway | APIGEE, | Free and open source software |
2 | Load-balancer | NGINX+ | Free and open source software |
3 | Web-server | Apache HTTP Server, NGINX, | Free and open source software |
4 | Queue-Broker | Apache Active MQ | Free and open source software |
5 | Cache-layer | Memcached | Free and open source software |
6 | Application API layer (Virtualized) | Tomcat, Wildfly, | Free and open source software |
7 | Application API layer (Containerized) | Kubernetes, Docker | Free and open source software |
8 | Database-layer | Postgres, Mysql, | Free and open source software |
9 | ODS (MIS Reporting) layer | Postgres, Mysql, | Free and open source software |
10 | Observability layer | ELK Stack, Prometheus, Metric, Grafana, | Free and open source software |
11 | Backup & recovery | Home grown scripts (Linux, Python, SFTP, ) | Free and open source software |
12 | DevOps-layer | GitLab, Jenkins, JUnit, Sonar, Veracode, | Free and open source software |
13 | Operating System | Linux (Ubuntu, Suse, Fedora,) | Free and open source software |
14 | Development (Backend) | Java, Python, C/C++, | Free and open source software |
15 | Development (Frontend) | Angular, React JS, Next JS, Vue JS | Free and open source software |
16 | Development (Mobile App) | Android, Flutter, | Free and open source software |
Note : Software tools in the list are just examples for our objective for doing the cost-analysis. I prefer free & open source software (FOSS) to save the substantial recurring cost on a periodic basis. However, support cost is always there for both types of softwares, be it FOSS or COTS (commercial-of-the-self, license fee applicable).
Note : Software tools in the list are not intended to influence anybody’s technology selection criteria.
Step-4 : Assessment of hardware sizing for required software tools & applications
# | Software tool | Min Instance | Core (#) | Memory (GB) | Storage (GB) | Remark |
1 | API Gateway | 2 | 4 | 4 GB | 250 GB | 2 instances for HA solution |
2 | Load balancer | 2 | 4 | 4 GB | 250 GB | 2 instances for HA solution |
3 | Web server | 2 | 4 | 4 GB | 250 GB | 2 instances for HA solution |
4 | Queue Broker Layer | 2 | 4 | 4 GB | 250 GB | 2 instances for HA solution |
5 | Cache layer | 2 | 4 | 4 GB | 250 GB | 2 instances for HA solution |
6 | Application API layer (Virtualized) | 2 | 8 | 12 GB | 500 GB | 2 instances for HA solution |
7 | Application API layer (Containerized) | 4 | 8 | 12 GB | 500 GB | 2 instances for HA solution |
8 | Database layer | 4 | 12 | 16 GB | 1000 GB | Considering HA solution, Database for 4-5 applications, Syncing data onto ODS node. |
9 | MIS Reporting layer (ODS (operation data store)) | 2 | 12 | 16 GB | 2000 GB | 2 instances for HA solution, 3rd is read-only node for sync data on ODS node. |
10 | Observability layer | 2 | 12 | 16 GB | 1000 GB | 2 instances for HA solution |
11 | Backup & recovery | 1 | 8 | 8 GB | 4000 GB | HA not critical, Storage extensive node |
12 | DevSecOps layer | 1 | 8 | 8 GB | 500 GB | HA not critical, high memory & core for build job’s efficiency. |
Total | 26 (~30) | 88 (~100) | 108 GB (~160 GB) | 11 TB (~20TB) | Rounded up to consider a sufficient buffer. |
Note : Above sizing in the list are just examples for our objective for doing the cost-analysis. Cost of infra increases for implementing NFR requirements e.g. Scalability, High-availability, Security, Performance, User-response time,
Step-5 : Calculate cost of physical (bare metal) machines
These are the physical machines which will host and run the required IT application & solution. On these physical servers, virtual-machine would be created, so the size of physical-machine would be approx. sum of size of all virtual-machines considered in previous sections.
Configuration | Price Info |
One server machine configuration2 x Xeon processor (Intel 5th generation, 64 cores)4 x 32 GB DDR5 RAM (upgradable upto 4 TBs)4 x 1 TB HDD/SSDOther necessary componentsReference specification from Dell | Range : US$ 3500.00 to US$ 5000.00Type : Onetime |
Cost of 4 server machines Note : to host all types of environments, some lab machines as well. | Range : US$ 13000.00 to US$ 20000.00Type : Onetime |
Alternatively, one can take these machines from a conventional data-center. | For one serverRange : US$ 700.00 to US$ 1100.00Type : YearlyTerm : 5 years commitment For 4 serversRange : US$ 3000.00 to US$ 4500.00 |
Step-6 : Calculate capex & opex cost in non-cloud environment
High level [capex-&-opex] cost = Cost of physical servers + Cost of licenses of software tools + Cost of support licenses of relevant software tools + Cost of Operation, Maintenance & Upgrade (Infrastructure) + Cost of Operation, Maintenance & Upgrade (Software application) |
# | Cost components | Lower approx. | Higher approx. |
A | Bare metal physical server configuration & approximate cost | ~11000 US$ (Onetime) | ~15000 US$ (Onetime) |
B | License cost of software tools required for application development | Zero, (Free & open source software (FOSS) | Zero, (Free & open source software (FOSS) |
C | Enterprise version support license for softwares in production e.g. Postgres, Kubernetes, etc. Note : Don’t find any relevant software for enterprise support license, but let’s allocate some budget for the same. Go for agreement with an organization having a good expert instead of OEM. | ~5000 US$ (Yearly) | ~8000 US$ (Yearly) |
D | Operation, Maintenance & Upgrade (Infrastructure) Note : considering 2 good resources having 8-10 years of experience | ~18000 US$ (Yearly) | ~25000 US$ (Yearly) |
E | Operation, Maintenance & Upgrade (Software application) Note : considering 4 good resources having 5-10 years of experience | ~30000 US$ (Yearly) | ~42000 US$ (Yearly) |
Total (Onetime) (A) | ~11000 US$ (Onetime) | ~15000 US$ (Onetime) | |
Total (Yearly) (B + C + D + E) | ~53000 US$ (Yearly) | ~75000 US$ (Yearly) |
Step-7 : Calculate cost of infrastructure on on-cloud environment with same hardware & software consideration
This section explains the AWS pricing sheet for the same software & infrastructure service what we considered in a non-cloud environment. Reference to AWS pricing calculator (Price sheet)
Estimate summary | ||
Upfront cost | Monthly cost | Total 12 months cost |
0.00 USD | 3,681.51 USD | 44,178.12 USD |
Estimate detail | |||||||
# | Service Name | Status | Upfront cost | Monthly cost | Description | Region | Config Summary |
1 | Amazon API Gateway | – | 0.00 USD | 41.42 USD | Amazon API Gateway | US East (Ohio) | Cache memory size (GB) (1.6), WebSocket message units (thousands), HTTP API requests units (millions), Average size of each request (34 KB), Requests (0.1 per day), REST API request units (millions), Average message size (32 KB), Requests (0.1 per day) |
2 | Elastic Load Balancing | – | 0.00 USD | 139.07 USD | Elastic Load Balancing | US East (Ohio) | Number of Application Load Balancers (1) |
3 | Amazon Simple Queue Service (SQS) | – | 0.00 USD | 8.10 USD | Amazon Simple Queue Service (SQS) | US East (Ohio) | DT Inbound: Internet (100 TB per month), DT Outbound: Not selected (0 TB per month), Standard queue requests (10 million per month), FIFO queue requests (10 million per month) |
4 | Amazon ElastiCache | – | 0.00 USD | 92.14 USD | Amazon ElastiCache | US East (Ohio) | Instance type (cache.m5.xlarge), Cache Engine (Redis), Nodes (0), Utilization (On-Demand only) (100 %Utilized/Month), Cache Node Type (Standard), Pricing strategy (OnDemand), Nodes (0), Instance type (cache.r6gd.12xlarge), Utilization (On-Demand only) (100 %Utilized/Month), Cache Engine (Redis), Cache Node Type (Memory optimized), Pricing strategy (OnDemand), Average cache data size (in GB) (1), Average simple request rate (10 per second), Average data transferred per request [KBs] (10) |
5 | Amazon EC2 | – | 0.00 USD | 549.46 USD | Amazon EC2 for Application API layer (Virtualized) for Tomcat or Wildfly | US East (Ohio) | Tenancy (Shared Instances), Operating system (Linux), Workload (Consistent, Number of instances: 4), Advance EC2 instance (c6g.2xlarge), Pricing strategy ( 3yr No Upfront), Enable monitoring (enabled), EBS Storage amount (500 GB), DT Inbound: Internet (100 TB per month), DT Outbound: Not selected (0 TB per month), DT Intra-Region: (0 TB per month) |
6 | Amazon RDS for PostgreSQL | – | 0.00 USD | 2,331.26 USD | Amazon RDS for PostgreSQL (Half of sizing) | US East (Ohio) | Storage amount (100 GB), Storage volume (General Purpose SSD (gp2)), Nodes (1), Instance Type (db.m4.4xlarge), Utilization (On-Demand only) (100 %Utilized/Month), Deployment Option (Multi-AZ), Pricing Model (OnDemand) |
7 | Amazon CloudWatch | – | 0.00 USD | 0.00 USD | Amazon CloudWatch | US East (Ohio) | Logging, monitoring, dashboarding of application & system KPIs. |
8 | Amazon EC2 | – | 0.00 USD | 381.06 USD | ODS – Amazon EC2 | US East (Ohio) | Tenancy (Shared Instances), Operating system (Linux), Workload (Consistent, Number of instances: 1), Advance EC2 instance (c6g.8xlarge), Pricing strategy (Compute Savings Plans 3yr No Upfront), Enable monitoring (disabled), DT Inbound: Not selected (0 TB per month), DT Outbound: Not selected (0 TB per month), DT Intra-Region: (0 TB per month) |
9 | AWS CodeBuild | – | 0.00 USD | 90.00 USD | DevSecOps – AWS CodeBuild | US East (Ohio) | Amazon CodeBuild Compute Type (On-Demand EC2), Number of builds in a month (1000), Operating system (Linux), Compute instance type (arm1.2xlarge) |
10 | AWS CodePipeline | – | 0.00 USD | 49.00 USD | DevSecOps – AWS CodePipeline | US East (Ohio) | Number of active pipelines used per account per month (50) |
11 | AWS CodeDeploy | – | 0.00 USD | 0.00 USD | DevSecOps – AWS CodeDeploy | US East (Ohio) | Number of on-premise instances (0), Number of deployments (1000 per month) |
Step-8 : Calculate capex & opex cost on on-cloud environment
High level [capex-&-opex] cost = Cost of cloud infrastructure services + Cost of Operation, Maintenance & Upgrade (Infrastructure) + Cost of Operation, Maintenance & Upgrade (Software application) |
# | Cost components | Lower approx. | Higher approx. |
A | Cloud infrastructure services | ~35000 US$ (Yearly) | ~45000 US$ (Yearly) |
B | Operation, Maintenance & Upgrade (Infrastructure) Note : considering 1 good senior resource having 8-10 years of experience and 1 good junior resource having 4-7 years of experience. Note : Cloud resources would be expensive in market | ~21500 US$ (Yearly) | ~30000 US$ (Yearly) |
C | Operation, Maintenance & Upgrade (Software application) Note : considering 4 good resources having 5-10 years of experience | ~30000 US$ (Yearly) | ~42000 US$ (Yearly) |
Total (Onetime) | 0 | 0 | |
Total (Yearly) (A + B + C) | ~86500 US$ (Yearly) | ~117000 US$ (Yearly) |
Step-9 : Present overall cost analysis with both [on-premise & on-cloud] approaches
On-premise | On-cloud |
High level [capex-&-opex] cost = Cost of physical servers+ Cost of licenses of software tools+ Cost of support licenses of relevant software tools+ Cost of Operation, Maintenance & Upgrade (Infrastructure)+ Cost of Operation, Maintenance & Upgrade (Software application) | High level [capex-&-opex] cost= Cost of cloud infrastructure services+ Cost of Operation, Maintenance & Upgrade (Infrastructure)+ Cost of Operation, Maintenance & Upgrade (Software application) |
On-premise | On-cloud | ||||||
# | Cost components | Lower approx. | Higher approx. | # | Cost components | Lower approx. | Higher approx. |
A | Bare metal physical server configuration & approximate cost | ~11000 US$ (Onetime) | ~15000 US$ (Onetime) | A | Cloud infrastructure services | ~35000 US$ (Yearly) | ~45000 US$ (Yearly) |
B | License cost of software tools required for application development | Zero, (Free & open source software (FOSS) | Zero, (Free & open source software (FOSS) | ||||
C | Enterprise version support license for softwares in production e.g. Postgres, Kubernetes, etc. Note : Go for agreement with an organization having a good expert instead of OEM. | ~5000 US$ (Yearly) | ~8000 US$ (Yearly) | ||||
D | Operation, Maintenance & Upgrade (Infrastructure) Note : considering 2 good resources having 8-10 years of experience | ~18000 US$ (Yearly) | ~25000 US$ (Yearly) | B | Operation, Maintenance & Upgrade (Infrastructure) Note : considering 1 good senior resource having 8-10 years of experience and 1 good junior resource having 4-7 years of experience. Note : Cloud resources would be expensive in market | ~21500 US$ (Yearly) | ~30000 US$ (Yearly) |
E | Operation, Maintenance & Upgrade (Software application) Note : considering 4 good resources having 5-10 years of experience | ~30000 US$ (Yearly) | ~42000 US$ (Yearly) | C | Operation, Maintenance & Upgrade (Software application) Note : considering 4 good resources having 5-10 years of experience | ~30000 US$ (Yearly) | ~42000 US$ (Yearly) |
Total (Onetime) (A) | ~11000 US$ (Onetime) | ~15000 US$ (Onetime) | Total (Onetime) | 0 | 0 | ||
Total (Yearly) (B + C + D + E) | ~53000 US$ (Yearly) | ~75000 US$ (Yearly) | Total (Yearly) (A + B + C) | ~86500 US$ (Yearly) | ~117000 US$ (Yearly) |
Step-10 : Conclusion with 10 years expense analysis
In order to draw some high-level conclusion, let’s apply flat multiplication on yearly cost for every next year, and 10% of one-time cost of 1st year is assumed every next year just to cover any hidden expenses. Last column in the table below shows the US$ customer can save with a non-cloud solution.
Year | Non-cloud | On-cloud | Cost Difference (US$) | |||||||||||||
Onetime (US$) (OT) | Yearly (US$) (Y) | Total (US$)(OT + Y) | Onetime (US$) (OT) | Yearly (US$) (Y) | Total (US$)(OT + Y) | |||||||||||
Lower | Higher | Lower | Higher | Lower(A) | Higher(B) | Lower | Higher | Lower | Higher | Lower(C) | Higher(D) | Lower(C-A) | Higher(D-B) | Lower % | Higher % | |
1 | 11000 | 15000 | 53000 | 75000 | 64000 | 90000 | 0 | 0 | 86500 | 117000 | 86500 | 117000 | 22500 | 27000 | 35 | 30 |
2 | 1100 (10%) | 1500(10%) | X 2 | X 2 | 107100 | 151500 | 0 | 0 | X 2 | X 2 | 173000 | 234000 | 65900 | 82500 | 62 | 54 |
3 | 1100 (10%) | 1500(10%) | X 3 | X 3 | 160100 | 226500 | 0 | 0 | X 3 | X 3 | 259500 | 351000 | 99400 | 124500 | 62 | 55 |
4 | 1100 (10%) | 1500(10%) | X 4 | X 4 | 213100 | 301500 | 0 | 0 | X 4 | X 4 | 346000 | 468000 | 132900 | 166500 | 62 | 55 |
5 | 1100 (10%) | 1500(10%) | X 5 | X 5 | 266100 | 376500 | 0 | 0 | X 5 | X 5 | 432500 | 585000 | 166400 | 208500 | 63 | 55 |
6 | 1100 (10%) | 1500(10%) | X 6 | X 6 | 319100 | 451500 | 0 | 0 | X 6 | X 6 | 519000 | 702000 | 199900 | 250500 | 63 | 55 |
7 | 1100 (10%) | 1500(10%) | X 7 | X 7 | 372100 | 526500 | 0 | 0 | X 7 | X 7 | 605500 | 819000 | 233400 | 292500 | 63 | 56 |
8 | 1100 (10%) | 1500(10%) | X 8 | X 8 | 425100 | 601500 | 0 | 0 | X 8 | X 8 | 692000 | 936000 | 266900 | 334500 | 63 | 56 |
9 | 1100 (10%) | 1500(10%) | X 9 | X 9 | 478100 | 676500 | 0 | 0 | X 9 | X 9 | 778500 | 1053000 | 300400 | 376500 | 63 | 56 |
10 | 1100 (10%) | 1500(10%) | X 10 | X 10 | 531100 | 751500 | 0 | 0 | X 10 | X 10 | 865000 | 1170000 | 333900 | 418500 | 63 | 56 |
Here it would not be fair to suggest to the audience what to opt [non-cloud or on-cloud]. For many years (almost ~3-4 years), I wanted to share such details for business-entities & communities to make a well informed decision. I have collated all relevant data-points i.e. explanation of the high-level cost-calculation approach, high-level comparison of cost for next 10 years, expected US$ saving on yearly basis, and so on.
While doing this cost-analysis, I felt there are some opportunities also for [free-lancers & start-ups] from open-market who can help [business-entities] for [cost-components (A, B, C & D) in non-cloud] and [cost-components (A & B) in on-cloud] solutions. Most likey [business-entities] do not trust the free-lancers community, because they don’t own anything and remain like an advisor, while problems are killed by making their hands dirty.
About author
Profile : Rajesh Verma – Brief profile
Source : link for this article here
Series : S1 (Architecture & design)
Episode : S1E2 ([S1-A&D] MMI : Cost analysis : On-premise vs Public-cloud)
Author’s approach : Rajesh wants to share his learning & experience gained throughout his career from various sources. Author started the series on architectural topics and this article is one of the episodes in that attempt. Author feels that lots of information is available on various forums, but scattered here & there. Episodes in this series will be designed for most of the relevant topics in architecture-&-design, published gradually and organized in logical sequence. Principally episodes will have linkage with other episodes, so that readers can have proper connection among the topics and would be able to correlate with ongoing activities in their software life. Topics for example will be related to functional architecture, integration architecture, deployment architecture, microscopic view of mostly architecture-building-blocks (ABBs), security guidelines & approach to comply, performance KPIs & engineering, git branch & DevOps enabled automation strategy, NFR aspects (e.g. scalability, high-availability, stability, resiliency, etc.), commonly used architecture styles & design patterns, cloudification approaches, multi-tenancy approach, data migration, channel-cutover & rollout strategy, process standardization & simplification, greenfield rollout & brownfield transformation journeys, etc.
Thank you for reading the post, please stay connected.
No responses yet