Cloud Computing3

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/50

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 7:31 PM on 10/13/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

51 Terms

1
New cards

Design Considerations for Cloud Applications

Scalability, Reliability & Availability, Security, Maintenance & Upgradation, Performance

2
New cards

Scalability (design consideration)

An important factor that drives application designers to move to the cloud. Building applications that can serve millions of users without taking a hit on their performance. With cloud, designers can provision adequate resources to meet their workload levels.

3
New cards

Reliability

The probability that a system will perform the intended functions under stated conditions for a specified amount of time.

4
New cards

Availability

The probability that a system will perform a specified function under given conditions at a prescribed time.

5
New cards

Security (design consideration)

An important design consideration for cloud applications given the outsourced nature of cloud computing environments.

6
New cards

Maintenance & Upgradation

Businesses launch applications with a core set of features (MVP) and then incrementally add new features (AGILE), so applications should be designed with low maintenance and upgradation costs.

7
New cards

MVP

Minimum viable product; launching an application with a core set of features ready to achieve a rapid time-to-market.

8
New cards

Reference Architecture tiers (e-Commerce, B2B, Banking apps)

Load Balancing Tier (one or more load balancers), Application Tier (auto scaling recommended), Database Tier (Master-Slave Architecture).

9
New cards

Application Tier (reference architecture)

Recommended to configure auto scaling, triggered when metrics such as CPU usage or memory usage go above defined thresholds.

10
New cards

Master-Slave Architecture

Database tier with a master database instance and multiple slave instances. The master node serves all the write requests and the slave nodes serve the read requests. Improves throughput since most applications have more reads than writes, and ensures separation of concerns.

11
New cards

Reference Architecture - Content delivery apps

Used for apps like online photo albums and video webcasting. Uses both relational and non-relational data stores and a CDN (global network of edge locations) to speed up delivery of static content such as images, audios and videos.

12
New cards

Reference Architecture - Analytics apps

Used for compute intensive applications like Data Analytics and Media Transcoding. Has web, application, storage, computing/analytics and database tiers. The analytics tier uses distributed batch processing frameworks like Hadoop for big data. Jobs are submitted from the application servers, queued, and results returned to the application servers.

13
New cards

Service Oriented Architecture (SOA)

A well established architectural approach for designing and developing applications in the form of services that can be shared and reused. A collection of discrete software modules or services that collectively provide the functionality of an application.

14
New cards

SOA services

Developed as loosely coupled modules with no hard-wired calls. They communicate with each other by passing messages (SQS, Kafka).

15
New cards

Web Services Description Language (WSDL)

An XML-based language used to describe SOA services, containing information on the functions performed by a service and its inputs and outputs.

16
New cards

SOA Layers

Business Systems, Service Components, Composite Services, Orchestrated Business Processes, Presentation Services, Enterprise Service Bus

17
New cards

Business Systems (SOA layer)

Custom built applications and legacy systems such as ERP (Enterprise Resource Planning), CRM (Customer Relationship Management), SCM (Supply Chain Management).

18
New cards

Service Components (SOA layer)

Allow the layers above to interact with the business systems. Responsible for realizing the functionality of the services exposed.

19
New cards

Composite Services (SOA layer)

Coarse-grained services composed of two or more service components. Used to create enterprise scale or business-unit specific components (order, sales, payment, support).

20
New cards

Orchestrated Business Processes (SOA layer)

Composite services are orchestrated to create higher level business processes.

21
New cards

Presentation Services (SOA layer)

The topmost layer that includes user interfaces that expose the services and orchestrated business processes to the users.

22
New cards

Enterprise Service Bus (SOA layer)

Integrates the services through adapters, routing, and transformation.

23
New cards

Cloud Component Model (CCM)

An application design methodology that provides a flexible way of creating cloud applications in a rapid, convenient and platform independent manner. Not tied to any specific programming language or cloud platform.

24
New cards

Benefits of CCM

Hybrid deployments across different cloud vendors (overcoming vendor lock-in), better portability and interoperability, and better scalability by decoupling components and using asynchronous communication.

25
New cards

CCM Application Design Methodology steps

Component Design, Architecture Design, Deployment Design

26
New cards

CCM Component Design

A Cloud Component Model is created based on analysis of the application's functions and building blocks. Each component takes specific inputs, performs a pre-defined set of actions and produces outputs. Components offer functions as services (FaaS) through a functional interface and report performance through a performance interface.

27
New cards

CCM Architecture Design

The step where interactions between the application components are defined. Components have: Loose Coupling, Asynchronous Communication, and Stateless Design.

28
New cards

Asynchronous Communication (CCM)

Lets you add capacity by adding servers when application load increases. Made possible by using messaging queues (Amazon SQS, Kafka).

29
New cards

Stateless Design (CCM)

Components are stateless; session state is stored outside of the component (e.g. in a database). Enables distribution and horizontal scaling.

30
New cards

CCM Deployment Design

Application components are mapped to specific cloud resources (web servers, application servers, database servers). Since components are loosely coupled and stateless, they can be deployed independently and migrated between clouds (prevent vendor lock-in).

31
New cards

SOA vs CCM - Similarities

Both support standardization & re-use, loose coupling, and statelessness.

32
New cards

SOA vs CCM - Differences

SOA: small set of endpoints, uses SOAP for messaging, WS-Security/SAML for security, XML for interfacing, cumbersome to consume in a browser. CCM: endpoint for each resource (URI), uses HTTP and REST, HTTPS for security, many formats (HTML, XML, JSON), easy to consume in the browser.

33
New cards

Model View Controller (MVC)

A popular software design pattern for web applications made up of the Model, View, and Controller.

34
New cards

Model (MVC)

Manages the data and the behavior of the application. Processes events sent by the controller and has no information about the views and controllers.

35
New cards

View (MVC)

Prepares the interface shown to the user (UI). Users interact with the application through views. Handles user requests and sends them to the controller.

36
New cards

Controller (MVC)

Glues the model to the view. Processes user requests and updates the model when the user manipulates the view, and updates the view when the model changes.

37
New cards

Representational State Transfer (REST)

A set of architectural principles for designing web services and web APIs that focus on a system's resources and how resource states are addressed and transferred.

38
New cards

RESTful web service

A web API implemented using HTTP/HTTPS and REST principles.

39
New cards

REST architectural constraints

Client-Server, Stateless, Cacheable, Layered System, Uniform Interface, Code on demand

40
New cards

Django

An open source web application framework for developing web applications in Python. Based on the Model-View-Template (MVT) architecture. Provides a unified API to a database backend, so it works with different databases without code changes.

41
New cards

Web application framework

A collection of solutions, packages and best practices that allows development of web applications and dynamic websites.

42
New cards

Django components

An object-relational mapper (ORM), a web templating system and a regular-expression-based URL dispatcher.

43
New cards

Model (Django MVT)

A definition of some stored data that handles interactions with the database. A Django model is a Python class that outlines the variables and methods for a particular type of data.

44
New cards

View (Django MVT)

Ties the model to the template. Where you write the Python code that generates the web pages; determines what data to display, retrieves it from the database and passes it to the template.

45
New cards

Template (Django MVT)

Simply an HTML page with a few extra placeholders.

46
New cards

App Design methodology for PaaS

Architecture and deployment design steps are not required since the platform takes care of them. Developers only do component design, considering platform specific features.

47
New cards

PaaS - Sandbox Environments

Applications for specific PaaS offerings run in sandbox environments and can only perform actions that do not interfere with the performance of other applications.

48
New cards

PaaS - Portability

A significant challenge for PaaS-based applications due to dependencies and configurations tied to the underlying platform.

49
New cards

Image Processing App (case study)

Users upload images and choose filters to apply, then download the processed image. Web tier (Django templates), application tier (Django views), storage tier (S3).

50
New cards

Cloud Drive App (case study)

Lets users store documents on cloud-based storage. Uses Django, a MySQL database for user credentials, and S3 for file storage.

51
New cards

Social Media Analytics App (case study)

Collects Twitter tweets on a keyword in real time and analyzes their sentiment. A Listener component enqueues feeds to AWS SQS and a Consumer component (on a separate EC2 instance) analyzes them and stores results in MongoDB. Listener and Consumer are separated for scalability and loose coupling.