Podcast
Questions and Answers
What is the main characteristic of a share-nothing architecture?
What is the main characteristic of a share-nothing architecture?
How is scalability achieved in horizontal scalability?
How is scalability achieved in horizontal scalability?
What does sharding refer to in the context of horizontal scalability?
What does sharding refer to in the context of horizontal scalability?
Which of the following best describes asynchronous data replication?
Which of the following best describes asynchronous data replication?
Signup and view all the answers
What is a common issue with systems using asynchronous data replication?
What is a common issue with systems using asynchronous data replication?
Signup and view all the answers
What does redundancy in a fault-tolerant system imply?
What does redundancy in a fault-tolerant system imply?
Signup and view all the answers
Which of the following best explains the concept of recoverability in a system?
Which of the following best explains the concept of recoverability in a system?
Signup and view all the answers
What is a key feature of cloud computing as described?
What is a key feature of cloud computing as described?
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%?
What is the expected average annual loss of objects when using Amazon S3, given a durability of 99.999999999%?
Signup and view all the answers
Which S3 storage class is most appropriate for frequently accessed data?
Which S3 storage class is most appropriate for frequently accessed data?
Signup and view all the answers
What is the SLA availability for S3 Standard-Infrequent Access (S3 Standard-IA)?
What is the SLA availability for S3 Standard-Infrequent Access (S3 Standard-IA)?
Signup and view all the answers
How does Amazon S3 scale with growing data volumes?
How does Amazon S3 scale with growing data volumes?
Signup and view all the answers
Which of the following is a characteristic of the S3 Glacier Instant Retrieval storage class?
Which of the following is a characteristic of the S3 Glacier Instant Retrieval storage class?
Signup and view all the answers
What is a key feature of the S3 Intelligent-Tiering storage class?
What is a key feature of the S3 Intelligent-Tiering storage class?
Signup and view all the answers
What does the 'mS latency' attribute indicate for S3 storage classes?
What does the 'mS latency' attribute indicate for S3 storage classes?
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?
Which storage class is most appropriate for long-term archive data that is rarely accessed and does not require immediate access?
Signup and view all the answers
What is a distinguishing feature of the S3 Express One Zone storage class?
What is a distinguishing feature of the S3 Express One Zone storage class?
Signup and view all the answers
Why is cross-region replication utilized in Amazon S3?
Why is cross-region replication utilized in Amazon S3?
Signup and view all the answers
What is the primary purpose of AWS Regions?
What is the primary purpose of AWS Regions?
Signup and view all the answers
Which statement accurately describes Availability Zones (AZs)?
Which statement accurately describes Availability Zones (AZs)?
Signup and view all the answers
How does Amazon CloudFront improve web content delivery?
How does Amazon CloudFront improve web content delivery?
Signup and view all the answers
Which security feature restricts who can access AWS services?
Which security feature restricts who can access AWS services?
Signup and view all the answers
What is an important benefit of replicating data across Availability Zones?
What is an important benefit of replicating data across Availability Zones?
Signup and view all the answers
What role does AWS CloudTrail serve in AWS security?
What role does AWS CloudTrail serve in AWS security?
Signup and view all the answers
What is the main function of Amazon Virtual Private Cloud (VPC)?
What is the main function of Amazon Virtual Private Cloud (VPC)?
Signup and view all the answers
What is a characteristic of edge locations used by Amazon CloudFront?
What is a characteristic of edge locations used by Amazon CloudFront?
Signup and view all the answers
What is a unique feature of Availability Zones in terms of connectivity?
What is a unique feature of Availability Zones in terms of connectivity?
Signup and view all the answers
Which security mechanism provides multi-factor authentication in AWS?
Which security mechanism provides multi-factor authentication in AWS?
Signup and view all the answers
Which of the following is a characteristic of Cloud Computing?
Which of the following is a characteristic of Cloud Computing?
Signup and view all the answers
What is a key prerequisite for effective Cloud Computing?
What is a key prerequisite for effective Cloud Computing?
Signup and view all the answers
What does PaaS stand for in Cloud service models?
What does PaaS stand for in Cloud service models?
Signup and view all the answers
Which of the following is NOT a benefit of Cloud Computing?
Which of the following is NOT a benefit of Cloud Computing?
Signup and view all the answers
Which term best describes the use of shared resources in Cloud Computing?
Which term best describes the use of shared resources in Cloud Computing?
Signup and view all the answers
What is meant by the term 'elasticity' in Cloud Computing?
What is meant by the term 'elasticity' in Cloud Computing?
Signup and view all the answers
Which cloud service model typically includes multitenant architecture?
Which cloud service model typically includes multitenant architecture?
Signup and view all the answers
What does the acronym IaaS represent in the context of Cloud Computing?
What does the acronym IaaS represent in the context of Cloud Computing?
Signup and view all the answers
What is the maximum size of EBS volumes that can be attached to EC2 instances?
What is the maximum size of EBS volumes that can be attached to EC2 instances?
Signup and view all the answers
What feature allows EBS volumes to recover data in case of failure?
What feature allows EBS volumes to recover data in case of failure?
Signup and view all the answers
Which of the following is NOT a use case for AWS RDS?
Which of the following is NOT a use case for AWS RDS?
Signup and view all the answers
In a Multiple AZ deployment, what happens if the master instance fails?
In a Multiple AZ deployment, what happens if the master instance fails?
Signup and view all the answers
AWS RDS provides which of the following automated features?
AWS RDS provides which of the following automated features?
Signup and view all the answers
What is the primary storage type used in Amazon Aurora?
What is the primary storage type used in Amazon Aurora?
Signup and view all the answers
Asynchronous read replicas primarily serve what purpose?
Asynchronous read replicas primarily serve what purpose?
Signup and view all the answers
What is a notable characteristic of Amazon Redshift?
What is a notable characteristic of Amazon Redshift?
Signup and view all the answers
Which type of scaling does Amazon Aurora support?
Which type of scaling does Amazon Aurora support?
Signup and view all the answers
What level of availability do EBS volumes provide?
What level of availability do EBS volumes provide?
Signup and view all the answers
Which service allows for shared file storage across multiple EC2 instances?
Which service allows for shared file storage across multiple EC2 instances?
Signup and view all the answers
What type of database can Amazon Aurora be compatible with?
What type of database can Amazon Aurora be compatible with?
Signup and view all the answers
Which statement about EBS encryption is correct?
Which statement about EBS encryption is correct?
Signup and view all the answers
The concept of 'high availability' in RDS ensures what?
The concept of 'high availability' in RDS ensures what?
Signup and view all the answers
Which of the following is NOT a form of Salesforce security certification?
Which of the following is NOT a form of Salesforce security certification?
Signup and view all the answers
What is a potential cost implication when transferring data to AWS?
What is a potential cost implication when transferring data to AWS?
Signup and view all the answers
In which scenario is cloud deployment particularly advantageous?
In which scenario is cloud deployment particularly advantageous?
Signup and view all the answers
What is one of the common issues associated with performance in cloud computing?
What is one of the common issues associated with performance in cloud computing?
Signup and view all the answers
Which AWS service provides a solution for managing security and identity?
Which AWS service provides a solution for managing security and identity?
Signup and view all the answers
Which of the following best describes a significant benefit of cloud computing?
Which of the following best describes a significant benefit of cloud computing?
Signup and view all the answers
How can AWS services be interacted with?
How can AWS services be interacted with?
Signup and view all the answers
What type of applications does the cloud particularly benefit?
What type of applications does the cloud particularly benefit?
Signup and view all the answers
Which type of service does AWS EC2 represent?
Which type of service does AWS EC2 represent?
Signup and view all the answers
What does the AWS import/export courier service facilitate?
What does the AWS import/export courier service facilitate?
Signup and view all the answers
What aspect of cloud services is expected to evolve according to future trends?
What aspect of cloud services is expected to evolve according to future trends?
Signup and view all the answers
Which of the following security measures is included in Salesforce's facility security?
Which of the following security measures is included in Salesforce's facility security?
Signup and view all the answers
Which certification indicates that Salesforce's security practices are trusted by independent auditors?
Which certification indicates that Salesforce's security practices are trusted by independent auditors?
Signup and view all the answers
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
IT trends and predictions
- 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.
Related Documents
Description
Explore the fundamental concepts of cloud computing and its impact on technology and business. Gain insights into the historical evolution and current trends driving cloud solutions in today’s market. This quiz will test your understanding of key motivations and benefits associated with cloud computing.