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
Understand how SaaS applications are different from traditional software/application
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 Platform
SaaS with Self-managed Infrastructure
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