0% found this document useful (0 votes)
4 views

Cc notes (2)

Uploaded by

bbillion996
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Cc notes (2)

Uploaded by

bbillion996
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 11

Cc

Cloud computing at a glance:


1. Historical Context and Vision:

 Leonard Kleinrock's Prediction (1969): Leonard Kleinrock, a key figure in the


development of the ARPANET (the precursor to the Internet), predicted that
computer networks would eventually lead to the development of "computer
utilities." These utilities would operate similarly to traditional utilities like electricity
or water, providing services to homes and businesses on demand.

2. The Emergence of Cloud Computing:

 Transformation of Computing: Kleinrock's vision anticipated the shift towards a


service-based computing model, which became more evident in the 21st century.
This model allows users to access computing services as needed, paying only for
what they use, without the need for heavy investments in IT infrastructure.

 Utility Computing to Cloud Computing: Originally referred to as "utility computing,"


this model evolved into what we now call "cloud computing." The term "cloud"
symbolizes the abstract nature of the infrastructure, where services and applications
are accessed globally and on demand, regardless of their physical location.

3. Characteristics of Cloud Computing:

 On-Demand Access: Cloud computing allows users to access infrastructure,


platforms, and services as needed, similar to how we access utilities like electricity.

 Pay-Per-Use Model: Users are charged only for the services they consume, making it
a cost-effective solution for both businesses and individuals.

 Virtualization and Resource Utilization: The backbone of cloud computing involves


advanced data centers using virtualization technologies, which enable efficient
resource utilization and dynamic provisioning of services.

4. Different Perspectives on Cloud Computing:

 Business Benefits: For enterprises, cloud computing offers the ability to scale
infrastructure according to business needs, making it possible to respond to demand
fluctuations efficiently.

 End-User Convenience: For individual users, cloud computing means having access
to data and applications anytime, anywhere, and from any device with an internet
connection.

 General View: A widely accepted view is that cloud computing abstracts the
complexities of IT infrastructure, allowing users to focus on their tasks without
worrying about the underlying systems.

5. Technological Foundations:

 Web 2.0 and Service Orientation: Cloud computing is heavily influenced by Web 2.0
technologies, which have transformed the internet into a robust platform for
delivering applications and services. Service orientation, a key aspect of cloud
computing, enables it to deliver capabilities in familiar ways.

 Virtualization: Virtualization technology is crucial for providing the customization,


control, and flexibility needed in cloud environments.

6. Flexibility and Integration:

 Building and Expanding Systems: Cloud computing is not only flexible for creating
new systems but also for enhancing existing ones by adding capacity or new features
without the need for additional infrastructure investments.

 Dynamic Provisioning: The ability to provision IT resources dynamically makes cloud


computing particularly attractive, especially when the demand for these resources is
temporary or fluctuates.

7. Standardization and Consolidation:

 Long-Term Vision: As cloud computing continues to be widely adopted, the


underlying technologies and systems are becoming more standardized and
consolidated. This standardization is crucial for realizing the vision of cloud
computing as an open environment where services like computing and storage are
traded as utilities.

The passage illustrates how cloud computing has evolved from a theoretical concept into a
practical and essential component of modern IT, with applications ranging from individual
user convenience to enterprise-level infrastructure management.

Characteristics of Cloud Computing:

1. No Up-Front Commitments:

o Users don’t need to make large initial investments in IT infrastructure or


software. They can access what they need on a pay-per-use basis, turning
capital expenses into operational expenses.

2. On-Demand Access:

o Cloud services are available whenever needed, allowing organizations to


scale their resources up or down based on demand without long-term
commitments.

3. Nice Pricing:

o Cloud services often come at competitive prices due to economies of scale,


making them affordable for both large enterprises and small businesses.

4. Simplified Application Acceleration and Scalability:

o Cloud platforms simplify the process of scaling applications, enabling quick


adjustments to meet varying levels of demand.

5. Efficient Resource Allocation:


o Cloud computing optimizes resource usage by dynamically allocating
resources where they are most needed, reducing waste and improving
efficiency.

6. Energy Efficiency:

o Centralized data centers allow for optimized energy use, which can reduce
the environmental impact of IT operations.

7. Seamless Creation and Use of Third-Party Services:

o Cloud environments support the easy integration and use of third-party


services, enabling businesses to build more complex and functional systems
without heavy investments.

Benefits of Cloud Computing:

1. Cost Efficiency:

o Reduced Maintenance and Operational Costs: Organizations save on


maintenance and operational costs because they don’t own the
infrastructure or software; instead, they rent it, transferring the maintenance
responsibility to the CSPs.

o Avoidance of Capital Costs: By renting IT services rather than buying them,


organizations avoid significant upfront capital costs, which are typically
associated with depreciation over time.

2. Increased Agility and Flexibility:

o Dynamic Software Composition: Organizations can quickly and flexibly


structure their software systems since they aren’t constrained by the need to
purchase IT assets.

o Ease of Capacity Planning: With cloud computing, organizations can rapidly


respond to unexpected spikes in demand by adding more resources
temporarily, without long-term commitments.

3. Scalability:

o Across the Computing Stack: Cloud computing allows for easy scalability at
all levels—Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS),
and Software-as-a-Service (SaaS). This means that hardware, runtime
environments, and applications can all be scaled up or down as needed.

4. Benefits to End Users:

o Accessibility and Availability: Users can access their data and applications
from anywhere, at any time, using any device connected to the internet. This
is facilitated by web-based interfaces that make cloud services accessible
across various devices.

o Cost Savings: Users benefit from cloud-based services without needing to


invest heavily in software, as the cost is distributed among all users
(multitenancy).
5. Resource Optimization and Environmental Impact:

o Optimized Resource Allocation: Cloud service providers can better utilize


shared infrastructure, keeping it operational and fully active, which leads to
improved efficiency.

o Energy Efficiency: Concentrating IT infrastructure in large data centers leads


to better energy management, which is more environmentally friendly.

6. Service Orientation and New Opportunities:

o Service Composition: Cloud computing’s service-oriented architecture


enables the creation of new offerings by combining existing services,
allowing businesses to focus on adding value.

o Lower Barriers to Innovation: The ability to provision any component of the


computing stack on demand makes it easier to turn ideas into products with
minimal costs, as businesses can concentrate their technical efforts on
innovation rather than infrastructure.

the challenges of cloud computing:


1. Data Security and Privacy

 Challenge: Storing data in the cloud means you're putting it on someone else's
servers, which can make it vulnerable to hacking or unauthorized access.

 Details: Protecting sensitive information is tricky, especially because different


countries have different rules about privacy. Even though data is often encrypted, it
has to be decrypted to be used, which is when it can be most vulnerable.

2. Cost Management

 Challenge: While cloud services can be cheaper upfront, the costs can add up quickly
if you're not careful.

 Details: It’s easy to accidentally leave resources running and get a surprise bill.
Managing and optimizing costs requires careful monitoring and understanding of
how cloud pricing works.

3. Multi-Cloud Environments

 Challenge: Using services from multiple cloud providers can be complicated to


manage and integrate.

 Details: Each cloud provider has its own tools and systems, which can make it hard to
keep everything working smoothly together. Moving data between different
providers can also be difficult and expensive.

4. Performance Challenges

 Challenge: Ensuring that cloud-based applications run quickly and smoothly can be
tough.
 Details: The speed of your internet connection and how close you are to the cloud’s
data centers can affect how well things work. Also, sharing cloud resources with
others can sometimes slow things down.

5. Interoperability and Flexibility

 Challenge: Different cloud providers use different technologies, making it hard to


switch between them or combine their services.

 Details: This lack of standardization can make it difficult to move your data or
applications from one provider to another, or to use multiple providers together.

6. High Dependence on Network

 Challenge: Cloud services depend on a good internet connection, so if your network


goes down, you lose access to your cloud services.

 Details: Any internet issues, like slow speeds or outages, can disrupt your ability to
use the cloud, which can be a big problem for your business.

7. Lack of Knowledge and Expertise

 Challenge: Setting up and managing cloud services requires special knowledge that
not everyone has.

 Details: The cloud is constantly changing, and if your team isn’t up to date on the
latest developments, they might struggle to make the most of it. This can lead to
security issues, higher costs, and problems keeping things running smoothly.

A distributed system is a collection of independent computers that work together to


appear as a single coherent system to the users. These computers are connected through a
network, and they collaborate to achieve a common goal, such as running an application or
processing data.

Key Characteristics of Distributed Systems

1. Multiple Independent Components:

o A distributed system consists of multiple computers or nodes, each of


which operates independently. These nodes may be located in different
geographical locations, but they work together as part of a single system.

2. Single Coherent System:

o Even though a distributed system is made up of many different computers,


to the user, it appears as a single system. The complexity of how the
system is organized or how the tasks are distributed across the different
nodes is hidden from the user.

3. Resource Sharing:

o One of the primary purposes of a distributed system is to share resources,


such as processing power, data storage, and network bandwidth. By
pooling resources from multiple computers, a distributed system can
perform tasks more efficiently than a single computer could.

4. Scalability:

o Distributed systems can easily scale by adding more nodes to handle


increased demand. This scalability is crucial for handling large-scale
applications or services that need to grow over time.

5. Fault Tolerance:

o Because distributed systems are made up of multiple independent nodes,


they can continue functioning even if some nodes fail. This ability to
tolerate failures without affecting the overall system's performance is a
significant advantage.

6. Concurrency:

o Distributed systems can handle many tasks at the same time


(concurrently). Different nodes can work on different parts of a task
simultaneously, which can speed up processing and improve efficiency.

7. Transparency:

o A distributed system hides the complexities of the underlying


infrastructure from the user. This includes hiding the fact that multiple
computers are involved, managing failures, and ensuring that the system
appears as a single entity.

Examples of Distributed Systems

1. Cloud Computing:

o Cloud services like Google Drive or Amazon Web Services (AWS) are
distributed systems. They use many computers in different data centers
around the world to store data, process requests, and run applications. To
the user, it appears as if they are interacting with a single, seamless
system.

2. Peer-to-Peer Networks:

o Systems like BitTorrent are peer-to-peer distributed systems. In these


systems, each participant (peer) shares part of their resources (like
bandwidth or storage) with others. There is no central server; instead, the
system relies on the collective contribution of all peers.

3. Distributed Databases:

o A distributed database spreads its data across multiple servers, which


might be in different locations. This setup allows for better performance,
fault tolerance, and availability compared to a single, centralized database.

Challenges of Distributed Systems

1. Complexity:
o Designing and managing a distributed system is more complex than
managing a single computer or server. Issues like synchronization, data
consistency, and communication between nodes can be challenging.

2. Security:

o Ensuring security in a distributed system is harder because the data and


processes are spread across multiple nodes, which might be in different
locations with different security standards.

3. Latency:

o Communication between nodes in a distributed system can introduce


delays (latency), especially if the nodes are far apart geographically.

Conclusion

Distributed systems are powerful and flexible, allowing for resource sharing, scalability,
and fault tolerance. They are fundamental to modern computing, powering everything
from cloud services to large-scale data processing systems. However, they also come with
challenges that require careful design and management.

. Mainframes

 What They Are: Mainframes are large, powerful computers used by big
organizations to process vast amounts of data. They can handle many tasks at
once, like processing transactions for banks or booking airline tickets.

 Contribution to Cloud: Mainframes were known for their reliability and ability to
keep running even if parts failed. This "always-on" nature and ability to process
large workloads are characteristics that cloud systems inherited. Though
mainframes weren't distributed systems, they were among the first to present
multiple processors as a single unit to users, which is similar to how cloud systems
function today.

2. Clusters

 What They Are: Cluster computing involves connecting many cheap, everyday
computers to work together as a single, powerful system. This approach became
popular in the 1980s as a more affordable alternative to expensive mainframes.

 Contribution to Cloud: Clusters showed that you could use many smaller,
inexpensive machines to achieve high performance, which made advanced
computing more accessible. Cloud computing adopted this idea, using large
numbers of commodity (standard) machines in data centers to provide powerful
computing resources to users.

3. Grids

 What They Are: Grid computing emerged in the 1990s and took cluster computing
a step further by connecting clusters across different locations via the Internet. This
allowed organizations to share computing power and resources like a utility
(similar to how we use electricity or water).
 Contribution to Cloud: Grids introduced the concept of using computing resources
on-demand, just like a utility. Cloud computing expanded on this idea, providing
scalable and flexible services where users pay only for what they use. Grids were
the first to use geographically dispersed resources, a concept that the cloud has
taken to a global scale.

Virtualization Explained

Virtualization is a core technology behind cloud computing, allowing the creation of virtual
versions of physical computing resources like hardware, operating systems, storage devices,
and networks. This technology is crucial because it enables more efficient use of IT resources
by separating the physical infrastructure from the applications and services that run on it.

Key Concepts in Virtualization

1. Abstraction of Resources:

o Virtualization abstracts the underlying hardware or software resources and


presents them as virtual components to the users. This means users interact
with virtual versions of the resources rather than the physical ones directly.

2. Virtual Environments:

o Virtualization creates virtual environments that simulate the interfaces


expected by operating systems or applications. These environments are
called "virtual" because they replicate the functionality of physical systems
without being tied to specific hardware.

3. Hardware Virtualization:

o The most common type of virtualization, hardware virtualization, allows


multiple operating systems to run on a single physical machine. This is
achieved by creating "virtual machines" (VMs), each of which runs a
separate operating system and applications, all isolated from each other.
High-performance servers can host multiple VMs, making it possible to run
different software setups on the same physical hardware.

4. Virtual Machines (VMs):

o A virtual machine is a software-based emulation of a physical computer. Each


VM operates independently, with its own operating system and applications,
even though they share the same physical hardware. This isolation ensures
that what happens in one VM does not affect others, which is critical for
security and stability.

5. Storage and Network Virtualization:

o Beyond just virtualizing hardware, cloud systems also use storage


virtualization (which abstracts and pools storage resources) and network
virtualization (which allows the creation of virtual networks that function
independently of the physical network hardware). These forms of
virtualization enhance flexibility and scalability in cloud environments.

6. Process Virtual Machines:


o In addition to hardware virtualization, there are process virtual machines,
which virtualize runtime environments for specific applications. Technologies
like Java Virtual Machine (JVM) or .NET's Common Language Runtime (CLR)
are examples where applications run inside a virtualized environment rather
than directly on the operating system. This allows better control over the
application's behavior and resource usage.

Benefits of Virtualization

1. Customization and Control:

o Virtualization allows users to create highly customized environments tailored


to specific needs. For example, developers can create virtual servers with
specific configurations, which can be deployed on demand.

2. Efficient Use of Resources:

o By running multiple virtual machines on a single physical server,


virtualization maximizes the use of computing resources, reducing the need
for physical hardware and the associated costs.

3. Isolation:

o Virtual machines operate in isolation from one another, meaning that issues
in one VM (like crashes or security breaches) do not affect others. This
isolation is essential for maintaining system stability and security in cloud
environments.

4. Scalability:

o Virtualization makes it easier to scale resources up or down. For instance, if


an application needs more computing power, additional virtual machines can
be quickly created and deployed.

5. Support for Cloud Services:

o Virtualization is the technology that underpins many cloud services, such as


Amazon EC2 and Google AppEngine. These services allow users to rent
virtual machines, storage, or even entire virtual networks on demand.

Conclusion

Virtualization is a foundational technology for cloud computing, enabling the efficient,


scalable, and flexible use of IT resources. By abstracting and simulating hardware and
software environments, virtualization allows cloud providers to offer a wide range of services
on demand, while ensuring isolation, security, and customization for users.

Web 2.0 Explained


Web 2.0 refers to the evolution of the World Wide Web from static web pages to dynamic,
interactive web applications. This shift has transformed the Web into a platform where users
can interact, collaborate, and contribute content in ways that were not possible with the
earlier, static Web (often referred to as Web 1.0).
Key Features of Web 2.0

1. Interactivity and Rich User Experience:

o Web 2.0 technologies make web applications more interactive and user-
friendly, offering experiences similar to desktop applications. This is achieved
through technologies that allow web pages to respond dynamically to user
inputs without requiring page reloads.

2. Technologies Behind Web 2.0:

o XML (Extensible Markup Language): A standard for defining data formats


and structures, which helps in data exchange between web applications.

o AJAX (Asynchronous JavaScript and XML): A technology that allows web


pages to update content asynchronously (in the background) without
refreshing the entire page, making web applications faster and more
responsive.

o Web Services: These are standardized ways of integrating web applications


by allowing them to communicate and share data over the Internet.

3. User-Generated Content:

o Web 2.0 emphasizes user participation, allowing users to contribute content


and interact with applications. This has led to a rise in platforms where users
create and share their own content, such as blogs, social media posts, and
videos.

4. Dynamic and Continuous Improvement:

o Web 2.0 applications are designed to be continuously updated and


improved. Users receive new features and updates automatically as they
interact with the web application, without needing to manually install
updates.

5. Loose Coupling and Service Composition:

o Web 2.0 applications can be easily integrated and combined with other
services to create new functionalities. This allows developers to build
complex applications by combining existing services and tools, making it
easier to meet user needs and preferences.

6. Accessibility and Affordability:

o Web 2.0 applications are designed to be accessible from various devices,


such as smartphones, tablets, and smart TVs, making them available to a
broader audience. Additionally, many Web 2.0 services are free or low-cost,
which helps in reaching a larger user base.

Examples of Web 2.0 Applications

 Google Documents: Allows users to create and share documents online with real-
time collaboration.
 Google Maps: Provides interactive maps with features like directions, local business
information, and user-generated content.

 Flickr: A photo-sharing site where users can upload, share, and tag photos.

 Facebook: A social networking site that allows users to connect with friends, share
updates, and participate in communities.

 Twitter: A microblogging platform where users can post short updates and engage in
conversations.

 YouTube: A video-sharing platform where users can upload, view, and comment on
videos.

 Wikipedia: An online encyclopedia that anyone can edit, contributing to a


collaborative knowledge base.

Conclusion

Web 2.0 has significantly enhanced the Web's capability as a platform for interactive and
user-driven applications. It has enabled the creation of rich, dynamic web applications that
offer continuous improvement, user participation, and integration of various services, all of
which are fundamental to the cloud computing environment.

You might also like