SWS3004-Lecture 4: Cloud Software Development and Deployment

L4 is about Cloud Software Development and Deployment.

Outline

  • Cloud Software Development

  • Learning Objectives

  • SaaS is Different from Traditional Software

  • Different Perspectives of SaaS Development

    • SaaS with Self-managed Infrastructure and Self-managed Platform

    • SaaS with Self-managed Platform

    • SaaS with Self-managed Infrastructure

    • SaaS with Cloud-enabled IaaS and SaaS

  • Summary

Cloud Software Development

  • Power of cloud computing – exploits higher service-level abstraction, PaaS and SaaS, to reduce the time and cost of software development

  • SaaS changes the way software is delivered

    • usage-based billing, high scalability, ease of access, automated updates
  • PaaS changes the way the (SaaS) software is developed

    • automates the process of deployment, testing and scaling to reduce manual work and cost of application development

Learning Objectives

  1. Understand how SaaS applications are different from traditional software/application

  2. Understand the different perspectives of SaaS software development

SaaS is Different from Traditional Software

  • Pay-per-use - provides web access to commercial software on pay-as you-use vs traditional pay the full license fee

  • Zero infrastructure – customers need not install the software (SaaS developed, deployed and managed by service provider) vs ASP (application service provider) owns and manages dedicated infrastructure for each customers

  • Reduced business cost – 1-many - same SaaS application shared by multiple customers (multi-tenants) vs traditional 1-1 end-users and software relationship

  • Automated updates – Updates performed by service providers (SaaS) not by users (traditional)

Suitability of SaaS

Not suitable

  • Real-time processing where fast processing of data is needed

  • Organization’s data is more confidential and data localization is needed

  • When on-premise applications fulfil organization’s needs

Suitable

  • Consumers require on-demand software rather than full term/licensing-based software

  • Start-up company that cannot invest in buying licensed software

  • Applications with unpredictable and dynamic load

Different Perspectives Of SaaS Development

  • 2 key challenges

    • choosing correct multitenancy level(s) - multitenancy can be achieved at different levels such as infrastructure, platform and application

    • governance and security over user data

  • four perspectives

    • SaaS with Self-managed Infrastructure and Self-managed Platform

    • SaaS with Self-managed Platform

    • SaaS with Self-managed Infrastructure

    • SaaS with Cloud-enabled IaaS and PaaS

SaaS with Self-managed Infrastructure and Self-managed Platform

SaaS with Self-managed Infrastructure and Self-managed Platform

SaaS with Self-managed Platform

SaaS with Self-managed Platform

SaaS with Self-managed Infrastructure

SaaS with Self-managed Infrastructure

SaaS with Cloud-enabled IaaS and PaaS

SaaS with Cloud-enabled IaaS and PaaS

Summary

  • cloud software development

    • SaaS changes the way software is delivered

    • SaaS is different from traditional software

    • SaaS development: from self-managed to cloud enabled IaaS and/or PaaS

  • cloud-enabled platform services (with advanced capabilities around artificial intelligence (AI), data analytics, blockchain, IoT, …) + server-less computing changes the development, deployment and cost of more complex software applications