CLOUD COMPUTING BTEC Pearson Higher Nationals in Computing
CLOUD COMPUTING BTEC Pearson Higher Nationals in Computing
Learning Outcomes 1 • LO 1 - Demonstrate an understanding of the fundamentals of Cloud Computing and its architectures. 2 • LO 2 - Evaluate the deployment models, service models and technological drivers of Cloud Computing and validate their use. 3 • LO 3 - Develop Cloud Computing solutions using service provider’s frameworks and open source tools. 4 • LO 4 - Analyse the technical challenges for cloud applications and assess their risks.
Learning Outcomes LO 2 - Evaluate the deployment models, service models and technological drivers of Cloud Computing and validate their use.
Cloud Deployment models:
Private Cloud A private cloud is owned by a single organization. Private clouds enable an organization to use cloud computing technology as a means of centralizing access to IT resources by different parts, locations, or departments of the organization. When a private cloud exists as a controlled environment, the problems described in the Risks and Challenges section do not tend to apply.
Private Cloud The use of a private cloud can change how organizational and trust boundaries are defined and applied. The actual administration of a private cloud environment may be carried out by internal or outsourced staff.
Private Cloud Figure 1 - A cloud service consumer in the organization's on-premise environment accesses a cloud service hosted on the same organization's private cloud via a virtual private network.
Private Cloud With a private cloud, the same organization is technically both the cloud consumer and cloud provider. In order to differentiate these roles: �A separate organizational department typically assumes the responsibility for provisioning the cloud (and therefore assumes the cloud provider role) � Departments requiring access to the private cloud assume the cloud consumer role
Public Cloud A public cloud is a publicly accessible cloud environment owned by a third-party cloud provider. The IT resources on public clouds are usually provisioned via the previously described cloud delivery models and are generally offered to cloud consumers at a cost or are commercialized via other avenues (such as advertisement).
Public Cloud The cloud provider is responsible for the creation and on-going maintenance of the public cloud and its IT resources. Many of the scenarios and architectures explored in upcoming chapters involve public clouds and the relationship between the providers and consumers of IT resources via public clouds.
Public Cloud The cloud provider is responsible for the creation and on-going maintenance of the public cloud and its IT resources. Many of the scenarios and architectures explored in upcoming chapters involve public clouds and the relationship between the providers and consumers of IT resources via public clouds.
Public Cloud Figure 1 - Organizations act as cloud consumers when accessing cloud services and IT resources made available by different cloud providers.
Community Cloud A community cloud is similar to a public cloud except that its access is limited to a specific community of cloud consumers. The community cloud may be jointly owned by the community members or by a third-party cloud provider that provisions a public cloud with limited access. The member cloud consumers of the community typically share the responsibility for defining and evolving the community cloud (Figure 1).
Community Cloud Figure 1 - An example of a "community" of organizations accessing IT resources from a community cloud.
Community Cloud Membership in the community does not necessarily guarantee access to or control of all the cloud's IT resources. Parties outside the community are generally not granted access unless allowed by the community.
Hybrid Cloud A hybrid cloud is a cloud environment comprised of two or more different cloud deployment models. For example, a cloud consumer may choose to deploy cloud services processing sensitive data to a private cloud and other, less sensitive cloud services to a public cloud. The result of this combination is a hybrid deployment model (Figure 1).
Hybrid Cloud Figure 1 - An organization using a hybrid cloud architecture that utilizes both a private and public cloud.
Hybrid Cloud Hybrid deployment architectures can be complex and challenging to create and maintain due to the potential disparity in cloud environments and the fact that management responsibilities are typically split between the private cloud provider organization and the public cloud provider.
Cloud Delivery Models A cloud delivery model represents a specific, pre-packaged combination of IT resources offered by a cloud provider. Three common cloud delivery models have become widely established and formalized: � Infrastructure-as-a-Service (Iaa. S) � Platform-as-a-Service (Paa. S) � Software-as-a-Service (Saa. S)
Cloud Delivery Models Many specialized variations of the three base cloud delivery models have emerged, each comprised of a distinct combination of IT resources. Some examples include: � Storage-as-a-Service � Database-as-a-Service � Security-as-a-Service � Communication-as-a-Service � Integration-as-a-Service � Testing-as-a-Service � Process-as-a-Service
Service models: Iaa. S, Paa. S, Saa. S, Aaa. S
Infrastructure-as-a-Service (Iaa. S) The Iaa. S delivery model represents a selfcontained IT environment comprised of infrastructure-centric IT resources that can be accessed and managed via cloud service-based interfaces and tools. This environment can include hardware, network, connectivity, operating systems, and other "raw" IT resources. With Iaa. S, IT resources are typically virtualized and packaged into bundles that simplify up-front runtime scaling and customization of the infrastructure.
Infrastructure-as-a-Service (Iaa. S) Figure 1 - A cloud consumer is using a virtual server within an Iaa. S environment. Cloud consumers are provided with a range of contractual guarantees by the cloud provider, pertaining to characteristics such as
Platform-as-a-Service (Paa. S) The Paa. S delivery model represents a predefined "ready-to-use" environment typically comprised of already deployed and configured IT resources. Paa. S relies on (and is primarily defined by) the usage of a ready-made environment that establishes a set of pre-packaged products and tools used to support the entire delivery lifecycle of custom applications.
Platform-as-a-Service (Paa. S) Common reasons a cloud consumer would use and invest in a Paa. S environment include: � The cloud consumer wants to extend on-premise environments into the cloud for scalability and economic purposes. � The cloud consumer uses the ready-made environment to entirely substitute an on-premise environment. � The cloud consumer wants to become a cloud provider and deploys its own cloud services to be made available to other external cloud consumers.
Platform-as-a-Service (Paa. S) Figure 1 - A cloud consumer is accessing a ready-made Paa. S environment. The question mark indicates that the cloud consumer is intentionally shielded from the implementation details of the platform.
Platform-as-a-Service (Paa. S) Paa. S products are available with different development stacks. For example, Microsoft Azure provides a. NET-based environment, while Google App Engine offers a Java and Python-based environment.
Software-as-a-Service (Saa. S) A software program positioned as a shared cloud service and made available as a "product" or generic utility represents the typical profile of a Saa. S offering. The Saa. S delivery model is typically used to make a reusable cloud service widely available (often commercially) to a range of cloud consumers. An entire marketplace exists around Saa. S products that can be leased and used for different purposes and via different terms (Figure 1).
Software-as-a-Service (Saa. S) Figure 1 - The cloud service consumer is given access the cloud service contract, but not to any underlying IT resources or implementation details.
Software-as-a-Service (Saa. S) A cloud consumer is generally granted very limited administrative control over a Saa. S implementation. It is most often provisioned by the cloud provider, but it can be legally owned by whichever entity assumes the cloud service owner role. For example, an organization acting as a cloud consumer while using and working with a Paa. S environment can build a cloud service that it decides to deploy in that same environment as a Saa. S offering.
Software-as-a-Service (Saa. S) The same organization then effectively assumes the cloud provider role as the Saa. Sbased cloud service is made available to other organizations that act as cloud consumers when using that cloud service.
Analytics as a service (Aaa. S) refers to the provision of analytics software and operations through web-delivered technologies. These types of solutions offer businesses an alternative to developing internal hardware setups just to perform business analytics.
Technological drivers: SOA Virtualisation Multicore Technology Memory and Storage Technology Networking Technology Web 2. 0, & 3. 0 Software Process Models for Cloud Programming Models Pervasive Computing Application Environment
SOA (Service-Oriented Architecture) Service-Oriented Architecture (SOA) is an architectural style that supports service-orientation. Service-orientation is a way of thinking in terms of services and service-based development and the outcomes of services. A service: � Is a logical representation of a repeatable business activity that has a specified outcome (e. g. , check customer credit, provide weather data, consolidate drilling reports) � Is self-contained � May be composed of other services � Is a “black box” to consumers of the service
SOA (Service-Oriented Architecture)
SOA (Service-Oriented Architecture) A service provider can be in a Cloud or not in a Cloud and a service-oriented architecture (SAO) can involve any combination of Clouds and Non-Clouds.
SOA (Service-Oriented Architecture)
SOA Architectural Style An architectural style is the combination of distinctive features in which architecture is performed or expressed. The SOA architectural style has the following distinctive features: � It is based on the design of the services – which mirror real-world business activities – comprising the enterprise (or inter-enterprise) business processes. � Service representation utilizes business descriptions to provide context (i. e. , business process, goal, rule, policy, service interface, and service component) and implements services using service orchestration.
SOA Architectural Style The SOA architectural style has the following distinctive features: � It places unique requirements on the infrastructure – it is recommended that implementations use open standards to realize interoperability and location transparency. � Implementations are environment-specific – they are constrained or enabled by context and must be described within that context.
SOA Architectural Style The SOA architectural style has the following distinctive features: � It requires strong governance of service representation and implementation. � It requires a “Litmus Test”, which determines a “good service”.
SOA Architectural Style
Virtualization Technology Virtualization is the process of converting a physical IT resource into a virtual IT resource. Most types of IT resources can be virtualized, including: � Servers - A physical server can be abstracted into a virtual server. � Storage - A physical storage device can be abstracted into a virtual storage device or a virtual disk. � Network - Physical routers and switches can be abstracted into logical network fabrics, such as VLANs. � Power - A physical UPS and power distribution units can be abstracted into what are commonly referred to as virtual UPSs.
Multicore Technology Multicore refers to an architecture in which a single physical processor incorporates the core logic of more than one processor. A single integrated circuit is used to package or hold these processors. These single integrated circuits are known as a die. Multicore architecture places multiple processor cores and bundles them as a single physical processor.
Multicore Technology The objective is to create a system that can complete more tasks at the same time, thereby gaining better overall system performance. This technology is most commonly used in multicore processors, where two or more processor chips or cores run concurrently as a single system. Multicore-based processors are used in mobile devices, desktops, workstations and servers.
Memory Technology and Storage Cloud storage is a cloud computing model in which data is stored on remote servers accessed from the internet, or "cloud. " It is maintained, operated and managed by a cloud storage service provider on a storage servers that are built on virtualization techniques. Cloud storage is also known as utility storage – a term subject to differentiation based on actual implementation and service delivery.
Memory Technology and Storage
Memory Technology and Storage Cloud storage works through data center virtualization, providing end users and applications with a virtual storage architecture that is scalable according to application requirements. Cloud storage operates through a web-based API that is remotely implemented through its interaction with the client application's in-house cloud storage infrastructure for input/output (I/O) and read/write (R/W) operations.
Memory Technology and Storage When delivered through a public service provider, cloud storage is known as utility storage. Private cloud storage provides the same scalability, flexibility and storage mechanism with restricted or non-public access.
Networking Technology
Networking Technology Cloud networking (and Cloud based networking) is a term describing the access of networking resources from a centralized thirdparty provider using Wide Area Networking (WAN) or Internet-based access technologies. Cloud networking is related the concept of cloud computing, in which centralized computing resources are shared for customers or clients.
Networking Technology In cloud networking, the network can be shared as well as the computing resources. It has spurred a trend of pushing more network management functions into the cloud, so that fewer customer devices are needed to manage the network.
Networking Technology Wireless LAN Leads the Charge The Wireless LAN market was one of the first to start using a more distributed, cloud-based approach to building private networks using WAN and Wireless LAN connections. Companies including Aerohive Networks, Meraki, and Pareto Networks popularized the use of cloud networking techniques to create large, distributed Wireless LANs that could be centrally managed in the cloud.
Networking Technology Meraki was acquired by Cisco and Pareto was acquired by Aerohive Networks.
Networking Technology Improved Internet access and more reliable WAN bandwidth has made it easier to push more networking management functions into the cloud. This has been one of the drivers of cloud computing services as well as enterprise cloud software. This, in turn, has spurred demand for cloud networking as well, as customers look for easier ways to access to build networks using a cloud-based services.
Networking Technology A standard cloud networking product provides centralized management, visibility, and control of the network. This could include the management of distributed Wireless access routers or branchoffice devices using centralized management in the cloud. The goal is to create and manage secure private networks by leveraging WAN connections and a centralized management function that can reside in a data center.
Networking Technology Connectivity, security, management and control are pushed to the cloud and delivered as a service. Cloud networking is a form of Software Defined Networking (SDN) technology, in which groups of networking switches and access devices can deployed over the wide area as shared, virtual resources. Other terms that describe this shift include Software. Defined WAN (SD-WAN) and Cloud WAN.
Networking Technology Some of the startups pursuing new technology for optimizing connectivity using SD-WAN include Cloudgenix, Pertino, Velo. Cloud, and Viptela.
Networking Technology Software-Defined WAN The basic concept of cloud networking, in which fewer management devices are installed in the branch offices or client premises and more routing and management functions are pushed to the cloud, is now being pursued for a wider range of networking products, which include branch office routers, WAN optimization software, and firewalls.
Networking Technology The use of cloud based networking to manage and deploy network functions across the WAN is also being described as Software Defined WAN (SD-WAN) or Cloud WAN. The trend is broadening, as a wider array of network functions can be deployed using the cloud. The main goal is to free up services from being attached to specific hardware so that services can be deployed more quickly using software over a networking connection.
Web 2. 0 is the current state of online technology as it compares to the early days of the Web, characterized by greater user interactivity and collaboration, more pervasive network connectivity and enhanced communication channels.
Web 2. 0, & 3. 0 One of the most significant differences between Web 2. 0 and the traditional World Wide Web (WWW, retroactively referred to as Web 1. 0) is greater collaboration among Internet users, content providers and enterprises. Originally, data was posted on Web sites, and users simply viewed or downloaded the content. Increasingly, users have more input into the nature and scope of Web content and in some cases exert real-time control over it.
Elements of Web 2. 0 Wikis: Websites that enable users to contribute, collaborate and edit site content. Wikipedia is one of the oldest and best-known wiki-based sites. The increasing prevalence of Software as a Service (Saa. S), web apps and cloud computing rather than locally-installed programs and services.
Elements of Web 2. 0 Mobile computing, also known as nomadicity, the trend toward users connecting from wherever they may be. That trend is enabled by the proliferation of smartphones, tablets and other mobile devices in conjunction with readily accessible Wi-Fi networks. Mash-ups: Web pages or applications that integrate complementary elements from two or more sources.
Elements of Web 2. 0 Social networking: The practice of expanding the number of one's business and/or social contacts by making connections through individuals. Social networking sites include Facebook, Twitter, Linked. In and Google+. Collaborative efforts based on the ability to reach large numbers of participants and their collective resources, such as crowdsourcing, crowdfunding and crowdsource testing. User-generated content (UGC): Writing, images, audio and video content -- among other possibilities -- made freely available online by the individuals who create it.
Elements of Web 2. 0 Unified communications (UC): The integration of multiple forms of call and multimedia/cross-media messagemanagement functions controlled by an individual user for both business and social purposes. Social curation: The collaborative sharing of content organized around one or more particular themes or topics. Social content curation sites include Reddit, Digg, Pinterest and Instagram.
Web 3. 0 is slated to be the new paradigm in web interaction and will mark a fundamental change in how developers create websites, but more importantly, how people interact with those websites. Computer scientists and Internet experts believe that this new paradigm in web interaction will further make people's online lives easier and more intuitive as smarter applications such as better search functions give users exactly what they are looking for, since it will be akin to an artificial intelligence which understands context rather than simply comparing keywords, as is currently the case.
Features of Web 3. 0 1) Semantic Web The next evolution of the Web involves the Semantic Web. The semantic web improves web technologies in order to generate, share and connect content through search and analysis based on the ability to understand the meaning of words, rather than on keywords or numbers. 2) Artificial Intelligence Combining this capability with natural language processing, in Web 3. 0, computers can understand information like humans in order to provide faster and more relevant results. They become more intelligent to satisfy the needs of users.
Features of Web 3. 0 3) 3 D Graphics The three dimensional design is being used extensively in websites and services in Web 3. 0. Museum guides, computer games, ecommerce, geospatial contexts, etc. are all examples that use 3 D graphics. 4) Connectivity With Web 3. 0, information is more connected thanks to semantic metadata. As a result, the user experience evolves to another level of connectivity that leverages all the available information.
Features of Web 3. 0 5) Ubiquity Content is accessible by multiple applications, every device is connected to the web, the services can be used everywhere.
Programming Models Map. Reduce is a popular programming model for processing and performing data intensive tasks on large datasets. It is a Google initiative for handling large scale web content and offers an excellent framework for developing data mining and machine learning applications in data centers. This is actually an implementation of an old idea from parallel computing and programming languages. It allows programmers to think in a data-centric fashion and focuses on applying transformations to sets of data records.
Programming Models
Programming Models Map. Reduce programming model using two components: a Job Tracker (masternode) and many Task Trackers (slave nodes). The Job Tracker is responsible for accepting job requests for splitting the data input, for defining the tasks required for the job, for assigning those tasks to be executed in parallel across the slaves, for monitoring the progress and finally for handling occurring failures.
Programming Models Task Tracker executes tasks as ordered by the master node. The task can be either a map (takes a key/value and generates another key/value) or a reduce (takes a key and all associated values and generates a key/value pair).
Programming Models
Pervasive Computing Pervasive computing is an emerging trend associated with embedding microprocessors in day-to-day objects, allowing them to communicate information. It is also known as ubiquitous computing. The terms ubiquitous and pervasive signify "existing everywhere. " Pervasive computing systems are totally connected and consistently available.
Pervasive Computing Pervasive computing goes past the arena of desktops so that virtually any device, from apparel to kitchen appliances, could be embedded with microchips, connecting these devices to a boundless network of other gadgets.
Pervasive Computing A combination of technologies is used to make pervasive computing possible, such as Internet capabilities, voice recognition, networking, artificial intelligence and wireless computing. Pervasive computing devices make day-today computing activities extremely easy to access. Pervasive computing also has a number of prospective applications, which range from home care and health, to geographical tracking and intelligent transport systems.
Pervasive Computing Ubiquitous computing may be seen to consist of many layers, each with their own roles, which together form a single system: Layer 1: task management layer � Monitors user task, context and index � Map user's task to need for the services in the environment � To manage complex dependencies Layer 2: environment management layer � To monitor a resource and its capabilities � To map service need, user level states of specific capabilities
Pervasive Computing Layer 3: environment layer � To monitor a relevant resource � To manage reliability of the resources
Application Environment A cloud application, or cloud app, is a software program where cloud-based and local components work together. This model relies on remote servers for processing logic that is accessed through a web browser with a continual internet connection.
Application Environment Cloud application servers typically are located in a remote data center operated by a third-party cloud services infrastructure provider. Cloud-based application tasks may encompass email, file storage and sharing, order entry, inventory management, word processing, customer relationship management (CRM), data collection, or financial accounting features.
Application Environment Cloud apps vs. web apps Cloud and web applications access data residing on distant storage. A key difference between cloud and web applications is architecture. A web application or web-based application must have a continuous internet connection to function. A cloud application or cloud-based application performs processing tasks on a local computer or workstation. An internet connection is required primarily for downloading or uploading data.
Application Environment A web application is unusable if the remote server is unavailable. If the remote server becomes unavailable in a cloud application, the software installed on the local user device can still operate, although it cannot upload and download data until service at the remote server is restored.
Application Environment The difference between cloud and web applications can be illustrated with two common productivity tools, email and word processing. Gmail, for example, is a web application that requires only a browser and internet connection. Through the browser, it's possible to open, write and organize messages using search and sort capabilities. All processing logic occurs on the servers of the service provider (Google, in this example) via either the internet's HTTP or HTTPS protocols.
Application Environment A CRM application accessed through a browser under a fee-based software as a service (Saa. S) arrangement is a web application. Online banking and daily crossword puzzles are also considered web applications that don't install software locally.
Application Environment An example of a word-processing cloud application that is installed on a workstation is Word's Microsoft Office 365. The application performs tasks locally on a machine without an internet connection. The cloud aspect comes into play when users save work to an Office 365 cloud server.
Application Environment Microsoft Office 365
Application Environment Cloud apps vs. desktop apps Desktop applications are platform-dependent and require a separate version for each operating system. The need for multiple versions increases development time and cost, and complicates testing, version control and support.
Application Environment Cloud applications can be accessed through a variety of devices and operating systems and are platform-independent, which typically leads to significant cost savings. Every device on a desktop application requires its own installation. Because it's not possible to enforce an upgrade whenever a new version is available, it's tricky to have all users running the same one.
Application Environment The need to provide support for multiple versions simultaneously can become a burden on tech support. Cloud applications don't face version control issues since users can access and run only the version available on the cloud.
References What is Cloud Computing? . (2018). What is Cloud Computing? . [online] Available at: http: //whatiscloud. com/cloud_deployment_models/index [Accessed 24 Jul. 2018]. Techopedia. com. (2018). What is Analytics as a Service (Aaa. S)? - Definition from Techopedia. [online] Available at: https: //www. techopedia. com/definition/29893/analytics-as-a-service-aaas [Accessed 24 Jul. 2018]. Whatis. techtarget. com, (2018). What is Web 2. 0 ? - Definition from What. Is. com [ONLINE] Available at: https: //whatis. techtarget. com/definition/Web-20 -or-Web-2 [Accessed 25/7/2018]. Techopedia. com, (2018). What is Web 3. 0? - Definition from Techopedia [ONLINE] Available at: https: //www. techopedia. com/definition/4923/web-30 [Accessed 25/7/2018]. Expertsystem. com, (2018). 5 main features of Web 3. 0 [ONLINE] Available at: https: //www. expertsystem. com/web-3 -0/ [Accessed 25/7/2018]. Opengroup. org. (2018). Service-Oriented Architecture – What Is SOA? . [online] Available at: http: //www. opengroup. org/soa/source-book/soa/p 1. htm [Accessed 27 Jul. 2018]. Techopedia. com. (2018). What is Multicore? - Definition from Techopedia. [online] Available at: https: //www. techopedia. com/definition/5305/multicore [Accessed 27 Jul. 2018]. Techopedia. com. (2018). What is Cloud Storage? - Definition from Techopedia. [online] Available at: https: //www. techopedia. com/definition/26535/cloud-storage [Accessed 27 Jul. 2018]. SDx. Central. (2018). What is Cloud Networking or Cloud Based Networking? . [online] Available at: https: //www. sdxcentral. com/cloud/definitions/all-about-cloud-networking/ [Accessed 15 Aug. 2018]. Techopedia. com. (2018). What is Pervasive Computing? - Definition from Techopedia. [online] Available at: https: //www. techopedia. com/definition/667/pervasive-computing [Accessed 15 Aug. 2018].
References En. wikipedia. org. (2018). Ubiquitous computing. [online] Available at: https: //en. wikipedia. org/wiki/Ubiquitous_computing [Accessed 15 Aug. 2018]. Ijcsit. com. (2018). [online] Available at: http: //ijcsit. com/docs/Volume%205/vol 5 issue 03/ijcsit 20140503252. pdf [Accessed 15 Aug. 2018]. Search. Cloud. Applications. (2018). What is cloud application? - Definition from What. Is. com. [online] Available at: https: //searchcloudapplications. techtarget. com/definition/cloud-application [Accessed 15 Aug. 2018].
- Slides: 92