MODULE 1 - INTRODUCTION BASICS OF CLOUD COMPUTING Cloud Computing provides us a means by which we can access the applications as utilities, over the Internet. It allows us to create, configure, and customize applications online. With Cloud, Computing users can access database resources via the internet from anywhere for as long as they need without worrying about any maintenance or management of actual resources. What is Cloud? The term Cloud refers to a Network or Internet. In other words, we can say that Cloud is something, which is present at remote locations. Cloud can provide services over the network, i.e., on public networks or on private networks, i.e., WAN, LAN or VPN. Applications such as e-mail, web conferencing, customer relationship management (CRM), all run in the cloud. Characteristics and benefits Cloud computing has some interesting characteristics that bring benefits to both cloud service consumers(CSCs) and cloud service providers(CSPs). These characteristics are: •No up-front commitments • On-demand access • Nice pricing • Simplified application acceleration and scalability • Efficient resource allocation • Energy efficiency • Seamless creation and use of third-party services CLOUD COMPUTING MODELS There are certain services and models working behind the scene making cloud computing feasible and accessible to end-users. Following are the working models for cloud computing: 1. Deployment Models 2. Service Models SERVICE MODELS Service Models are the reference models on which Cloud Computing is based. These can be categorized into three basic service models as listed below: 1. Infrastructure as a Service (IaaS) 2. Platform as a Service (PaaS). 3. Software as a Service (SaaS) Infrastructure as a Service (IaaS) IaaS is the delivery of technology infrastructure as an on-demand scalable service. IaaS provides access to fundamental resources such as physical machines, virtual machines, virtual storage, etc. Usually billed based on usage. Usually a multi-tenant virtualized environment. Can be coupled with Managed Services for OS and application support Platform as a Service (PaaS) PaaS provides the runtime environment for applications, development & deployment tools, etc. PaaS provides all of the facilities required to support the complete life cycle of building and delivering web applications and services entirely from the Internet. Typically applications must be developed with a particular platform in mind. Multi-tenant environments. Highly scalable multi-tier architecture. Software as a Service (SaaS) The SaaS model allows using software applications as a service to end-users. SaaS is a software delivery methodology that provides licensed multi-tenant access to software and its functions remotely as a Web-based service. Usually billed based on usage. Usually a multi-tenant environment. Highly scalable architecture. DEPLOYMENT MODELS: Clouds constitute the primary outcome of cloud computing. They are a type of parallel and distributed system harnessing physical and virtual computers presented as a unified computing resource. Clouds build the infrastructure on top of which services are implemented and delivered to customers. Different Types of Cloud Computing Deployment Models ● ● ● ● Public Private Community Hybrid 1. Public clouds: The cloud is open to the wider public. Benefits of Public Cloud: Minimal Investment – As a pay-per-use service, there is no large upfront cost and is ideal for businesses who need quick access to resources No Hardware Set-up – The entire infrastructure is fully funded by the cloud service providers No Infrastructure Management – Does not require an in-house team to utilize the public cloud Limitations of Public Cloud Data Security and Privacy Concerns – Since it is accessible to all, it does not fully protect against cyber-attacks and could lead to vulnerabilities Reliability Issues – Since the same server network is open to a wide range of users, it can lead to malfunction and outages Service/License Limitation – While there are many resources that you can exchange with tenants, there is a cap on usage 2. Private clouds: The cloud is implemented within the private premises of an institution and generally made accessible to the members of the institution or a subset of them Benefits of Private Cloud Data Privacy – It is ideal for storing corporate data where only authorized personnel gets access ·Security – Segmentation of resources within the same infrastructure can help with better access and higher levels of security Supports Legacy Systems – This model supports legacy systems that cannot access the public cloud Limitations of Private Cloud: Higher Cost – With the benefits that you get, the investment will also be larger than the public cloud. Here, you will pay for software, hardware, and resources for staff and training. ·Fixed Scalability – The hardware you choose will accordingly help you scale in a certain direction High Maintenance – Since it is managed in-house, the maintenance costs also increase 3. Hybrid or heterogeneous clouds: The cloud is a combination of the two previous solutions and most likely identifies a private cloud that has been augmented with resources or services hosted in a public cloud. Benefits of Hybrid Cloud: Cost-Effectiveness – The overall cost of a hybrid solution decreases since it majorly uses the public cloud to store data Security – Since data is properly segmented, the chances of data theft from attackers is significantly reduced Flexibility – With higher levels of flexibility, businesses can create custom solutions that fit their exact requirements Limitations of Hybrid Cloud Complexity – It is complex setting up a hybrid cloud since it needs to integrate two or more cloud architectures Specific Use Case – This model makes more sense for organizations that have multiple use cases or need to separate critical and sensitive data 4. Community clouds: The cloud is characterized by a multi-administrative domain involving different deployment models(public, private, and hybrid), and it is specifically designed to address the needs of a specific industry. Benefits of Community Cloud Smaller Investment – A community cloud is much cheaper than the private & public cloud and provides great performance Setup Benefits – The protocols and configuration of a community cloud must align with industry standards. This allows customers to work much more efficiently Limitations of Community Cloud Shared Resources – Due to restricted bandwidth and storage capacity, community resources often pose challenges Not as Popular – Since this is a recently introduced model, it is not that popular or available across industries. CLOUD COMPUTING BENEFITS Flexibility: Users can scale services to fit their needs, customize applications, and access cloud services from anywhere with an internet connection. Scalability: Cloud infrastructure scales on-demand to support fluctuating workloads. Storage options: Users can choose public, private, or hybrid storage offerings, depending on security needs and other considerations. Control choices: Organizations can determine their level of control with as-a-service options. These include software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (IaaS). Tool selection: Users can select from a menu of prebuilt tools and features to build a solution that fits their specific needs. Security features: Virtual private cloud, encryption, and API keys help keep data secure. Efficiency: Enterprise users can get applications to market quickly, without worrying about underlying infrastructure costs or maintenance. Accessibility: Cloud-based applications and data are accessible from virtually any internet-connected device. Speed to market: Developing in the cloud enables users to get their applications to market quickly. Data security: Hardware failures do not result in data loss because of networked backups. Savings on equipment: Cloud computing uses remote resources, saving organizations the cost of servers and other equipment. Pay structure: A “utility” pay structure means users only pay for the resources they use. Strategic value: Cloud services give enterprises a competitive advantage by providing the most innovative technology available. Streamlined work: Cloud service providers (CSPs) manage the underlying infrastructure, enabling organizations to focus on application development and other priorities. Regular updates: Service providers regularly update offerings to give users the most up-to-date technology. Collaboration: Worldwide access means teams can collaborate from widespread locations. Competitive edge: Organizations can move more nimbly than competitors who must devote IT resources to managing infrastructure. The cloud computing platform helps employees who are located in different geographies to collaborate in a highly convenient and secure manner. Mobility: Employees who are working on the premises or at remote locations can easily access all the could services. All they need is Internet connectivity. CLOUD COMPUTING RISKS 1. Less Visibility and Lack of control: a. When transitioning to the cloud, some visibility and control over the assets will be lost because of policies and infrastructure. 2. Internet APIs can be compromised: a. APIs will have some vulnerabilities, exposing them to potential threats. 3. Vendor Lock-in: a. A situation where the cost of switching to a different vendor is so high that the customer is essentially stuck with the original vendor. 4. Increased complexity strains IT Staff 5. Insider attack 6. Trust & Security CLOUD COMPUTING CHALLENGES Since we live in the digital age, cloud computing technology is expanding. Though the opportunities are great, this technology suffers from few challenges as follows: 1. Security Issues: Security risks of cloud computing have become the top concern because: a. The user is unable to see the location where the data is stored and being processed. b. Sensitive and proprietary information is maintained by a third-party service provider. 2. Cost management and containment: The on-demand and scalable nature of cloud computing services make it sometimes difficult to define and predict quantities and costs. 3. Lack of resources/expertise: Many companies and enterprises are facing a lack of resources and expertise today. Organizations are increasingly placing more workloads in the cloud while cloud technologies continue to rapidly advance. Due to these factors, organizations are having a tough time keeping up with the tools. 4. Governance/Control: Proper IT governance should ensure IT assets are implemented and used according to agreed-upon policies and procedures; ensure that these assets are properly controlled and maintained, and ensure that these assets are supporting your organization’s strategy and business goals. 5. Compliance: Compliance is an issue for anyone using backup services or cloud storage. Every time a company moves data from the internal storage to a cloud, it is faced with being compliant with industry regulations and laws. Ex: The healthcare organizations in the USA have to comply with HIPAA (Health Insurance Portability and Accountability Act of 1996), public retail companies have to comply with SOX (Sarbanes-Oxley Act of 2002) and PCI DSS (Payment Card Industry Data Security Standard). Depending on the industry and requirements, every organization must ensure these standards are respected and carried out. 6. Managing Multiple Clouds: The state of multi-cloud has grown exponentially in recent years. Companies are shifting or combining public and private clouds. Managing these multi-cloud architectures is difficult. 7. Migration: Migration is the process of moving an application to the cloud. An although moving a new application is a straightforward process when it comes to moving an existing application to a cloud environment, many cloud challenges arise as follows: a. Security challenges b. Slow data migrations c. Application downtime CLOUD COMPUTING ARCHITECTURE Cloud Computing Architecture is divided into two parts, i.e., front-end and back-end. Front-end and back-end communicate via a network or internet. A diagrammatic representation of cloud computing architecture is shown below: Cloud Computing Architecture Front-End ● It provides applications and the interfaces that are required for the cloud-based service. ● It consists of client’s side applications, which are web browsers such as Google Chrome and Internet Explorer. ● Cloud infrastructure is the only component of the front-end. Let's understand it in detail. ● Cloud infrastructure consists of hardware and software components such as data storage, server, virtualization software, etc. ● It also provides a Graphical User Interface to the end-users to perform respective tasks. Back-End ● It is responsible for monitoring all the programs that run the application on the front-end ● It has a large number of data storage systems and servers. The back-end is an important and huge part of the whole cloud computing architecture The components of the back-end cloud architecture are mentioned below. Application ● It can either be software or a platform ● Depending upon the client requirement, the application provides the result to the end-user (with resources) in the back end Service ● Service is an essential component in cloud architecture ● Its responsibility is to provide utility in the architecture ● In a Cloud, few widely used services among the end-users are storage application development environments and web services Storage ● It stores and maintains data like files, videos, documents, etc. over the internet ● Some of the popular examples of storage services are below: ○ Amazon S3 ○ Oracle Cloud-Storage ○ Microsoft Azure Storage ● Its capacity varies depending upon the service providers available in the market Management ● Its task is to allot specific resources to a specific task, it simultaneously performs various functions of the cloud environment ● It helps in the management of components like application, task, service, security, data storage, and cloud infrastructure ● In simple terms, it establishes coordination among the cloud resources Security ● Security is an integral part of back-end cloud infrastructure ● It provides secure cloud resources, systems, files, and infrastructure to end-users ● Also, it implements security management to the cloud server with virtual firewalls which results in preventing data loss Benefits of Cloud Computing Architecture The cloud computing architecture is designed in such a way that: ● It solves latency issues and improves data processing requirements ● It reduces IT operating costs and gives good accessibility to access data and digital tools ● It helps businesses to easily scale up and scale down their cloud resources ● It has a flexibility feature that gives businesses a competitive advantage ● It results in better disaster recovery and provides high security ● It automatically updates its services ● It encourages remote working and promotes team collaboration Cloud Computing Architecture Components Some of the important components of Cloud Computing architecture are as follows: ● Hypervisor ● Management Software ● Deployment Software ● Network ● Cloud Server ● Cloud Storage Hypervisor ● It is a virtual machine monitor which provides Virtual Operating Platforms to every user ● It also manages guest operating systems in the cloud ● It runs a separate virtual machine on the back end which consists of software and hardware ● Its main objective is to divide and allocate resources Management Software ● Its responsibility is to manage and monitor cloud operations with various strategies to increase the performance of the cloud ● Some of the operations performed by the management software are: ○ compliance auditing ○ management of overseeing disaster ○ contingency plans Deployment Software ● It consists of all the mandatory installations and configurations required to run a cloud service ● Every deployment of cloud services are performed using a deployment software ● The three different models which can be deployed are the following: ● SaaS - Software as a service hosts and manages applications of the end-user. Example: Gmail ● PaaS - Platform as a service helps developers to build, create, and manage applications. Example: Microsoft Azure ● IaaS - Infrastructure as a service provides services on a pay-as-you-go pricing model. Network ● It connects the front-end and back-end. Also, allows every user to access cloud resources ● It helps users to connect and customize the route and protocol ● It is a virtual server that is hosted on the cloud computing platform ● It is highly flexible, secure, and cost-effective Cloud Storage ● Here, every bit of data is stored and accessed by a user from anywhere over the internet ● It is scalable at run-time and is automatically accessed ● Data can be modified and retrieved from cloud storage over the web CLOUD VIRTUALIZATION Virtualization is a technique, which allows sharing a single physical instance of a resource or an application among multiple customers and organizations. The main usage of Virtualization Technology is to provide the applications with the standard versions to their cloud users. By using virtualization, all severs and the software application which is required by other cloud providers are maintained by third party people, and the cloud providers have to pay the money on a monthly or annual basis. Types of Virtualization: ● Desktop virtualization ● Network virtualization ● Storage virtualization ● Data virtualization ● Application virtualization ● Datacenter virtualization ● CPU virtualization ● GPU virtualization ● Linux virtualization ● Cloud virtualization INTRODUCTION TO GOOGLE APP ENGINE Google App Engine (GAE) or App Engine is a Platform as a Service (PaaS) product provided by google cloud. It is a service for developing and hosting web applications in Google’s data centers. App Engine automatically allocates additional resources to the servers to accommodate the increased load. GAE allows developers to build and run applications using Google’s infrastructure. These applications are required to be written in one of a few supported languages, namely: Java, Python, PHP, Ruby and Go. GAE removes the burden of maintaining servers and lets the developers concentrate on app front-end development and functionality. Features of GAE: 1. Popular Languages: The App Engine supports numerous languages for developers and offers the flexibility to import libraries and frameworks. The applications can be developed and tested locally using SDK (Software Development Toolkit). 2. Fully Managed: GAE allows developers to add the web application code to the platform while the infrastructure is managed by GAE. The engine ensures that the web applications are secure and running. It also protects against malware and threats by enabling firewalls. 3. Effective Diagnostic Services: Any bugs in the application can be easily monitored by the engine and logging is provided to the developers to fix the bugs. 4. Application Versioning: The various versions of the application can be maintained easily in Google App Engine. 5. Traffic Splitting: The app engine automatically routes traffic to different versions of the apps by splitting the traffic evenly. Benefits of GAE: 1. Quality Services and APIs: Google App Engine has several built-in APIs and those services allow the developers to build robust applications with rich features. 2. Just add the code: With zero configuration and server management, the developers can just add the code by eliminating the burden to manage the infrastructure. 3. Pay only for what you use: GAE has a daily and a monthly billing cycle. a. Daily: Users will be charged daily for the resources used. b. Monthly: All the daily charges are calculated and added for a month and a bill is produced to the user. 4. Availability: GAE lets the developers develop applications remotely, while the cloud service manages the infrastructure needs by providing high availability. Companies using GAE: Cloud Platform as a Service (PaaS) Software is a widely used technology, and many people are seeking popular, easy-to-use software solutions with application deployment, development tools, and development environment. One such PaaS provider is Google App Engine. The following are the companies using GAE: 1. 2. 3. 4. 5. Disney Snapchat Youtube Accenture Coca-Cola
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )