Cloud Computing 2024 PDF
Document Details
Uploaded by SmilingHibiscus5596
Université de Fribourg
2024
Jacques Pasquier/ Mourad Khayati/Quentin Nater
Tags
Summary
This document provides an overview of cloud computing concepts, definitions, and technologies, including examples and challenges. It's part of a larger Advanced Software Engineering course.
Full Transcript
Advanced Software Engineering Internet Applications 3. Cloud Computing Advanced Software Engineering /Internet Applications 1/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jür...
Advanced Software Engineering Internet Applications 3. Cloud Computing Advanced Software Engineering /Internet Applications 1/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Topics 1. Introduction 2. Cloud Infrastructure (IaaS) 3. Cloud Platforms (PaaS) 4. Software / Everything as a Service (SaaS) 5. Marketplace for Services Advanced Software Engineering /Internet Applications 2/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Cloud Computing Definition – 1 Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. Definition by https://www.nist.gov/itl/cloud-computing Main Ideas in this Definition on-demand resource consumption via the Internet self-service rapid elasticity resource pooling (location independence) usage-based billing (utility computing) Advanced Software Engineering /Internet Applications 3/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Cloud Computing Definition – 2 Cloud Computing = Distributed System for Computing as a Service cloud provider offers IT resources to be used on demand by cloud consumer cloud provides scalability and load balancing aims for economies of scale, i.e., cloud provider tends to be better, cheaper, more reliable than in-house solution cloud realizes efficiency gain via virtualization of resources service paradigm to abstract from resource details Cloud Computing Stack Client end user access: browser, desktop/mobile application, … Application end user application: CRM, SRM, ERP, CMS, … execution environment: Java,.NET, SAP NetWeaver, DB, Web Platform application server (Tomcat), … Infrastructure virtualized resources (virtual machines): CPU, storage, and network Server Hardware & OS optimized for cloud Advanced Software Engineering /Internet Applications 4/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Cloud Computing Definition – 3 Cloud Computing Stack revisited from http://www.service-architecture.com/articles/cloud-computing/network_as_a_service_naas.html Advanced Software Engineering /Internet Applications 5/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Core Cloud Technologies Virtual Storage - distributed file system or database that combines several physical address spaces into a single virtual address space Virtual Machines - packaged execution environment that can be migrated from one machine to another transparently for the embedded applications - one hosting machine may run multiple VMs - each VM has its isolated, virtual address space on the hosting machine - can be created and deployed with low effort Multi-Tenancy (= Multi User Support) - support for multiple, strictly isolated users within the same address space / process - saves overhead resources per user in comparison to single user instantiations Service Paradigm - simple consumption and integration of cloud resources Advanced Software Engineering /Internet Applications 6/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Cloud Ownership Cloud Ownerships Private cloud: run within a company’s own Data Center / infrastructure for internal and/or partners use Public cloud: resources offered to 3rd party consumers - different pricing models: pay per use, subscription, … - SLAs negotiated between cloud provider and consumer Public/private cloud: Leasing public cloud services when private cloud capacity is insufficient Advanced Software Engineering /Internet Applications 7/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Cloud Benefits 80% of enterprise Economics software cloud consumer point of view expenditure is on - low entrance barrier for consumers via pay per use model installation and - investment costs (CAPEX) ~ 0 maintenance of - only operational costs (OPEX) software - fast and seamless scaling to adapt to higher (or lower) demands - guaranteed SLAs - outsourcing to focus on core competencies cloud provider point of view - high resource utilization - leverage long tail effect Technical fast and seamless scaling to adapt to higher (or lower) demands “infinite” amount of resources standardization and automation simplification by virtualization and encapsulation Advanced Software Engineering /Internet Applications 8/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Selected Cloud Computing Challenges Economics: Business models for providers - n-sided business models - high profit margin despite cloud as commodity, esp. for IaaS consumers - cost savings vs. risks - SLAs may be limited other players, e.g., marketplaces, cloud brokers - value added services Technical XaaS with zero effort deployment and migration - interoperability across layers - hide technical details Elasticity and multi-tenancy - seamless and automatic (up, down) scaling Security and data integrity Integration of public and private clouds - seamless and fast outsourcing/insourcing - even for high volumes (e.g., scientific computing) Advanced Software Engineering /Internet Applications 9/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Cloud Challenge: Vendor Lock-In consumer may become dependent on the provider, because - know how is outsourced to provider - migration costs (due to volume or format of data) may be much higher than cost savings that can be achieved by swithing to another provider known as vendor lock-in Advanced Software Engineering /Internet Applications 10/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Hype Cycle for Cloud Computing (Gartner 2011) Advanced Software Engineering /Internet Applications 11/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Topics 1. Introduction 2. Cloud Infrastructure (IaaS) 3. Cloud Platforms (PaaS) 4. Software / Everything as a Service (SaaS) 5. Marketplace for Services Advanced Software Engineering /Internet Applications 12/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Infrastructure as a Service – IaaS Infrastructure - Storage: SSD, HDD, (tape) + Backup - file-based - access via WS or API - e.g., Amazon S3, Microsoft Azure - Computing: CPU + RAM - renting VMs - often preconfigured by provider - e.g., Amazon EC2, Google Compute - Network: Bandwidth - also called NaaS plus some management services - configuration, monitoring, … - but limited support for automatic scaling (e.g., more VMs) thus, IaaS consumers are responsible for configuring OS/VM, and applications plus need to handle scalability issues Advanced Software Engineering /Internet Applications 13/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Data Center SAN/Storage/Backup Layer Computing Layer Networking Layer Management and Orchestration Layer Advanced Software Engineering /Internet Applications 14/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater 14 Inspired from © Prof. Dr. Jürgen Vogel IaaS Provider Challenges building and running a data center is extremely expensive (millions $) at the same time: IaaS is a commodity business - with limited IaaS functionality, differentiators are difficult to find - dominated by price - IaaS consumers can switch the provider relatively easily even worse, IaaS providers can only be profitable with a high resource utilization MS data center in Ireland - > 90% - BUT little unutilized resources also means limited scalability capabilities - handling demand peaks? Advanced Software Engineering /Internet Applications 15/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel IaaS Pricing and Costing Models Price options Priced component Cost elements Process tooling costs 99.9% Availability Support staff costs 98% Quality of Change costs 7 x 24 Support service Office opening hours Licence depreciation Support costs Software Fee licenses CPU costs Wintel DC-LAN costs Number of CPU’s SAN costs Lintel Storage costs Infrastructure Back-up costs Storage volumes Facility costs Change costs Infrastructure Tooling costs Advanced Software Engineering /Internet Applications 16/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater 16 Inspired from © Prof. Dr. Jürgen Vogel 27 November, 2024 Cost Optimization Approaches Storage: - Increase utilization rates - Make efficient use of high-capacity disks - Data compression, de-duplication, etc. - Integrate disk and (tape)/low-cost disk Servers: - Increase utilization rates - limit number of differing architectures - which has a knock-on effect on staffing costs - off-the-shelf systems that don’t need tailoring Software: - architecture to reduce dependency on specific components Advanced Software Engineering /Internet Applications 17/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater 17 Inspired from © Prof. Dr. Jürgen Vogel The Helix Nebula Project – Science Cloud Helix Nebula Project (http://helix-nebula.eu/ no more available as such since this part of the project terminated in 2023) c in many scientific experiments, huge amounts of data are created that need to be stored and analyzed running the required IT Infrastructire locally (i.e., at the science lab) is very expensive can cloud computing help? - technical challenges - business challenges Advanced Software Engineering /Internet Applications 18/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Helix Nebula: Research Aspects Science centers (demand side) have in-house IT resources: hybrid cloud solution Massive resource requirements from science centers - cannot be met by a single cloud provider - requires transparent inter-cloud scaling - cloud interoperability required despite different infrastructures via standardized APIs business aspects (need to create a win-win solution) despite conflicting goals - providers: profitability, stable customer relations - customers: cost savings, prevent vendor lock-in - trust, data privacy, legal aspects,... Advanced Software Engineering /Internet Applications 19/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Helix Nebula: Use Cases ATLAS High Energy Genomic Assembly SuperSites Exploitation Physics Cloud Use in the Cloud Platform To support the computing A new service to simplify To create an Earth capacity needs for the ATLAS large scale genome analysis; Observation platform, experiment for a deeper insight into focusing on earthquake and evolution and biodiversity volcano research Massive resource requirements (CPU + storage) CERN ATLAS sensors generate 20 Million Gigabytes of data each year CERN computing center has 15.000+ CPUs (but 100.000+ are required for processing) Advanced Software Engineering /Internet Applications 20/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Topics 1. Introduction 2. Cloud Infrastructure (IaaS) 3. Cloud Platforms (PaaS) 4. Software / Everything as a Service (SaaS) 5. Marketplace for Services Advanced Software Engineering /Internet Applications 21/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel PaaS Platform execution environment that abstracts from the underlying hardware (IaaS) - e.g., Java VM scaling support often offers additional services - core (e.g., authentication, DB, …) - integration adapters (e.g., via REST) - development environment (IDE) - parallel processing of large amounts of data (e.g., Apache Hadoop) Most PaaS Providers Focus on Web Application Platforms Google AppEngine (Java, Python) Windows Azure (.NET, but also PHP and Java) Force.com (APEX, for extending Salesforce.com) Advanced Software Engineering /Internet Applications 22/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Big Data & Large-Scale Data Processing Amount of data to be stored and processed can be massive scientific computing: CERN ATLAS sensors generate ~ 20 Million GB/year Web search engine: Google indexes ~ 40 Billion Web pages business applications: Walmart handles 1 Million customer transactions / hour Big Data: 3 V's Volume Velocity Variety Large-Scale Data Processing traditionally: scaling up - increasing storage and processing power of a single machine - but costly "new" paradigm: scaling out - connecting multiple machines to a distributed data processing system - requires efficient algorithms for distributed and parallel computing Advanced Software Engineering /Internet Applications 23/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel MapReduce – Example of an efficient algorithms Pattern for distributed and parallel computing MapReduce process large datasets in parallel on many nodes (cloud) - e.g., for sorting, indexing, machine learning, pattern detection, … open source implementation: Apache Hadoop (http://hadoop.apache.org/) - used by Google, Facebook, Amazon, NYT, … Advanced Software Engineering /Internet Applications 24/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel MapReduce Idea Data split data and distribute to k Data Data[i] Data[k] worker nodes execute data map() map() map() processing map() Data' Data'[i] Data'[k] distributed result rearrange results Data'' Data''[i] Data''[l] to l worker nodes (group) reduce() reduce() reduce() execute data processing reduce() Data'' Data''[i] Data''[l] collect overall Data'' result Advanced Software Engineering /Internet Applications 25/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel MapReduce Programming Model Data is handled in the form of Hashmaps (key-value sets) Programmer - writes map() function map (in_key, in_value) -> list(out_key, intermediate_value) - writes reduce() function reduce (out_key, list(intermediate_value)) -> list(out_value) MapReduce Middleware - distributes the original data set to worker nodes, which execute map() - redistributes the result to worker nodes, which execute reduce() - combines the result - achieves scalability and handles errors Advanced Software Engineering /Internet Applications 26/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel MapReduce Example: Word Count (animation beginning) Let’s assume we want to count the appearance of each distinct word in a text function map(String name, String document): function reduce(String word, Iterator partialCounts): // name: document name // word: a word // document: document contents // partialCounts: a list of aggregated partial counts for each word w in document: sum = 0 emit (w, 1) for each pc in partialCounts: sum += pc emit (word, sum) to be or not to be map group reduce to be to,1 to,1 to,2 be,1 to,1 or or,1 be,1 be,2 not to be not,1 be,1 to,1 not,1 not,1 be,1 or,1 or,1 Advanced Software Engineering /Internet Applications 27/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel MapReduce Example: Word Count (animation final) Let’s assume we want to count the appearance of each distinct word in a text function map(String name, String document): function reduce(String word, Iterator partialCounts): // name: document name // word: a word // document: document contents // partialCounts: a list of aggregated partial counts for each word w in document: sum = 0 emit (w, 1) for each pc in partialCounts: sum += pc emit (word, sum) to be or not to be map group reduce For a more complex example with to be to,1 to,1 to,2 many temperature data for cities and be,1 to,1 finding the max for each, goto or or,1 be,1 be,2 https://www.ibm.com/analytics/hadoop/mapreduce not to be not,1 be,1 to,1 not,1 not,1 be,1 or,1 or,1 Advanced Software Engineering /Internet Applications 28/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel MapReduce Algorithm with Tree Distribution (for info) Dataset data structure is a hashmap {(key1,value1), …, (keyn,valuen)} Map (= process) a node (=master node) splits a dataset into k subsets and hands each to one of k nodes (= worker nodes) this is repeated so that the dataset is distributed to all available worker nodes along a tree structure each worker node processes his subset {(keyi,valuei)} by executing the map function for each (keyi,valuei) pair: map(keyi,valuei) = {(keyj,valuej)} thus the result for a worker node is several {(keyj,valuej)} this result is then handed back to the corresponding master node Reduce (= combine) the master node collects results from all his worker nodes and combines them into his own result by - first grouping (sorting) the {{(keyj,valuej)}} according to keyj - then executing the reduce function for each of the groups (keyj) : reduce(keyj, {(keyj,valuej)}) = {(valuel)} - last the {(valuel)} are combined this is repeated until the root node is reached and the overall result is available Advanced Software Engineering /Internet Applications 29/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Migration among PaaS Providers? Object Web server Python VM Table Platform A Platform technologies servlet Web server RDBMS engine Web server Python VM Object Platform B Table J2EE Platform A container BPEL engine RDBMS Cloud 1 Platform C Cloud 2 Abstraction via Blueprint that specifies MyApplication requires features provided App.Comp.WebFrontEnd and App.Comp.BusinessLogic and properties (KPIs) App.Comp.DataBase; requirements and dependencies App.Comp.WebFrontEnd requires ApacheTomcat; lifecycle management instructions (deploy, initialize, monitor, scale, undeploy) App.Comp.BusinessLogic requires Jonas; needs to be standardized App.Comp.Database requires Postgres8.1; Advanced Software Engineering /Internet Applications 30/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Dynamic Application Deployment Blueprint Processing the Blueprint, PaaS Provider SLAs determines the best architecture for the runtime environment and deploy it using APIs Target KPIs A1C1 A1C2 third-party app/services used A1C3 … Exported services provided by the underlying IaaS and NaaS layers Web Servers farm App Servers farm HTTP Load Load Balancer balancer Resolve Service API A1C1 … A1C2 AnC1 A1C3 Web Python DBRepository Server VM Service Web Python Object server VM Table Virtual RuntimeMachine Platform Virtual Machine Runtime Platform Platform A Runtime Execution Container Runtime Execution Runtime Execution Runtime Execution Container Container Container Advanced Software Engineering /Internet Applications 31/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Platform Scalability through Load Balancing Application 1 Application 2 Servlet DB DB PHP Service Provider ‘s Virtual Virtual Virtual Virtual view of the Platform Tomcat 4.0 Postgres 8.1 Posgrest 8.1 Apache 2.0 Scalable Platform LoadBalancer LoadBalancer … … Instance Instance Instance Instance Postgres Instance Apache Apache Tomcat Tomcat VM VM VM VM VM Advanced Software Engineering /Internet Applications 32/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Other PaaS Features? Quantitative User Study Must-have Features of Cloud Platforms Availability of at least 95% Fully automated scalability Standardized APIs High security standards and access control Backup and disaster recovery In: Giessmann, A., Stanoevska-Slabeva, K., What are Developers' Preferences on Platform as a Service? An Empirical Investigation, IEEE HICSS, 2013 Advanced Software Engineering /Internet Applications 33/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Topics 1. Introduction 2. Cloud Infrastructure (IaaS) 3. Cloud Platforms (PaaS) 4. Software / Everything as a Service (SaaS) 5. Marketplace for Services Advanced Software Engineering /Internet Applications 34/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel SaaS SaaS = On Demand Software for end users (Web or thin client interface) for other applications (WS interface) SaaS Providers (nowadays) are mostly providing their own software, i.e., software vendor and SaaS provider Challenges multi-tenancy: supporting multiple users with 1 application instance to increase efficiency and lower setup costs elasticity: seamless in- and outscaling among application instances depending on workload privacy & security customization (without code changes and application restarts) Examples Google Apps (text documents, spreadsheets) Salesforce.com (CRM) SAP ByDesign (CRM, SRM, HR, …) Advanced Software Engineering /Internet Applications 35/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Everything as a Service (XaaS) Advanced Software Engineering /Internet Applications 36/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Source: EU Project Players in an Open XaaS Cloud World http://www.4caast.eu/ No more available since 2018 New link on slide 43 offers deployed services Provides new software (potentially using 3rd party ready to be deployed SaaS services) Software Provider Provider Runs and manages cloud platform providing core services and building Cloud Platform a business ecosystem PaaS Provider Uses a service that has been Contracts some software contracted by someone else. Service SaaS Consumer User Advanced Software Engineering /Internet Applications 37/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Topics 1. Introduction 2. Cloud Infrastructure (IaaS) 3. Cloud Platforms (PaaS) 4. Software / Everything as a Service (SaaS) 5. Marketplace for Services Advanced Software Engineering /Internet Applications 38/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Service Value Networks (SVN) In many markets, businesses tend to focus on their core competencies and form large service value networks with suppliers and customers e.g., car manufacturers, IT sector (Apple, Cloud Computing …) Revenue SVN Service Service traditionally: rather stable Value Proposition 2 Value Proposition 3 Service - manual formation and contracting 1 Revenue Value Proposition - loyal customers and high profit margins Service 6 in the future: dynamic and adhoc Revenue - automatic formation and contracting - high number of (volatile) customers and low profit margins - facilitated by - automated services with machine-understandable service description - service marketplaces as trusted intermediaries - automatic customization (= adaptation to customer needs) Advanced Software Engineering /Internet Applications 39/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Cloud Players May Interact via a Marketplace Marketplace central meeting point for the cloud business ecosystem Creates a community around a set of services / product infrastructure for the exchange of services (and payments) - features: catalog, search, price building, contracts, … supports the economic side of XaaS - lowers the coordination costs between provider and consumer - provider: offering products to existing and new consumers - consumer: finding and comparing products - automated selection of app/services based on business criteria - provides core business features - customized pricing, contracting and/or payments - simplifies managing large business (service value) networks - payment and revenue sharing for composite cloud products with multiple providers and different business models - enables higher-level services such as marketplace analytics - e.g., optimization potentials, customized marketing, … marketplace provider = service provider Advanced Software Engineering /Internet Applications 40/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Marketplace for Services Initiating Contracting Enforcing Intelligent Browsing & Track Order & Delivery Request for Quotations Business Scenarios Status Iterative Bargaining Rating & Feedback Service Plans / Bundles Ordering Service Configuration Customer Flexible, product- or View vendor-specific Terms & Calculation & Pricing Conditions Cross & Upselling Template-based service Online processing of Fulfillment Trigger definitions orders, RFQs Update Delivery Status Certifications Find subcontractor Own configuration & Provider View pricing settings Advanced Software Engineering /Internet Applications 41/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Examples Best Marketplace Software | Reviews of the most popular systems https://www.capterra.com/marketplace-software/ Advanced Software Engineering /Internet Applications 42/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel 4CaaSt Sample Scenario https://www.youtube.com/watch?v=pRTF_rUurEs Advanced Software Engineering /Internet Applications 43/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Summary of 4CaaSt Technical Challenges XaaS description (blueprint) - interoperable for all different kinds of XaaS offerings - machine-readable and user-friendly - incl. customization, deployment, and scale-in/-out recipes - incl. business terms composition - based on blueprints deployment monitoring and scalability (elasticity and multi-tenancy) pricing/costing Advanced Software Engineering /Internet Applications 44/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Summary: SOA Extended Advanced Software Engineering /Internet Applications 45/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel Additional Literature http://www.ibm.com/developerworks/cloud/ : A lot of good advices on how to deploy on a cloud and on the different types of clouds Buyya, Broberg and Goscinski, Cloud Computing: Principles and Paradigms, John Wiley & Sons, 2011. Advanced Software Engineering /Internet Applications 46/46 AS 2024 – Prof. Jacques Pasquier / Dr. Mourad Khayati/ Quentin Nater Inspired from © Prof. Dr. Jürgen Vogel