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. 

    1. 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.
    2. 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.
    3. Academic institutions, training institutions, etc. 
    4. Manufacturing unit
    5. Agency which provides security personnel & solution
    6. Agency which deals in recruitment, consultancy, 3rd party payroll.
    7. 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.

    1. Infrastructure cost, includes mostly one-time cost of physical machine or virtual machine or container,  networking, electricity, cooling (AC) system.
    1. Software license cost, includes one-time & recurring cost of softwares required at development time & runtime.
    1. 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.  
    1. Maintenance cost, includes the salary cost of the team who are involved in software and hardware maintenance.  
    1. 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  

    SeqSoftware tool typeSoftware tool namePrice range
    1API GatewayAPIGEE, Free and open source software
    2Load-balancerNGINX+Free and open source software
    3Web-serverApache HTTP Server, NGINX, Free and open source software
    4Queue-BrokerApache Active MQFree and open source software
    5Cache-layerMemcached Free and open source software
    6Application API layer (Virtualized)Tomcat, Wildfly,Free and open source software
    7Application API layer (Containerized)Kubernetes, DockerFree and open source software
    8Database-layerPostgres, Mysql,Free and open source software
    9ODS (MIS Reporting) layerPostgres, Mysql,Free and open source software
    10Observability layerELK Stack, Prometheus, Metric, Grafana,Free and open source software
    11Backup & recoveryHome grown scripts (Linux, Python, SFTP, )Free and open source software
    12DevOps-layerGitLab, Jenkins, JUnit, Sonar, Veracode, Free and open source software
    13Operating SystemLinux (Ubuntu, Suse, Fedora,)Free and open source software
    14Development (Backend)Java, Python, C/C++, Free and open source software
    15Development (Frontend)Angular, React JS, Next JS, Vue JSFree and open source software
    16Development (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 toolMin InstanceCore (#)Memory (GB)Storage (GB)Remark
    1API Gateway244 GB250 GB2 instances for HA solution
    2Load balancer244 GB250 GB2 instances for HA solution
    3Web server244 GB250 GB2 instances for HA solution
    4Queue Broker Layer244 GB250 GB2 instances for HA solution
    5Cache layer244 GB250 GB2 instances for HA solution
    6Application API layer (Virtualized)2812 GB500 GB2 instances for HA solution
    7Application API layer (Containerized)4812 GB500 GB2 instances for HA solution
    8Database layer41216 GB1000 GBConsidering HA solution, Database for 4-5 applications, Syncing data onto ODS node.
    9MIS Reporting  layer (ODS (operation data store))21216 GB2000 GB2 instances for HA solution, 3rd is read-only node for sync data on ODS node.
    10Observability layer21216 GB1000 GB2 instances for HA solution
    11Backup & recovery188 GB4000 GBHA not critical, Storage extensive node
    12DevSecOps layer188 GB500 GBHA not critical, high memory & core for build job’s efficiency.
    Total26 (~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.

    ConfigurationPrice 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 DellRange : 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 componentsLower approx.Higher approx.
    ABare metal physical server configuration & approximate cost~11000 US$ (Onetime)~15000 US$ (Onetime)
    BLicense cost of software tools required for application developmentZero, (Free & open source software (FOSS)Zero, (Free & open source software (FOSS)
    CEnterprise 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)
    DOperation, Maintenance & Upgrade (Infrastructure) 
    Note : considering 2 good resources having 8-10 years of experience
    ~18000 US$ (Yearly)~25000 US$ (Yearly)
    EOperation, 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 costMonthly costTotal 12 months cost
    0.00 USD3,681.51 USD44,178.12 USD
    Estimate detail
    #Service NameStatusUpfront costMonthly costDescriptionRegionConfig Summary
    1Amazon API Gateway0.00 USD41.42 USDAmazon API GatewayUS 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)
    2Elastic Load Balancing0.00 USD139.07 USDElastic Load BalancingUS East (Ohio)Number of Application Load Balancers (1)
    3Amazon Simple Queue Service (SQS)0.00 USD8.10 USDAmazon 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)
    4Amazon ElastiCache0.00 USD92.14 USDAmazon ElastiCacheUS 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)
    5Amazon EC20.00 USD549.46 USDAmazon EC2 for Application API layer (Virtualized) for Tomcat or WildflyUS 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)
    6Amazon RDS for PostgreSQL0.00 USD2,331.26 USDAmazon 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)
    7Amazon CloudWatch0.00 USD0.00 USDAmazon CloudWatchUS East (Ohio)Logging, monitoring, dashboarding of application & system KPIs. 
    8Amazon EC20.00 USD381.06 USDODS – Amazon EC2US 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)
    9AWS CodeBuild0.00 USD90.00 USDDevSecOps – AWS CodeBuildUS East (Ohio)Amazon CodeBuild Compute Type (On-Demand EC2), Number of builds in a month (1000), Operating system (Linux), Compute instance type (arm1.2xlarge)
    10AWS CodePipeline0.00 USD49.00 USDDevSecOps – AWS CodePipelineUS East (Ohio)Number of active pipelines used per account per month (50)
    11AWS CodeDeploy0.00 USD0.00 USDDevSecOps – AWS CodeDeployUS 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 componentsLower approx.Higher approx.
    ACloud infrastructure services~35000 US$ (Yearly)~45000 US$ (Yearly)
    BOperation, 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)
    COperation, Maintenance & Upgrade (Software application) 
    Note : considering 4 good resources having 5-10 years of experience
    ~30000 US$ (Yearly)~42000 US$ (Yearly)
    Total (Onetime)00
    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-premiseOn-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-premiseOn-cloud
    #Cost componentsLower approx.Higher approx.#Cost componentsLower approx.Higher approx.
    ABare metal physical server configuration & approximate cost~11000 US$ (Onetime)~15000 US$ (Onetime)ACloud infrastructure services~35000 US$ (Yearly)~45000 US$ (Yearly)
    BLicense cost of software tools required for application developmentZero, (Free & open source software (FOSS)Zero, (Free & open source software (FOSS)
    CEnterprise 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)
    DOperation, Maintenance & Upgrade (Infrastructure) 
    Note : considering 2 good resources having 8-10 years of experience
    ~18000 US$ (Yearly)~25000 US$ (Yearly)BOperation, 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)
    EOperation, Maintenance & Upgrade (Software application) 
    Note : considering 4 good resources having 5-10 years of experience
    ~30000 US$ (Yearly)~42000 US$ (Yearly)COperation, 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)00
    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-cloudOn-cloudCost Difference (US$)
    Onetime (US$) (OT)Yearly (US$) (Y)Total (US$)(OT + Y)Onetime (US$) (OT)Yearly (US$) (Y)Total (US$)(OT + Y)
    LowerHigherLowerHigherLower(A)Higher(B)LowerHigherLowerHigherLower(C)Higher(D)Lower(C-A)Higher(D-B)Lower %Higher %
    111000150005300075000640009000000865001170008650011700022500270003530
    21100 (10%)1500(10%)X 2X 210710015150000X 2X 217300023400065900825006254
    31100 (10%)1500(10%)X 3X 316010022650000X 3X 3259500351000994001245006255
    41100 (10%)1500(10%)X 4X 421310030150000X 4X 43460004680001329001665006255
    51100 (10%)1500(10%)X 5X 526610037650000X 5X 54325005850001664002085006355
    61100 (10%)1500(10%)X 6X 631910045150000X 6X 65190007020001999002505006355
    71100 (10%)1500(10%)X 7X 737210052650000X 7X 76055008190002334002925006356
    81100 (10%)1500(10%)X 8X 842510060150000X 8X 86920009360002669003345006356
    91100 (10%)1500(10%)X 9X 947810067650000X 9X 977850010530003004003765006356
    101100 (10%)1500(10%)X 10X 1053110075150000X 10X 1086500011700003339004185006356

    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

    Leave a Reply

    Your email address will not be published. Required fields are marked *