Cloud Computing
In its simplest terminology, cloud computing is the storing and accessing of data and programs on remote servers that are hosted on the world wide web, also known as the Internet, as opposed to a computer’s hard drive or local server.
Brief History of Cloud Computing
Originating in 1999, Salesforce.com delivered an enterprise application over the internet, bringing John MacCharty’s words of selling computing as a utility, similar to water and electricity, to life.
Amazon initiated Amazon Web Services (AWS) in 2002, which offered computation over the internet, after which it launched Elastic Compute Cloud Commercial Services offered to the public for fair use.
In 2009, Google Play offered a cloud computing enterprise application due to the emergence of cloud computing and cloud services. Microsoft, Alibaba, IBM, Oracle, and HP followed suit by introducing their cloud services.
Cloud Computing Challenging the Traditional Way of Computing
Cloud Computing aims at providing users with easier, scalable access to computing resources, removing the burden of investing in hardware and software, which is not only expensive but also time-consuming.
Since its evolution, Cloud Computing has been used to deliver a wide range of beneficial services, such as storage, which cuts costs compared to on-premises storage; networking, which allows businesses to connect their applications and data to the internet, improving collaboration and communication; and applications, which allow businesses to rent software applications on demand, preserving costs on software as well as needed licensing.
Cloud Computing Architecture
In order to better understand cloud computing as a whole, it’s important to understand the fabrications, which are divided into two parts:
- Front-end:
- Referring to the client side of cloud computing systems: contains user interfaces, such as access to cloud computing services/resources.
- Client-Infrastructure: contains the applications and user interfaces that are required to access the cloud platform through GUI (Graphical User Interface) to interact with the cloud.
- Referring to the client side of cloud computing systems: contains user interfaces, such as access to cloud computing services/resources.
- Back-end:
- Referring to the cloud itself, used by the service provider. It contains the resources, manages the resources and provides security mechanisms, as well as huge storage, virtual applications, virtual machines, traffic control mechanisms, deployment models, etc.
Term | Description |
---|---|
Application | The software or platform that the client accesses, providing the service in the backend as per the client’s requirements. |
Service | The major three types of cloud-based services, including SaaS (Software as a Service), PaaS (Platform as a Service), and IaaS (Infrastructure as a Service). |
Runtime Cloud | Provides the execution and runtime platform/environment to the Virtual Machine (VM) for running applications and services. |
Storage | Offers flexible and scalable storage services and manages stored data in the cloud environment. |
Infrastructure | Refers to the back-end components such as servers, storage, network devices, virtualization software, and more, that form the foundation of the cloud infrastructure. |
Management | Involves the management of backend components, including applications, services, runtime clouds, storage, infrastructure, and other security mechanisms. |
Security | Encompasses the implementation of various security mechanisms in the back-end to secure cloud resources, systems, files, and infrastructure for end-users. |
Internet | Acts as the medium or bridge between both front-end and back-end, establishing interaction and communication between the two. |
Database | Provides databases for storing structured data, including SQL or NoSQL databases, within the cloud environment. |
Networking | Offers networking infrastructure for applications in the cloud, such as load balancing, Domain Name System (DNS) services, and virtual private networks (VPNs). |
Analytics | Provides analytical capabilities for data in the cloud, including data warehousing, machine learning, and other data analysis services. |
Cloud Computing Infrastructure
With the architectural perspective in place, the infrastructure matters as well. There are six components within the cloud computing infrastructure:
- Hypervisor: A firmware or a low level program that is key to enabling virtualization. It is used to both divide and allocate cloud resources between several customers.
- Management Software: Helps maintain and configure the infrastructure by monitoring and optimizing resources, data, applications, and services.
- Deployment Software: Assist by deploying and integrating the application on the cloud. This further assists in building virtual computing environments.
- Network: Responsible for the connection between cloud services over the internet. A network is of the utmost importance for the transmission of data both externally and internally.
- Server: Representing the computing portion of the cloud, is responsible for managing and delivering cloud services for various services, partners, security, etc.
- Storage: Represents the storage facility that is provided to different organizations for storing and managing data. If one of the resources fails, there is a backup saved within the storage.
Cloud Computing Security
Security has been at the core of safe computing practices. When it comes to delving into the components of cloud computing, the infrastructure places great importance on the way the data is stored, processed, and accessed in the cloud, making it vital to ensure maximum security.
When it comes to cloud computing, the General Data Protection Regulation (GDPR), a regulation in EU law on data protection and privacy, applies in the following ways:
Responsibilities | Description |
---|---|
Data Controllers and Processors | |
Obtaining Consent | Obtaining the controller’s consent to process personal information. |
Providing Information | Providing the controller with information about the processing of personal data. |
Ensuring Data Security | Ensuring the security of personal data during processing. |
Exercising GDPR Rights | Allowing the controller to exercise its rights under the GDPR, including access, rectification, erasure, restriction, objection, and data portability. |
Data Transfers | |
Compliant Data Transfer | Ensuring that data transfers comply with GDPR by using approved model contracts from the European Commission or verifying that the recipient country has adequate data protection. |
Rights of Individuals | |
Right to Access | Granting individuals the right to access their personal data. |
Right to Rectification | Allowing individuals to request the correction of inaccurate personal data. |
Right to Erasure | Enabling individuals to request the deletion of their personal data under certain circumstances (the right to be forgotten). |
Right to Restrict Processing | Allowing individuals to request limitations on the processing of their personal data in specific situations. |
Right to Object Processing | Providing individuals with the right to object to the processing of their personal data, including for direct marketing purposes. |
Right to Data Portability | Granting individuals the right to receive their personal data in a structured, commonly used, and machine-readable format for transfer to another data controller. |
Authentication in Cloud
Security is an obvious expectation, regardless of the form of computing. Identification and authentication are crucial aspects of the security of cloud computing. Verifying users’ credentials and protecting user data are two of the main security issues in the cloud. Violations in these areas could lead to undetected security breaches. How are they avoided?
In order to assert security, using SPML, or Service Provisioning Markup Language, can assist users in real-time. The cloud service providers extract attributes from the Service Provisioning Markup Language (SAML), which therefore results in the creation of SPML messages on the fly, and hand over the request to a provisioning service, which will add the user’s identity into the cloud database.
When we look at most web applications, they have an in-built authorization model that grants or denies access to certain functions or resources based on the specified roles.
If we delve into the IAM, or Identity Access Management Standards for Organizations, we are able to see that the applications requiring specific authorization make it difficult to state the access rights of any individual user across all applications.
The cloud is generally considered to be very secure due to the heavy investment in security precautions; furthermore, cloud computing has numerous advantages over traditional on-premises security.
How Secure is Cloud Computing?
Cloud computing is considered secure for the following reasons:
- Physical Security: Providing extensive physical security measures such as 24/7 monitoring, access control, and environmental controls
- Data Isolation: Isolating customer data from each other better assists in the protection of unauthorized access.
- Encryption: Encrypting customer data at rest and in transit to best protect against unauthorized access, even if the cloud provider’s systems are compromised.
- Logging and Monitoring: Continuously logging and monitoring systems for security threats helps in the detection and response to security incidents.
Cloud Security and Threats
The security challenges for cloud computing are somewhat dynamic and vast.
Data location is a crucial factor in cloud computing. Location transparency, however vital and prominent it may be in terms of flexibility, still poses a security threat since, without knowing the specific location of data storage, other regions of the server may be severely affected and violated.
Another concern is the security surrounding customers’ personal or business data, which, due to the strategic policies, may raise concerns in the form of trust. Although trust in the cloud is not a technical security issue, it is the most significant soft factor that is, to some extent, a result of security issues.
Establishing trust may be critical for stakeholders in any given cloud computing scenario. Trust within the cloud might be dependent on a number of factors, among which are automation management, human factors, processes, and policies.
Cloud-based services involve computer networks, data in transit, and more; therefore, some threats are more man-in-the-middle attacks, phishing, eavesdropping, sniffing, and other similar attacks.
A common yet major form of attack is DDoS (Distributed Denial of Service). DDoS can be a potential problem for cloud computing infrastructure. With both physical and virtual resources, there are multiple security issues that arise due to insufficient authentication mechanisms to address the threats.
Cloud Solutions and Practices
The overall authentication process might be much more difficult in terms of security if the cloud service providers have geographically dispersed servers. Regardless of the complexity, introducing third-party authentication and identity management should have one goal: to strengthen the robustness of security in the concerned areas.
In order to best maximize security measures, cloud services need to be flexible through portability. The portability of cloud services would allow users to switch between various cloud service providers without experiencing any negative effects from the need to complete tasks in various ways.
Another solution is to use Open Authentication (OAuth). An authentication standard, Open Authentication, allows customers to share their private resources and files, such as files, videos, and pictures, from one cloud service provider to another without the need to disclose any authentication information such as a username or password.
Green Cloud Computing
Security is certainly a major consideration for cloud providers when going green. Green cloud computing is an approach to cloud computing that aims to reduce energy consumption and environmental impact when deploying digital devices and systems.
To begin, Green cloud computing is already more sustainable than on-premise IT infrastructure due to the fact that it consumes energy more efficiently and offers fixed pricing structures. They are also able to consolidate energy from multiple organizations, managing resources more skillfully.
Influence of Sustainability on Green Cloud Computing
Sustainability has influenced Green Cloud Computing in various ways, some of which are:
Benefits of Green Cloud Computing | Description |
---|---|
Reducing Environmental Impact | Through the use of renewable energy and improving efficiency, cloud providers are able to reduce their environmental impact. This, therefore, helps mitigate climate change and other environmental problems. |
Reduced Costs | Through the use of renewable energy and improving efficiency, cloud providers can reduce their operating costs. Therefore, businesses save money on their cloud computing bills. |
Improved Reputation | Businesses that use green cloud computing can improve their reputation with customers and investors, therefore building trust, which leads to increased sales and revenue. |
Increased Compliance | By reducing their environmental impact, cloud providers are able to improve their compliance with environmental regulations. This can help avoid fines and penalties. |
How to Switch to Green Cloud Computing?
There are different approaches to migrating to green cloud computing. It all relies on virtualization or efficient power practices.
Virtualization
Through the use of virtualization, organizations will be able to run multiple VMs (Virtual Machines), operating systems (OSs), and applications on the same host – essentially partitioning the physical server into numerous virtual servers.
The number of physical servers that an organization needs is reduced, therefore minimizing power consumption and cooling, potentially cutting energy bills by a huge amount.
Efficient Power Supply and Power Management Practices
Organizations are able to make use of efficient energies in one of two ways:
- Using clean energy
- Improving power efficiencies in data centers
Companies are able to reduce GHG emissions associated with compute-intensive workloads such as deep learning and grid-computing.
Transition to Green Cloud Computing
A cloud-first commitment with sustainability in mind means that your data will be processed using green computing methods.
- Select a Carbon-Aware Provider: Choosing cloud hosting providers that offer renewable energy rather than those that run on fossil fuels is the first step. The Green Web Foundation (GWF) offers a directory for hosting providers that use renewable-energy powered servers.
- Optimize Your Cloud Environment: Optimize current setup and have complete visibility over your usage to best minimize costs and reduce server utilization and GHG emissions.
- Ensure Solid Carbon Measurement and Reporting Plans: In order to best understand the organization’s carbon footprint, it is necessary to connect corporate responsible teams with cloud vendors. Most cloud vendors do not share this information. Having a solid cloud measurement and reporting plan can help with sustainability reporting.
- Keep Innovating: Unprecedented levels of innovation can help unlock the true potential of green cloud computing, therefore leading to a greener planet.
How Cloud Computing Can Boost Energy Efficiency
Less Hardware
By migrating on the premises IT systems to the cloud, the organization will no longer be required to power software and applications. Instead, hosting providers can take on the burden, hosting and deploying IT infrastructure with greater efficiency at scale.
High-density storage
Cloud computing requires less physical hardware to run large workloads and store large quantities of data, making it a more efficient method of operation. Through the use of shared resources, this also means cutting organizational costs.
Consolidated Demand
Overall, there will be fewer physical servers, which means there’ll be more room for resources via the network. If an organization works from multiple locations, they are able to consolidate their cloud infrastructure for faster speeds and, therefore, reduced energy consumption.
Efficient Resource Use
Flexibility is a key feature in cloud computing. This means providers can dynamically scale resources up and down in order to best meet demand. Cloud providers are also able to manage workloads according to renewable energy availability, reducing the reliance on carbon derived fuel.
Optimized Data Center
Not all cloud services are equal, and not all of them will implement sustainable best practices. Regardless of the natural ability to operate with greater efficiency due to cloud providers scale, it is important to have an optimized data center that emits a cooling system, along with the ability to manage electronic waste, since more than one factor contributes to the overall carbon footprint of the hosting provider.
Indirect Benefits
First and foremost, using green cloud computing facilitates the trend toward hybrid and remote working, minimizing the emissions produced and energy required for staff to travel to and from work.
It also offers organizations virtual productive tools and reduces paper waste.
Moving to the cloud is an essential first step for any organization hoping to improve its environmental profile.
Join the GuruDesk community and be among the first ones to discover the hottest trends in web services! We are a team of web experts and we love sharing our knowledge and experience with our readers! We share tips and tricks on a wide range of topics, including web development, cloud services, and hosting. Whether you are a seasoned pro or just starting out, we promise you will find valuable information here. So go ahead, hit that “Subscribe” button and let the fun begin!