Cloud Computing: Principles and Technology

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

What is the main characteristic of a share-nothing architecture?

  • Only one node is responsible for data storage.
  • Nodes are dependent on each other for function.
  • Each node contains all necessary resources. (correct)
  • All nodes share a central resource.

How is scalability achieved in horizontal scalability?

  • By optimizing the network connections between nodes.
  • By increasing the resources of a single node.
  • By enhancing the capabilities of existing nodes.
  • By adding more cluster nodes. (correct)

What does sharding refer to in the context of horizontal scalability?

  • Dividing data into partitions across multiple nodes. (correct)
  • The process of consolidating data in one location.
  • Increasing the redundancy of data in a database.
  • Synchronizing data across all nodes for consistency.

Which of the following best describes asynchronous data replication?

<p>Data updates are only occasionally propagated. (C)</p> Signup and view all the answers

What is a common issue with systems using asynchronous data replication?

<p>Data consistency can become problematic. (C)</p> Signup and view all the answers

What does redundancy in a fault-tolerant system imply?

<p>Critical components are duplicated to prevent failure. (C)</p> Signup and view all the answers

Which of the following best explains the concept of recoverability in a system?

<p>The system includes measures for backup and recovery. (A)</p> Signup and view all the answers

What is a key feature of cloud computing as described?

<p>It uses independent commodity computing units. (A)</p> Signup and view all the answers

What is the expected average annual loss of objects when using Amazon S3, given a durability of 99.999999999%?

<p>1 object every 10,000,000 years (C)</p> Signup and view all the answers

Which S3 storage class is most appropriate for frequently accessed data?

<p>S3 Standard (B)</p> Signup and view all the answers

What is the SLA availability for S3 Standard-Infrequent Access (S3 Standard-IA)?

<p>99% (A)</p> Signup and view all the answers

How does Amazon S3 scale with growing data volumes?

<p>It scales automatically based on data volume and request numbers. (C)</p> Signup and view all the answers

Which of the following is a characteristic of the S3 Glacier Instant Retrieval storage class?

<p>Suitable for data requiring instant access with specific retrieval charges. (D)</p> Signup and view all the answers

What is a key feature of the S3 Intelligent-Tiering storage class?

<p>Automatic cost savings for data with unknown or changing access patterns. (B)</p> Signup and view all the answers

What does the 'mS latency' attribute indicate for S3 storage classes?

<p>Low latency typically measured in milliseconds. (C)</p> Signup and view all the answers

Which storage class is most appropriate for long-term archive data that is rarely accessed and does not require immediate access?

<p>S3 Glacier Flexible Retrieval (D)</p> Signup and view all the answers

What is a distinguishing feature of the S3 Express One Zone storage class?

<p>Single digit mS latency with availability only in one zone. (A)</p> Signup and view all the answers

Why is cross-region replication utilized in Amazon S3?

<p>To minimize latency and improve data durability. (C)</p> Signup and view all the answers

What is the primary purpose of AWS Regions?

<p>To reduce latency by being geographically proximate (D)</p> Signup and view all the answers

Which statement accurately describes Availability Zones (AZs)?

<p>AZs contain multiple data centers that are isolated from each other. (D)</p> Signup and view all the answers

How does Amazon CloudFront improve web content delivery?

<p>By routing users to the edge location providing the lowest latency. (D)</p> Signup and view all the answers

Which security feature restricts who can access AWS services?

<p>AWS Identity and Access Management (IAM) (D)</p> Signup and view all the answers

What is an important benefit of replicating data across Availability Zones?

<p>It enhances the fault tolerance and resiliency of the service. (B)</p> Signup and view all the answers

What role does AWS CloudTrail serve in AWS security?

<p>It provides an audit trail of user activity and API access. (B)</p> Signup and view all the answers

What is the main function of Amazon Virtual Private Cloud (VPC)?

<p>To create a private network within the AWS cloud. (D)</p> Signup and view all the answers

What is a characteristic of edge locations used by Amazon CloudFront?

<p>They are strategically located in highly populated areas. (A)</p> Signup and view all the answers

What is a unique feature of Availability Zones in terms of connectivity?

<p>They are located within 50 km of each other. (C)</p> Signup and view all the answers

Which security mechanism provides multi-factor authentication in AWS?

<p>AWS Identity and Access Management (IAM) (B)</p> Signup and view all the answers

Which of the following is a characteristic of Cloud Computing?

<p>On-demand network access (A)</p> Signup and view all the answers

What is a key prerequisite for effective Cloud Computing?

<p>Reliable and low-cost communications (D)</p> Signup and view all the answers

What does PaaS stand for in Cloud service models?

<p>Platform as a Service (D)</p> Signup and view all the answers

Which of the following is NOT a benefit of Cloud Computing?

<p>Increased maintenance costs (C)</p> Signup and view all the answers

Which term best describes the use of shared resources in Cloud Computing?

<p>Multitenancy (B)</p> Signup and view all the answers

What is meant by the term 'elasticity' in Cloud Computing?

<p>Ability to scale resources up or down (B)</p> Signup and view all the answers

Which cloud service model typically includes multitenant architecture?

<p>SaaS (D)</p> Signup and view all the answers

What does the acronym IaaS represent in the context of Cloud Computing?

<p>Infrastructure as a Service (A)</p> Signup and view all the answers

What is the maximum size of EBS volumes that can be attached to EC2 instances?

<p>16TB (D)</p> Signup and view all the answers

What feature allows EBS volumes to recover data in case of failure?

<p>Point-in-time snapshots (D)</p> Signup and view all the answers

Which of the following is NOT a use case for AWS RDS?

<p>Big data analytics engines (C)</p> Signup and view all the answers

In a Multiple AZ deployment, what happens if the master instance fails?

<p>Automatic failover to stand-by instance occurs (A)</p> Signup and view all the answers

AWS RDS provides which of the following automated features?

<p>Database installation and patches (A)</p> Signup and view all the answers

What is the primary storage type used in Amazon Aurora?

<p>SSD with provisioned IOPS (D)</p> Signup and view all the answers

Asynchronous read replicas primarily serve what purpose?

<p>To reduce load on the master database (D)</p> Signup and view all the answers

What is a notable characteristic of Amazon Redshift?

<p>It uses columnar storage (C)</p> Signup and view all the answers

Which type of scaling does Amazon Aurora support?

<p>Horizontal scaling with read replicas (D)</p> Signup and view all the answers

What level of availability do EBS volumes provide?

<p>99.999% (D)</p> Signup and view all the answers

Which service allows for shared file storage across multiple EC2 instances?

<p>Elastic File System (EFS) (B)</p> Signup and view all the answers

What type of database can Amazon Aurora be compatible with?

<p>MySQL and PostgreSQL (C)</p> Signup and view all the answers

Which statement about EBS encryption is correct?

<p>It is optional and enhances data security (D)</p> Signup and view all the answers

The concept of 'high availability' in RDS ensures what?

<p>Continuous database access and protection against outages (C)</p> Signup and view all the answers

Which of the following is NOT a form of Salesforce security certification?

<p>GDPR compliance (A)</p> Signup and view all the answers

What is a potential cost implication when transferring data to AWS?

<p>It can cost $100 per terabyte for data transfer based on the region. (D)</p> Signup and view all the answers

In which scenario is cloud deployment particularly advantageous?

<p>For unpredictable or variable demand on resources. (D)</p> Signup and view all the answers

What is one of the common issues associated with performance in cloud computing?

<p>Unpredictability in running large-scale batch jobs. (C)</p> Signup and view all the answers

Which AWS service provides a solution for managing security and identity?

<p>AWS IAM (B)</p> Signup and view all the answers

Which of the following best describes a significant benefit of cloud computing?

<p>It allows enterprises to use a pay-as-you-go model for on-demand IT resources. (B)</p> Signup and view all the answers

How can AWS services be interacted with?

<p>Via REST-like interfaces and AWS SDKs as well. (C)</p> Signup and view all the answers

What type of applications does the cloud particularly benefit?

<p>Batch processing applications utilizing parallelism. (B)</p> Signup and view all the answers

Which type of service does AWS EC2 represent?

<p>Compute services. (A)</p> Signup and view all the answers

What does the AWS import/export courier service facilitate?

<p>Physical shipping of data disks for transfer efficiency. (B)</p> Signup and view all the answers

What aspect of cloud services is expected to evolve according to future trends?

<p>Widespread delivery of enterprise applications as cloud services. (A)</p> Signup and view all the answers

Which of the following security measures is included in Salesforce's facility security?

<p>Biometric readers. (C)</p> Signup and view all the answers

Which certification indicates that Salesforce's security practices are trusted by independent auditors?

<p>SAS 70 Type II (C)</p> Signup and view all the answers

Flashcards

Share-nothing architecture

A type of architecture where each node has its own resources (like CPUs, RAM, and storage) and is independent. Data is split across multiple nodes for storage.

Horizontal Scalability

Adding more nodes to a system to handle increased workload.

Sharding

The ability to split data across different storage locations (nodes) in a distributed system.

Asynchronous data replication

Copying data across multiple nodes to ensure availability even if one node fails.

Signup and view all the flashcards

Data consistency issues in sharded systems

The consistency of data across multiple nodes in a sharded system with asynchronous replication can be a challenge.

Signup and view all the flashcards

System failures

A situation when a system's capacity is exceeded, like running out of memory, disk space, or computing power.

Signup and view all the flashcards

Redundancy in fault tolerance

Making sure all critical components of a system have backups to handle failures, preventing a single point of failure.

Signup and view all the flashcards

Reserve capacity in fault tolerance

Having extra capacity in resources to handle peak loads and unexpected events.

Signup and view all the flashcards

Cloud Computing

A model for delivering computing resources - servers, storage, software, etc. - over the internet. Users pay for what they use, similar to a utility service like electricity.

Signup and view all the flashcards

Elasticity

A flexible approach to resource allocation in cloud computing, where resources can quickly scale up or down based on demand. For example, a company can add more servers during peak hours.

Signup and view all the flashcards

Fault Tolerance

The ability of a cloud service to handle failures and recover quickly. This ensures that workloads can continue even if there are outages.

Signup and view all the flashcards

Multitenant Architecture

The process of enabling multiple users or tenants to share the same physical resources, such as servers or applications. In cloud computing, this allows for efficient use of infrastructure.

Signup and view all the flashcards

SaaS (Software as a Service)

A cloud computing service model where software applications are hosted and delivered over the internet, allowing users to access and use them without needing to install them locally. Examples include Google Docs or Salesforce.

Signup and view all the flashcards

IaaS (Infrastructure as a Service)

A cloud computing service model where users rent virtualized computing resources like servers, storage, and networking. Think of it as renting virtual server space.

Signup and view all the flashcards

PaaS (Platform as a Service)

A cloud computing service model where users get a platform for building and deploying their own applications, including operating systems, databases, and development tools. It's like having a virtual platform for building web applications.

Signup and view all the flashcards

Autonomic Operation

The ability for a cloud service to operate automatically with minimal human intervention. This ensures reliable and efficient service delivery.

Signup and view all the flashcards

What is an AWS region?

A geographic location where AWS services are deployed. Examples include US East (Ohio), US West (Oregon), and Asia Pacific (Singapore).

Signup and view all the flashcards

What is an Availability Zone (AZ)?

Independent data centers within a region that are isolated from failures in other Availability Zones. Each AZ has its own power, network, and cooling systems.

Signup and view all the flashcards

What are Edge Locations?

A worldwide network of data centers used by CloudFront to deliver content quickly to users around the globe. These locations are strategically placed in highly populated areas to reduce latency.

Signup and view all the flashcards

What is Amazon CloudFront?

A service used to distribute static and dynamic web content (like images, videos, and applications) through a global network of edge locations. It helps reduce latency and improve performance.

Signup and view all the flashcards

What is AWS VPC (Virtual Private Cloud)?

A service that allows you to create a private network within the AWS cloud, providing a secure and isolated environment for your applications. It enables you to control network traffic and access to resources.

Signup and view all the flashcards

What is CloudTrail?

A service that provides a detailed record of all actions taken within your AWS account, including user activity and API calls. This allows you to track and audit changes to your environment.

Signup and view all the flashcards

What is CloudHSM (Hardware Security Module)?

A service used to store and manage encryption keys securely within dedicated hardware modules. These keys are used to encrypt data and protect it from unauthorized access.

Signup and view all the flashcards

What is Direct Connect?

A way to connect your on-premises network directly to an AWS region, bypassing the public internet. This provides a secure and high-bandwidth connection for your applications.

Signup and view all the flashcards

What is IAM (Identity and Access Management)?

A service that provides security and access control for your AWS resources. It allows you to define who has access to what resources and control their permissions.

Signup and view all the flashcards

What is Multi-factor Authentication (MFA)?

A mechanism used to access AWS services using a combination of authentication factors, such as usernames/passwords, SMS codes, and physical security keys. It enhances account security by adding an extra layer of protection.

Signup and view all the flashcards

ISO 27001

A security standard addressing information security management. It helps organizations identify, analyze, and manage risks related to their information.

Signup and view all the flashcards

SSL encryption

A protocol that ensures secure communication over the internet. It uses encryption to protect data during transmission.

Signup and view all the flashcards

Identity confirmation

A security control that verifies the identity of users before granting access to resources.

Signup and view all the flashcards

IP restrictions

A security control that restricts access to specific IP addresses.

Signup and view all the flashcards

Firewall

A network security mechanism designed to prevent unauthorized access to a system.

Signup and view all the flashcards

Intrusion detection

A security control that detects suspicious activities happening on a network.

Signup and view all the flashcards

3rd party assessments

A security assessment conducted by an independent third party to evaluate the effectiveness of security controls.

Signup and view all the flashcards

Data transfer expense

A data transfer bottleneck that refers to the cost of transferring large amounts of data over the internet.

Signup and view all the flashcards

AWS Import/Export courier service

A service offered by AWS for transporting large amounts of data physically.

Signup and view all the flashcards

I/O interference

A problem that arises when virtual machines running on the same physical hardware interfere with each other's I/O operations, leading to inconsistent disk write speeds.

Signup and view all the flashcards

Unpredictability in batch jobs

A scenario where the performance of large batch jobs running on a cloud cluster can vary significantly due to factors such as resource contention.

Signup and view all the flashcards

Unpredictable demand

A suitable use case for cloud deployment where demand for compute and storage resources fluctuates significantly.

Signup and view all the flashcards

Batch processing applications

A scenario where cloud computing can be used to efficiently execute large-scale computations by utilizing the power of parallel processing.

Signup and view all the flashcards

New startup operations

A scenario where a cloud platform provides a cost-effective and agile solution, especially for startups with limited IT infrastructure.

Signup and view all the flashcards

Evaluating cloud costs

The process of carefully evaluating the costs and benefits of migrating to the cloud, taking into account both upfront and ongoing expenses.

Signup and view all the flashcards

Amazon S3 (Simple Storage Service)

A storage service that provides high availability, durability, and scalability for storing data in the cloud.

Signup and view all the flashcards

Data Access Frequency

A measure of how often data is accessed. Frequently accessed data is retrieved and used often, while infrequently accessed data is accessed less frequently.

Signup and view all the flashcards

S3 Cross-Region Replication

A feature of S3 that allows you to automatically replicate your data to another region, helping to minimize latency for users in different locations.

Signup and view all the flashcards

S3 Standard

A storage class in S3 that is designed for frequently accessed data, offering high availability and low latency.

Signup and view all the flashcards

S3 Glacier Instant Retrieval

A storage class in S3 that is designed for data that is rarely accessed but needs immediate access when needed.

Signup and view all the flashcards

S3 Express One Zone

A storage class in S3 that is designed for frequently accessed data and offers single-digit millisecond latency.

Signup and view all the flashcards

S3 Standard-Infrequent Access (S3 Standard-IA)

A storage class in S3 that is designed for less frequently accessed data and offers lower cost than S3 Standard.

Signup and view all the flashcards

S3 Glacier Deep Archive

A storage class in S3 that is designed for long-term archival data with retrieval in hours at the lowest cost in the cloud.

Signup and view all the flashcards

S3 One Zone-Infrequent Access (S3 One Zone-IA)

A storage class in S3 that is designed for less frequently accessed data and offers lower cost than S3 Standard, but with a single Availability Zone.

Signup and view all the flashcards

S3 Intelligent-Tiering

A storage class in S3 that is designed for data with unknown or changing access patterns, automatically adjusting storage class to optimize costs.

Signup and view all the flashcards

Scalability

The ability of a system to handle a growing workload by adding more resources, like servers or storage, to the system.

Signup and view all the flashcards

Regional Assurance

A feature of S3 that allows data to stay within a specific geographic region.

Signup and view all the flashcards

Latency

A measure of the time it takes to retrieve data from a storage system.

Signup and view all the flashcards

Availability

A way to measure the reliability of a system, indicating how often it is available for use.

Signup and view all the flashcards

Durability

A measure of how resilient a system is to data loss or failure. It refers to the probability of data being lost or corrupted.

Signup and view all the flashcards

Data Encryption

A security measure where data is encrypted before being stored in the cloud.

Signup and view all the flashcards

What is EBS?

A service offering high performance, durable, and persistent block storage for EC2 instances. It provides options like HDD and SSD storage, reaching up to 16TB and 250 MB/S.

Signup and view all the flashcards

What are EBS snapshots?

These are point-in-time copies of EBS volumes, enabling you to restore a volume to a previous state or create a new volume from a snapshot.

Signup and view all the flashcards

What is snapshot replication across regions?

This feature allows you to replicate EBS snapshots to a different AWS region, enhancing disaster recovery capabilities.

Signup and view all the flashcards

What is EFS?

A shared file storage service that scales automatically, providing access to multiple EC2 instances in a highly performant and scalable manner.

Signup and view all the flashcards

What is AWS RDS?

A managed database service that simplifies the administration of relational databases, automating tasks like server maintenance, backups, and patching.

Signup and view all the flashcards

What is an RDS database instance?

The base unit of RDS, representing an isolated database environment that can host multiple databases.

Signup and view all the flashcards

How does RDS achieve high availability with stand-by instances?

It uses a separate database instance in a different Availability Zone to replicate transactions synchronously, ensuring high availability and minimal data loss in case of failure.

Signup and view all the flashcards

What are Asynchronous Read Replicas in RDS?

An RDS feature that allows you to create read-only replicas of a database in the same or different regions, reducing the load on the primary database and enabling low latency reads.

Signup and view all the flashcards

What is Amazon Aurora?

A fully managed database service compatible with MySQL and PostgreSQL, offering high performance, scalability, and availability.

Signup and view all the flashcards

What is Amazon Redshift?

A fast and fully managed data warehouse service optimized for performing complex queries on massive datasets (petabytes of data).

Signup and view all the flashcards

What is columnar storage in Amazon Redshift?

This refers to the way Redshift stores data in columns rather than rows, enabling faster access and analysis of specific data points.

Signup and view all the flashcards

What is parallel query processing in Amazon Redshift?

This refers to the ability of Redshift to process queries simultaneously on multiple data segments, accelerating query execution time for massive datasets.

Signup and view all the flashcards

What is data loading from external sources in Amazon Redshift?

This feature allows users to load data into Redshift from external sources, for example, Amazon S3, providing flexibility and data integration capabilities.

Signup and view all the flashcards

What is sharding for database scalability?

A concept emphasizing the importance of distributing data across multiple servers to handle larger amounts of data and improve performance.

Signup and view all the flashcards

Study Notes

Cloud Computing: Principles and Technology (4IT482)

  • Key course topic: Cloud Computing
  • Course date: January 2025
  • Instructor: Dr. George Feuerlicht
  • Institution: Prague University of Economics

Introduction

  • IT trends
  • Historical perspective of IT
  • Technology and business drivers
  • Definition of Cloud Computing
  • Course objectives and topics

Learning Objectives

  • Understanding cloud computing motivations
  • Understanding business and technological drivers
  • Appreciating the evolution of cloud computing
  • Recognizing the benefits of cloud computing
  • 74% of executives expect AI to change business processes within 5 years.
  • Al-leveraging companies are expected to outperform peers by 25% in profitability by 2025.
  • Generative AI market will explode from $40 billion in 2022 to $1.3 trillion by 2032.
  • Generative AI could raise global GDP by 7% and save workers up to 70% of time, according to McKinsey.

Historical Perspective

  • 1960s: Centralized mainframe computing
  • 1970s-80s: In-house development
  • 1990s: ERP applications
  • 2000s: Outsourcing and ASP models
  • 2007: SOA/SaaS
  • 2010: Cloud computing

ASP (Application Service Provider) Model

  • Precursor to cloud computing (early 2000s)
  • Application services over a network
  • Unsuitable architecture
  • Poor scalability
  • Connectivity issues

Utility Computing

  • Information technology's strategic importance has diminished
  • Companies are shifting from owning IT assets to purchasing IT as a service.

Commoditization of IT

  • The internet has accelerated the commoditization of IT.
  • Companies purchase web-based services similar to purchasing electricity or telecommunications.

Google Data Centre Containers

  • Extension of data centers with self-contained units
  • Includes machines, air conditioning, and power supply

20th-Century Paradigm

  • Software vendors license software
  • Customers install, customize, and maintain software
  • Under-utilization of hardware resources
  • Costly, inefficient, and unsustainable

On-premises Costs

  • Capital expenses
  • Technical personnel costs
  • Administrative staff costs
  • Frequent project failures
  • Clients need to focus on core business, not IT

21st-Century Paradigm

  • Fast and reliable connectivity
  • Scalable computer infrastructure
  • Economies of scale in data centers
  • Services delivered by software vendors
  • On-premises deployment less relevant

Technology Drivers

  • Moore's Law: Increasing transistor counts on integrated circuits
  • Increased processing power
  • Increased storage capacity
  • Increased network bandwidth
  • Reduced cost and size
  • Advanced processor architectures
  • Network effect and economies of scale
  • Reduced cost of shared services as user numbers increase

Fast Connectivity

  • Ultra-fast networks like 5G and Wi-Fi 6E
  • Lower latency supports cloud-based applications
  • Supports near real-time applications

Network Effect - Economies of Scale

  • Product/service cost reduces as consumer numbers increase
  • Product/service value increases with user numbers

Business Drivers

  • Reduction of cost of entry (start-up costs)
  • Reduction of TCO (Total Cost of Ownership)
  • Minimizing hiring of technical staff
  • Avoiding utility costs
  • Scalability (horizontal and vertical)
  • Flexibility (adaptability)
  • Global reach (multiple regional deployment)

What is Cloud Computing?

  • Delivery of virtualized IT resources over the internet
  • Scalable and secure computing services on demand.
  • Pay-per-use basis
  • Infrastructure services (IaaS), Platform services (PaaS), and Software as a Service (SaaS)

Cloud Computing

  • Elastic IT services delivered on demand
  • Benefits include agility and ease of use.
  • Cost-predictability
  • Global deployment, and focus on core business

20th century paradigm characteristics

  • Software vendors license software, and customers install and maintain.
  • Under-utilization of hardware is a common problem.
  • IT skills are intensely demanded within organizations.

Cloud computing

  • IT service delivered on demand via the internet
  • Economies of scale
  • Flexibility in scaling services up or down

Distributed Computing Concepts and Techniques

  • Evolution of distributed computing
  • Client/server Architecture
  • Remote Procedure Calls (RPCs)
  • Message Queuing
  • Application Programming Interfaces (APIs)
  • Transactions and Consistency
  • Data Replication
  • Service Oriented Architecture (SOA)
  • Microservices Architecture

Enterprise Computing Objectives

  • Functionality as per user requirements
  • Maintainability (flexibility and reuse)
  • Reliability (consistency, fault tolerance, recovery)
  • Elasticity (up and down scalability)
  • Security (authentication, authorization, physical security)
  • Cost minimization (ROI)
  • Rapidly evolving technology

IT Architecture

  • Decisions about implementing application layers, such as what devices/platforms they should run on, how they communicate with each other and how to maximize performance while minimizing the cost.
  • These factors change as IT evolves.

Evolution of Distributed Computing

  • Centralized mainframe computing (1960s)
  • Client/server Computing (1980s)
  • Distributed Objects and Components (1990s)
  • Service Oriented Computing (2000s)
  • Cloud & Microservices Architecture (2010-present)

IBM 1800 Computer

  • 64KB memory
  • 1-5 MB disks
  • Punch cards
  • Magnetic tape
  • Fortron/Cobol

2-Tier Client/Server Architecture

  • PC Workstations
  • Database Server

3-Tier Client/Server Architecture

  • Client
  • Middleware
  • Database Server

Client/Server Communications

  • Synchronous vs. Asynchronous communication
  • Message vs. Procedure Calls (RPCs)

Remote Procedure Calls (RPCs)

  • Basic client/server communication mechanism.
  • Supported at programming, database, and operating system levels.

Message Queuing

  • Communication model for highly distributed applications.
  • Suitable for heterogeneous and autonomous applications.
  • Resilient to network and application failures.

Transactions

  • Centralized and distributed DBMS
  • TP monitor middleware
  • CORBA (Object Transaction Service/OTS)
  • EJB (Java Transaction Service/JTS)
  • Web services
  • NoSQL databases

Full Consistency Model

  • Synchronous tightly coupled transactions
  • Consistent state reached after every transaction
  • All operations (sub-transactions) complete in a context of a single atomic transaction
  • Resources required to complete the transaction
  • Failure recovery required

ACID Transactions

  • Atomicity (all operations or none)
  • Consistency (data consistent after completion)
  • Isolation (partial results not shown until transaction completes)
  • Durability (committed transactions cannot be undone)

Commit and Rollback

  • Rollback recovery takes place when a failure occurs during transaction execution.
  • This restores the database to its original state.
  • Roll-forward recovery involves re-applying committed transactions.
  • A database backup is required for this recovery.

Distributed Transactions

  • Coordinator (C) and other participants (P)
  • Two phases: establishing if they are ready to commit and then committing.
  • Participants record events in local logs, before sending messages.

2PC Suitability

  • Synchronous protocol resilient to failures.
  • Complexity and performance issues
  • Blocking
  • Scalability issues (all participants must be available)

Eventual Consistency Model

  • Asynchronous operation
  • Independent sub-transactions
  • Loose consistency in that eventually all data is consistent
  • Good for distributed systems with high latency and low reliability

Data Replication

  • Multiple copies of data objects
  • Replication transparency for managed redundancy
  • Replication can improve performance and availability
  • Used to synchronize data among multiple databases or storage systems

Synchronous Replication

  • Tight consistency model
  • All copies are always immediately up-to-date, updated in a single transaction
  • Suitable for reliable, fast networks
  • Needed for applications that cannot tolerate asynchrony

Asynchronous Replication

  • Loose consistency model
  • Updates are deferred, inconsistencies may occur
  • Suitable for unreliable, intermittently connected networks
  • Tolerates some degree of asynchrony

Master-Slave Replication

  • Table snapshots
  • Regularly updated in intervals
  • Full or incremental refresh
  • Can be performed during off-peak periods

Multi-Master Replication

  • All sites are equal
  • Updates targeted at any copy
  • Conflicts possible with latency intervals

Conflict Resolution

  • System detects conflicts.
  • Application defines the resolution algorithm.
  • Standard resolution algorithm: timestamp.
  • Commutative resolution of additive updates.

Application Programming Interfaces (APIs)

  • Gain independence of the underlying platforms.
  • Portability across different platforms.
  • Standardizing APIs avoids point-to-point integration solutions.
  • Extensive use in web and cloud applications

Service-Oriented Architecture (SOA)

  • Set of architectural concepts, principles, design patterns, and technologies.
  • For implementation of service-oriented applications.
  • Basic SOA abstraction = services
  • Services are autonomous and loosely coupled.
  • Standards for machine-to-machine communication (SOAP or REST)

SOA Motivations

  • Requirements to support inter-enterprise business processes.
  • Outsourcing individual business functions to external providers
  • Need for a more flexible and responsive intra-enterprise computing architecture
  • Supporting use of different languages, in conjunction with interfaces such as XML and JSON

Properties of Services

  • Functional Properties: WSDL, Service Methods, Protocols.
  • Non-Functional Properties (QoS): Security, Availability, Response time, Price, etc.

Web Services Standards

  • Service Discovery (UDDI)
  • Orchestration/Composition (WS-BPEL)
  • Service Description (WSDL)
  • Messaging (SOAP/HTTP/XML)
  • Security (WS-Security)
  • Transaction management (WS-Transactions)

SOAP

  • Standard protocol for communication between services.
  • Mechanism for error handling.
  • Extensibility mechanism.
  • Conventions for representing data structures in XML
  • Supports remote procedure calls (RPCS) & XML document interchange

REST (Representational State Transfer)

  • Architectural style and design of network-based software.
  • Stateless operation; each request contains all the necessary information.
  • Named resources using URLs.
  • Uniform API: all resources accessed through a generic interface (HTTP GET, POST, PUT, DELETE)
  • Uses web infrastructure like HTTP, but not SOAP

Microservices Architecture

  • Application development as loosely-coupled, independently deployable services, and well-defined protocols
  • Each independent service typically implements a single(cohesive)function.
  • Implemented using containers (often Docker)
  • Light-weight messaging protocols to facilitate communication between services
  • High scalability and fault tolerance using container replication

DevOps (Development and Operations)

  • Combines software development and software operation.
  • Automated monitoring of the SDLC process.
  • Smaller development teams, shorter cycles, high deployment frequency.
  • Closely linked with microservices and cloud computing

DevOps and Microservices Architecture

  • Microservices are typically implemented using Docker containers, and communicate via stable APIs
  • Cloud deployment and scalability improvements by containerization.
  • DevOps teams react quickly to user requests for enhancements and fixes.

Scalability and Fault Tolerance Considerations

  • Modern cloud applications require fault-tolerance and scalability.
  • Vertical scaling improves performance by adding resources (CPU, memory, storage, etc.) to an existing computing node.
  • Horizontal scaling improves performance by adding more nodes which share processing.
  • Fault-tolerance is achieved by running multiple identical microservices on multiple nodes.

Horizontal Scalability

  • Share-nothing architecture where each node contains all necessary resources (CPUs, RAM, storage etc).
  • Increase cluster nodes to improve scalability.
  • Shard data into partitions to increase storage capacity.
  • Synchronous data replication enables high availability by creating 3-4 copies of every data record.

Fault Tolerance

  • System capacity needs to exceed expected loads.
  • Unforeseen events such as node failure and power interruptions can lead to failure.
  • Redundancy is included in any critical component (e.g. backup systems).
  • Recovery mechanisms are included using stand-by systems or snapshots to recover from a failure.

Summary

  • Cloud computing architecture evolves to handle more powerful, fast, and less expensive hardware components.
  • Cloud computing leverages large numbers of independent commodity computing units (nodes).

What is Cloud Computing? (Lecture 3)

  • Cloud computing is an umbrella term with no precise definition.
  • Most recent definitions focus on multitenancy and scalable resource allocation

NIST Definition

  • Cloud computing is a pay-per-use model for enabling convenient, available, on-demand network access to a shared pool of configurable computing resources

Cloud Computing Pre-requisites

  • Reliable and low-cost communication
  • Virtualized resources that can scale
  • Fault tolerance

Virtualization

  • Infrastructure as software.
  • Improves efficiency and agility
  • Faster provisioning
  • Isolates applications
  • Independent of hardware

Virtual Machines

  • Pre-configured images of applications / OS
  • Abstraction of physical hardware
  • Administered by a hypervisor
  • Can be slow to deploy

Container-Based Virtualization

  • Application abstraction that packages application and dependencies
  • Multiple containers can share the OS kernel
  • Resource use minimized as containers use less space than VMs
  • Easier provisioning and recovery

Kubernetes Project

  • System for automating the deployment, scaling, and management of containerized applications
  • An open-source cluster manager initially created by Google for Docker containers.
  • Hosted by the Cloud Native Computing Foundation (CNCF).

Kubernetes Concepts

  • Environment for services, not machines
  • Abstraction of the complexity of the underlying cloud infrastructure
  • Auto-scaling and dynamic scaling features

Multitenant Architecture

  • Tenants operate in virtual isolation from one another.
  • Each tenant has its own virtual database for isolation.
  • Multitenant data models enable extending the database by adding columns to tables or new database objects.

Multi-instance vs Multitenant Architecture

  • Multi-instance = separate instance for each tenant, not suitable for scaling
  • Multitenant = same instance for all tenants

Polymorphic Application

  • Applications that adapt to different user interfaces, business logic, database schemas, and runtime behaviors in line with tenant needs.
  • Application components are configured at runtime, giving each tenant the option to use different versions of application modules.

Cloud Service Models

  • IaaS (Infrastructure as a Service): Management of computing resources.
  • PaaS (Platform as a Service): Development & delivery of applications.
  • SaaS (Software as a Service): Complete apps (emails, CRM, etc).
  • Different levels of control and responsibility

AWS (IaaS)

  • Amazon EC2 Compute Services - computing resources.
  • Amazon S3 storage - data storage
  • Amazon RDS database services - relational databases
  • Amazon NoSQL database services
  • Amazon VPC service - virtual networking

Microsoft Azure (IaaS)

  • Virtual Machines (Windows and Linux)
  • Networking (virtual networks, load balancers, VPN gateway) etc.

Google App Engine (PaaS)

  • Java development and deployment platform.
  • Supports Java Servlets and other standard Java frameworks.
  • Language-runtime support for many languages

Salesforce.com (SaaS)

  • Platform for CRM applications and infrastructure.
  • Meta-based customization for apps to adapt to different tenants
  • Meta-based customization to allow users to retain changes to their applications during software upgrades

Function as a Service (FaaS)

  • Serverless execution model that dynamically adjusts compute resources to specific code requests.
  • The cloud provider handles provisioning and maintenance of execution resources.
  • The user pays only for actual execution time.

Characteristics of Serverless Computing

  • Support for event-driven programming
  • Fully managed stateless services
  • Rapid transparent scalability
  • On-demand service
  • Built-in logging and monitoring
  • Represents the next step in virtualization

Cloud Deployment Models

  • Public cloud: Owned and managed by the provider
  • Private cloud: Owned or leased by a single organization
  • Hybrid cloud: Combination of public and private clouds

Government Cloud

  • AWS GovCloud (US) is an isolated AWS region.
  • Customers can host sensitive workloads in this region.

Benefits of Cloud Computing

  • Reduced cost
  • Predictability of costs (pay-as-you-go)
  • Elasticity (up and down scaling)
  • Possibility of short-term IT resource use
  • Risk transference (provider responsible for operations and upgrades)
  • Encourages innovative solutions

Cost Reduction

  • Improved hardware utilization (increased efficiency)
  • Savings made possible by data center locations that minimize staffing, electricity, and accommodation costs.

Cloud Computing Challenges

  • Customer lock-in
  • Data confidentiality and security
  • Data transfer bottlenecks
  • Performance unpredictability

Business Continuity and Service Availability

  • Multiple data centers in different locations and network providers
  • Increased scalability and elasticity
  • Round-robin HTTP request distribution

Provider Liability

  • No liability in case of unauthorized access or data loss

Data Confidentiality and Security

  • Auditability requirements (such as Sarbanes-Oxley)
  • Cloud providers must guard against data theft & denial-of-service attacks
  • Data must be protected in the cloud

Data Transfer Bottlenecks

  • Data transfers can be expensive
  • AWS offers physical shipping of storage devices as a cheaper option

Performance Unpredictability

  • Variability in disk write bandwidth
  • I/O interference between virtual machines
  • Unpredictability in running large batch jobs in large clusters

Identifying Opportunities for Cloud Deployment

  • Good solution for unpredictable demand on compute and storage resources (on-demand provisioning)
  • Suitable for startups.

Conclusions

  • Most enterprise applications are delivered via cloud services
  • Carefully evaluating cloud scenarios is important.
  • Standardization efforts for cloud-native solutions are in progress.
  • Cloud services may be affected by the industry trend towards specialized processor chips and use of Artificial Intelligence.

Amazon Web Services (AWS) Core Services

  • Provisioning IT resources (compute, network, database, etc.) on-demand using pay-as-you-go model.

AWS Compute Services

  • Types of Compute including EC2, AWS Lambda, container-based services such as ECS and EKS, and web applications (AWS Beanstalk).
  • Selection of service based on application design, availability requirements, use case, and usage pattern.

AWS Classic Load Balancer (CLB)

  • Layer 4 (Transport Layer) of the OSI model.
  • Single entry point for accessing several EC2 instances and distributes traffic across availability zones (AZs).
  • Provides high availability (HA), fault tolerance and increased scalability and elasticity

AWS Application Load Balancer (ALB)

  • Layer 7 (Application Layer) of the OSI model.
  • Enables native support for microservices and container-based architectures.
  • Directs traffic based on the content of URLs.

Auto Scaling

  • Auto Scaling ensures that the correct number of EC2 instances are available to meet the workload requirements.
  • Minimizes costs by adjusting the number of instances as needed.
  • On-demand provisioning
  • AWS CloudWatch monitoring facilitates dynamic adjustment to peak load

Cost Optimization Options

  • On-Demand Instances
  • Spot Instances
  • Reserved Instances
  • Dedicated Hosts

AWS Lambda

  • Serverless computing that dynamically allocates compute resources based on code requests.
  • No server management or provisioning needed.

AWS Lambda Use Cases

  • Image recognition.
  • Automated backups, IoT applications
  • Uploading to storage such as S3.
  • Processing real-time streaming data.

Amazon Elastic Container Service for Kubernetes (EKS)

  • Runs Kubernetes on AWS infrastructure, across multiple availability zones.
  • Automatic replacement of unhealthy instances.
  • Automated version upgrades
  • Supports automatic scaling for performance metrics.

Horizontal Pod Autoscaler

  • Uses metric server to collect resource utilization metrics.
  • Creates Pod replicas on demand based on these metrics.

Machine Learning (ML) Services

  • Speech Recognition (Polly)
  • Image Recognition (Rekognition)
  • SageMaker (building models)
  • Amazon Code Whisperer (coding recommendations)
  • Fraud Detector (detection of fraud)

Automating IT Operations (AWS CloudFormation)

  • Creates resources such as EC2 instances, Amazon RDS databases, and Elastic Load Balancers.
  • Manages resource provisioning and recovery from failures in an automated and predictable manner

AWS Billing and Free Tier

  • Track costs and usage.
  • Analyze cost drivers and usage trends.
  • AWS Free Tier provides free usage of services for a set period of time.

Summary

  • Summarizes and synthesizes the main ideas.

NoSQL Databases (Lecture 6)

  • Database trends, motivations for NoSQL, types of NoSQL data stores, examples of NoSQL databases, including DynamoDB, MongoDB, and Neo4j
  • Considerations of database schema, data consistency issues and potential solutions

Big Data

  • Amount of data generated from various technologies, including IoT, is growing exponentially.
  • Structured Data forms a small percentage of total data generated.
  • Large-scale computing applications using NoSQL are necessary to manage the increase of unstructured data.

What Problems Are NoSQL Databases Addressing?

  • Modern database challenges, very large data sizes, and very large user populations.
  • Data complexity issues; need for reliability in a distributed architecture.

NoSQL Databases

  • Key-value stores (e.g., DynamoDB).
  • Column-oriented databases (e.g., Vertica)
  • Document databases (e.g., MongoDB, CouchDB).
  • Graph databases (e.g., Neo4j).
  • Other examples include Google BigTable.

Share-nothing cluster architecture

  • Horizontal scaling involving thousands of machines.
  • Data duplication to increase availability.

CAP Theorem

  • Consistency, Availability, Partition Tolerance.
  • There is a tradeoff between these three properties in any distributed system.

Eventual Consistency

  • Acceptable consistency for some application scenarios.
  • Focus is on availability over consistency in the presence of network partitions, but consistency will be enforced eventually.

DynamoDB Features

  • No practical limit on the number of items
  • Low-latency queries (less than a millisecond)
  • Scalable read/write operations
  • Automatically provisions throughput
  • Data indexing and partitioning by primary keys
  • Query by primary keys or scan requests

DynamoDB Tunable Consistency

  • Offers the options for selecting consistency levels of writes ranging from strong consistency to eventual consistency.
  • W: Number of copies written synchronously.
  • N: Total number of replicas.
  • R: Number of replicas that must be read to achieve consistency.

DynamoDB Case Studies

  • Companies like Zoom, Netflix, Disney, and Dropbox utilize DynamoDB for their operational needs.

MongoDB

  • JSON-based document database that supports master-slave replication to handle high-volume read requests
  • Data automatically distributed on physical nodes (shards)
  • A router acts as an intermediary for requests to the relevant shard

MongoDB Logical Structures

  • Database, Collections, Documents, Fields, Embedded Documents, References

MongoDB Horizontal Scaling using shards

  • Distribution of data across numerous physical nodes.
  • Sharding key is used for data partitioning.

Replica Sets

  • Provides master-slave replication of data via synchronous updates to the master.

Replication

  • Master-slave replication for propagating updates to replicas
  • Replication can span different regions.

MongoDB Tunable Consistency

  • Different write and read concerns can be defined and customized.

Transactions

  • Operations, typically across multiple documents in a single collection.

Indexing

  • MongoDB uses indices to increase query performance.

MongoDB Demo

  • Practical demonstrations using querying and retrieval of data from a sample dataset

Aggregation Framework

  • Tools to efficiently aggregate and group data in MongoDB.

Neo4j

  • Open source graph database.
  • High scalability
  • Master-slave replication support.
  • ACID transactions.

Property Graph Model

  • Represent distinct objects as nodes.
  • Relationships between objects represented as edges.
  • Properties for both nodes and relationships to describe related data.

Example Graph

  • Example of nodes, relations, and properties to represent an example of data relationship

Neo4j Demo

  • Examples of queries for finding, updating, and manipulating specific properties in a graph of related data

Summary

  • Summary of NoSQL databases based on what was covered

Machine Learning (ML) - Lecture 7

  • Introduces Machine Learning concepts, models (predictive models and generative models), AWS services, and hands-on practices (exercises)

Amazon ML Services

  • Overview of Amazon ML services (e.g., Rekognition, Transcribe, Translate)
  • Focus on services and examples (e.g. Amazon Rekognition)

Amazon Rekognition

  • Object, Scene, Activity, Facial, and Celebrity recognition and analysis.
  • Video analysis - movement, activities.
  • Text in images analysis

Amazon Transcribe

  • Transcribes speech to text.
  • Enables intelligent punctuation and grammatical formatting.
  • Provides timestamps and confidence levels for extracted words.
  • Offers custom vocabulary option for improved accuracy (e.g., with brand names, etc)

Amazon Comprehend

  • Discovers insights and relationships in text.
  • Locates named entities and keyphrases in a document.
  • Identifies the language of the text and detects positive/negative sentiment in it

Amazon Polly, Translate, Lex

  • Amazon Polly - Text to speech transformation
  • Amazon Translate - Real-time or batch mode translation, 127 supported language pairs
  • Amazon Lex - Builds voice interfaces (and provides access to Lambda functions for complex use cases)

Amazon Q/Whisperer

  • Suggests code improvements based on existing code and comments.
  • Highlights security issues in code.
  • Integrates with multiple programming languages and IDEs.

Summary

  • Overview of ML learning, including practical application, emphasis on standardization of systems, and leveraging industrialization methods

Cloud Computing Adoption (Lecture 8)

  • Cloud Computing adoption Framework and AWS Adoption Framework Perspectives, stages of cloud adoption, including the challenges
  • Specific AWS features and considerations of cloud implementation.

Cloud Adoption Framework (SaaS)

  • Detailed cost-benefit analysis needed to maximize benefits and minimize risks of cloud computing.
  • Considerations that include: utilization patterns, data sensitivity, service provider suitability, integration issues

Cloud Adoption Framework

  • Evaluate business impact, including risk and organizational readiness.
  • Evaluate applications and selection of appropriate providers.
  • Plan cloud migration and governance structures.

Strategic Phase

  • Risk management and cloud provider risk mitigation
  • Security and data privacy considerations
  • Business continuity plans; including disaster recovery
  • Business integration, customization requirements and regulatory compliance

Tactical Phase

  • Evaluation of suitable applications for cloud implementation
  • Provider selection

Selecting Applications for Cloud

  • Utiization patterns and demand variability/
  • Data sensitivity and privacy considerations
  • Integration requirements for APIs
  • Customization needs
  • Availability requirements
  • Response-time requirements
  • Elasticity requirements

Selecting Cloud Service Providers

  • Provider stability
  • Pricing model and costs
  • Provider dependence considerations
  • Standard API support
  • Data lock-in considerations
  • Levels of trust

Implementation Phase

  • Pilot implementation to verify all the functional and non-functional requirements.
  • Defining tasks and milestones to support application migration.
  • IT operations adaptations to support and manage applications.
  • Governance structures for defining roles/responsibilities

AWS Cloud Adoption Framework Perspectives

  • Business Capabilities
  • Governance: priorities, control, and risk
  • Technical capabilities
  • Platform: applications, infrastructure
  • Security
  • Operations

Business Perspective: Value Realization

  • IT finance
  • IT alignment with business strategies
  • Benefits realization (TCO)
  • Risk management (strategic, external)

People Perspective: Roles and Readiness

  • Human Resources, Staff, and people managers
  • Evaluating organizational structures.
  • Identifying new skills and defining requirements.
  • Prioritize training needs.

Governance Perspective: Prioritization and Control

  • Program and Project Management
  • Business Performance Measurements
  • License Management

Platform Perspective: Applications and Infrastructure

  • Network Provisioning, Storage Provisioning, Database Provisioning, Application Development

Security Perspective: Risk and Compliance

  • Structure security controls and practices to address organizational objectives with regards to visibility, auditability, control, and agility
  • Includes detective mechanisms for event monitoring, infrastructure security controls, and data protection considerations for usage

Operations Perspective: Manage and Scale

  • Service Monitoring and issue and problem resolution.
  • Resource Inventory Management.
  • Release and Change Management
  • Reporting and Analytics – compliance with KPIs (Key Performance Indicators).

Cloud Economics (AWS)

  • Cost Components (compute, storage, data transfer)
  • Data transfer costs within regions (free)
  • Volume discounts
  • Free-tier services

Total Cost of Ownership

  • Cloud vs. on-premises.
  • Includes capital and operational costs.

Return on Investment (ROI)

  • Profit (minus total cost of ownership) divided by total cost of ownership.

Summary (Lecture 9)

  • Cloud Computing Redefines aspects of enterprise computing

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

More Like This

IT Infrastructure and Evolution
34 questions
Cloud Computing and the IT Industry
5 questions

Cloud Computing and the IT Industry

ManeuverableTransformation avatar
ManeuverableTransformation
Use Quizgecko on...
Browser
Browser