Unit-I-Introduction To cloud Computing (1)
Unit-I-Introduction To cloud Computing (1)
Course Objectives
1) Knowledge
i. To study basic cloud computing concepts and its operational environment.
2) Skills
i. To acquire skills of using various Virtualization Techniques and Platforms
ii. To understand challenges in cloud computing
3) Attitude
i. To select and use cloud computing platform
Course Outcomes
After completion of this course students will be able to
i. Setup a cloud environment
ii. Deploy web services efficiently on a cloud platform
iii. Manage cloud services efficiently and effectively
iv. Design, deploy and address the cloud security aspects
Disclaimer:
a. Information included in these slides came from multiple sources. We have tried our best to cite the
sources. Please refer to the references to learn about the sources, when applicable.
b. The slides should be used only for preparing notes, academic purposes (e.g. in teaching a class), and
should not be used for commercial purposes.
The details of the physical systems on which software runs are abstracted from the user.
Abstraction:
Cloud computing abstracts the details of system implementation from users and
developers.
Applications run on physical systems that aren't specified,
Data is stored in locations that are unknown,
Administration of systems is outsourced to others, and access by users is ubiquitous.
Technologies such as cluster, grid, and now cloud computing, have all aimed at
allowing access to large amounts of computing power in a fully virtualized manner,
by aggregating resources and offering a single system view
NIST
A pay-per-use model for enabling available, convenient, on-demand network access to
a shared pool of configurable computing resources (e.g. networks, servers, storage,
applications, services) that can be rapidly provisioned and released with minimal
management effort or service provider interaction.”
29-Jan-24 CET4034B: CLOUD INFRASTRUCTURE AND SECURITY 12
Cloud Computing in a nutshell
While there are countless other definitions, there seems to be common characteristics
between the most notable ones listed as before, which a cloud should have:
In cloud computing a single job is distributed among several computers or systems where
each computer does its specific task so that the task can be completed quickly.
Mainframe Computing
Mainframe computing is used by large organizations because it can deal with huge
amounts of data.
Mainframe computers are used for Mainframe computing.
They can perform various tasks like processing bulk data and exchanging hardware etc. But
Main computing is very expensive.
29-Jan-24 CET4034B: CLOUD INFRASTRUCTURE AND SECURITY 15
Cluster Computing
In cluster computing, many computers work together and act as a single
entity where each computer linked to the network is called a node.
In cluster computing, all the computers are linked together with the help of
specialized network connections.
Cluster computing can be resized by removing or adding nodes.
Services such user authentication, e-mail, payroll management, and calendars are
examples of building blocks that can be reused and combined in a business solution in case
a single, ready-made system does not provide all those features.
Web 2.0 is an interface with which cloud computing services interact with clients.
Popular examples of Web 2.0 are Facebook, Google maps, TikTok etc.
VMWare ESXi :
Pioneer in virtualization, bare metal hypervisor
Provides advanced virtualization techniques of processor, memory, and I/O.
Especially, through memory ballooning and page sharing, it can overcommit memory
Xen:
Open-source project
It has pioneered the para-virtualization concept, on which the guest operating system, by means
of a specialized kernel, can interact with the hypervisor, thus significantly improving performance
Is has been part of the mainline Linux kernel since version 2.6.20, thus being natively
supported by several distributions.
In addition, activities such as memory management and scheduling are carried out by
existing kernel
For instance, Amazon has its Amazon machine image (AMI) format, made
popular on the Amazon EC2 public cloud.
Other formats are used by Citrix XenServer, several Linux distributions that
ship with KVM, Microsoft Hyper-V, and VMware ESX
29-Jan-24 CET4034B: CLOUD INFRASTRUCTURE AND SECURITY 25
Autonomic Computing
Elasticity: Companies can freely scale up as computing needs increase and scale down as
demands decrease. This eliminates the need for massive investments in local infrastructure,
which might not remain active.
Pay per use: Compute resources are measured at a granular level, letting users pay only for the
resources and workloads they use.
Workload resilience: CSPs often deploy redundant resources to ensure resilient storage and to
keep users' important workloads running -- often across multiple global regions.
• Broad Network Access: Services are accessible over the internet via standard protocols and
devices.
• Resource Pooling: Computing resources are pooled together to serve multiple users,
allowing for efficient utilization and scalability.
• Rapid Elasticity: Resources can be scaled up or down quickly to meet changing demands.
• Measured Service: Cloud service usage is measured, monitored, and billed based on actual
consumption.
Speed: Most cloud computing services are provided self-service and on demand. Even vast amounts of
computing resources can be provisioned in minutes, typically with just a few clicks, giving businesses
plenty of flexibility and taking the pressure off capacity planning.
Global Scale: Cloud computing services include the ability to scale elastically. In cloud speak, that means
delivering the right amount of IT resources. For example, choosing more or less computing power,
storage, bandwidth right when it’s needed, and from the right geographic location.
Productivity: On-site data centers typically require heavy “racking and stacking” hardware setup,
software patching, and other time-consuming IT management duties. Cloud computing removes the
need for many of these tasks so IT teams can work towards more important business goals.
Cloud computing is a broader term for overall centralized computing resources that are shared by
numerous customers.
Collectively, it encompasses all services provided by the cloud that are required to keep applications
up and running, including compute, storage, and networking.
It’s more of an umbrella term that encompasses cloud networking.
Multicloud networking: A type of cloud networking with advanced capabilities integrated with
public cloud providers, resulting in smoother accessibility across multiple clouds and on-premises
environments.
Hybrid cloud networking: A subset of cloud and multi-cloud networking that refers specifically to
the connectivity between two different types of cloud environments, such as on-premises
private, hosted private, and public clouds.
Cloud networking and cloud-based networking: A cloud networking solution with their control
plane hosted and delivered in public clouds instead of an on-premises device
IaaS delivers computer hardware (servers, networking technology, storage, and data
center space) as a service.
It may also include the delivery of OS and virtualization technology to manage the
resources.
Here, the more important point is that IaaS customers rent computing resources
instead of buying and installing them in their data centers.
The service may include dynamic scaling so that if the customers need more
resources than expected, they can get them immediately.
29-Jan-24 CET4034B: CLOUD INFRASTRUCTURE AND SECURITY 46
The control of the IaaS layer is as
The consumer has full/partial control over the infrastructure of the cloud, servers,
and databases.
The consumer has control over the Virtual Machines' implementation and
maintenance.
The cloud provider has full control over the data centers and the other hardware
involved in them.
It can also copy data worldwide so that data can be accessed from anywhere in the
world as soon as possible.
29-Jan-24 CET4034B: CLOUD INFRASTRUCTURE AND SECURITY 47
Service Models
2. Platform as a Service (PaaS)
• PaaS offers a platform for developing, testing,
and deploying applications.
• Users can focus on application development
without worrying about infrastructure
management.
• PaaS providers manage the underlying
infrastructure, including servers, storage, and
networking.
• Developers can leverage pre-configured
environments, development frameworks, and
deployment tools.
• Examples of PaaS providers include Heroku,
Google App Engine, and AWS Elastic Beanstalk.
Developers can construct and deploy apps on a cloud platform without necessarily
needing to know how many processors or how much memory their applications
would use.
A PaaS offering that provides a scalable environment for creating and hosting web
applications is Google App Engine, for instance.
The cloud consumer has selective control based on the resources they need or have
opted for on the application server, database, or middleware.
The cloud provider has partial control over the implementation of cloud services.
The consumer has limited control over the implementation of these cloud services.
• What’s neat about these services is that they cost nothing when not running.
• At the end of the leasing period, the lessee may have the option to purchase it for a fee or
send it back.
Aggregation – enabling the consumption of cloud by end users via a cloud application
marketplace approved by the company
Integration – ensuring cloud applications exchange data with each other and with on-premise
applications to orchestrate business processes
• It involves various elements that work together to deliver cloud services and ensure reliability,
scalability, and security.
• Cloud Provider: A person, organization, or entity that is accountable for offering services to individuals or
entities who are interested in them.
• Cloud Auditor: A party capable of conducting an impartial evaluation of cloud services, as well as
assessing the performance, security, and operations of the cloud implementation.
• Cloud Broker: An entity responsible for managing the utilization, performance, and delivery of cloud
services. Additionally, they act as mediators between Cloud Providers and Cloud Consumers, negotiating
relationships between the two parties.
• Cloud Carrier: An intermediary that facilitates the connectivity and transportation of cloud services from
Cloud Providers to Cloud Consumers.
• Security First: Implement robust security measures to protect against unauthorized access. Safeguard all
layers of the cloud infrastructure through data encryption, patch management, and strict security policies.
Consider adopting zero-trust security models for enhanced protection in hybrid and multi-cloud environments.
• Disaster Recovery Readiness: Automate recovery processes to minimize costly downtime and ensure swift
recovery from service disruptions. Implement monitoring mechanisms to track capacity and utilize redundant
networks for a highly available architecture.
• Maximize Performance: Optimize computing resources by continuously monitoring business demands and
technological requirements. Efficiently manage and allocate resources to maintain optimal performance levels.
• Cost Optimization: Leverage automated processes, managed service providers, and utilization tracking to
reduce unnecessary cloud computing expenses. Regularly review and optimize resource allocation to ensure
cost-effectiveness.
This opens up the debate of whether to choose greenfield or brownfield. Both strategies
have their benefits and drawbacks.
With the greenfield strategy, everything is made from ground-up – data, operating systems,
applications – and then moved to the new infrastructure.
In the brownfield strategy, many of the functions of the previous application are retained,
especially those that are difficult to recreate.
Many of the proprietary systems and critical data and information are also retained in the on-
premise infrastructure.
2. Steep learning curve, since everything is new. Teams, if used to the legacy system, might
take some time to get used to the cloud options
3. Affects the entire organization – Migration to the cloud is serious business. It affects
your operating model, and the staff in your company will have different kinds of
responsibilities. Cloud maintenance and security will be managed by the cloud service
provider, but you will need to come up with new strategies for storing and handling
computing resources.
Greenfield Brownfield
In any of these case, first we would think about the execution approach if we need to choose
between Greenfield development and brownfield development.
Ideally, Greenfield development is grounds-up development to start afresh like the re-architect
or sometimes re-factor category which is strategic and long-term solution and scalable/flexible
architecture but costly in terms of effort and time.
Also, this requires complete infrastructure setup and careful design for interfaces, network
communication, integration services and security architecture.
It is affordable due to low cost/effort due to reuse of the architecture and components.
With brownfield development, using existing talent and resources will help a lot to reduce
functional design and carry out simple architectural decision and reduce functional validation by
carrying out simple regression tests instead of complete testing.
Brownfield development can be used for low-risk category of applications whereas Greenfield
is a choice for high-risk category of applications.
29-Jan-24 CET4034B: CLOUD INFRASTRUCTURE AND SECURITY 85
Key Questions You Should Ask That Help You To Decide Which Migration
Scenarios Would Be Best For You? Greenfield Vs Brownfield Development
Once you have defined the business and built a business case, you can select the best
approach, develop a strategy, create your roadmap, and make it happen.
Just be cautious with brownfield projects as the processes could be more challenging and
arduous and you will need to have a top-class development team who are ready to take on
challenges and perform meticulous design and testing tasks.
Greenfield projects however help catch the best spot on the IT bandwagon. But note it down as
today’s Greenfield is tomorrow’s Brownfield.
• Key characteristics of cloud computing include on-demand self-service, broad network access, resource
pooling, rapid elasticity, and measured service.
• Deployment models include public, private, and hybrid clouds, offering flexibility and data sharing options.
• Service models such as IaaS, PaaS, and SaaS provide virtualized computing resources, platform for
application development, and software delivery respectively.
• Cloud computing offers benefits like cost savings, scalability, flexibility, reliability, and enhanced collaboration.
2. Prioritize security measures such as data encryption and access controls to protect against unauthorized
access.
3. Plan for disaster recovery and high availability to ensure business continuity.
4. Continuously monitor and optimize resource utilization for optimal performance and cost savings.
5. Regularly assess and adapt your cloud architecture to evolving business needs and emerging
technologies.
Reference Books
1. Introduction to the Theory of Computation, Michael Sipser.
2. Introduction to Languages and the Theory of Computation, John Martin.
3. Computers and Intractability: A Guide to the Theory of NP Completeness, M. R. Garey and D. S. Johnson
Supplementary Reading:
1. Dr. Kumar Saurabh, “Cloud Computing”, Wiley Publication