Stamatia Bibi1, Dimitris Katsaros2, Panayiotis Bozanis2 Application Development: Fly to the Clouds or Stay in-House? Stamatia Bibi1, Dimitris Katsaros2, Panayiotis Bozanis2 1Department of Informatics Aristotle University of Thessaloniki, Greece 2 Department of Computer & Communication Engineering, University of Thessaly 1http://sweng.csd.auth.gr 2http://www.inf.uth.gr/
Presentation outline Introduction Cloud Computing Costs Traditional Software and Systems Costs Decision Model Conclusions and Future work
Introduction IT managers are recently faced with the problem of making a selection between cloud computing and on-premise development 2 questions Quality? Costs? Cloud computing costs software-as-a-service platform-as-a-service infrastructure-as-a-service On-premise assets IT infrastructure Software development Operation expenses
Scope A framework for decision making Example Costs Quality Demand level Example A popular SaaS application is used as an example: CRM (Customer Relationship Management)
Cloud computing utilities Software-as- aService (SaaS), Platform-as-a-Service (PaaS) and Infrastructure-as-a-Service (IaaS). Horizontal subscription management software, mail servers, search engines and office suites Vertical applications Accounting software, Management Information systems and Customer Relationship Management systems Subscription fees recorded in Service Level Agreements licensing fees, maintenance and upgrade costs
Cloud computing utilities Platform as a Service (PaaS) Developer studios, tools to build a web application, runtime environment and management and monitoring tools Infrastructure as a Service physical storage space and processing capabilities that enable the use of SaaS and PaaS Hardware, servers and networking components are typical examples of IaaS PaaS and IaaS costs are usually interrelated PaaS costs: usage of operating systems, database management systems, web hosting server software, batch processing software and application development environments Usually costs of IaaS are calculated as on-demand instances per hour. number of servers, the operating systems and middleware applications loaded to them. based on CPU, memory and hard disk usage
On premise software development Infrastructure Costs Hardware Networking Operational Costs Floor Electricity Administration Development Costs Personnel Product Environment Process
Decision Model 3 step decision model Assess software and infrastructure development costs Define quality characteristics Estimate user demand
Assess software and infrastructure development costs. CRM (Customer Relationship Management application) Cloud Zoho, Salesforce prices range from 12$ per month to 75$ per month, per user 5 potential users that use a sublist of features charged 50$ per month the annual costs are calculated to be 3000$ On- premise ISBSG (find mean values) 1867 total effort 181.5 function points 233 workdays 11,65 months 48242$
Define quality characteristics. Attribute Cloud On premise Reliability Continuity, better equipment Back- ups, disaster recovery Availability Instant, universal internet access Only on the company’s office Customization Limited Full control and flexibility Confidentiality Encryption, firewalls, VLANs. Data privacy, local in-house access to critical business data Interoperability Device independence Dependence on local systems and devices Maintenance Better and quickly addressed Intensive, time and cost consuming task Usability Require from users to possess knowledge and experience Incorporates functionality and features that the users are familiar with
Estimate user demand. Seasonal demand Temporary effect refers to sales and retails periods that usually present increased demand volume. (for the CRM) Temporary effect may refer to clearance period or possible relocation that are seldom events that may cause extra demands Expected demands: Batch processing may involve for the CRM a period that massive advertisements are shifted Unexpected demands for the CRM may occur when a new product of the company becomes very popular unexpectedly
Conclusions A first step towards: identifying all relevant costs of cloud computing on-premises infrastructure and software Proposed a three step decision model for evaluating the two alternatives. Assess software and infrastructure development costs Define quality characteristics Estimate user demand
Future Work Evaluate the proposed model on real world applications deployment and compare the three alternatives (cloud, on–premise, a combination of the two) based on data coming from both in-house development and cloud hosting In particular for the hybrid of the two worlds, we plan to elaborate on the cases where it is more profitable and derive appropriate “rules-of-thumb”, since we argue that this model will be the one that will finally dominate the market