Edge computing is a technique of optimizing cloud computing systems by performing data processing at the edge of the network, near the source of the data in the systems. And, cloud computing is a service that delivers on-demand self-service, broad network access, resource pooling, rapid elasticity or expansion, which is trending in today's technology-driven world. With the advantage of flexibility, storage, sharing, and easy accessibility, cloud is being used by major players in IT (information technology). This chapter highlights cloud/edge computing architecture and its current issues and challenges from technological and organizational aspects. A brief introduction of edge computing architecture with similar technologies along with its service models is discussed. A few counterexamples of cloud computing architecture are showed. Organizational aspects of cloud computing architecture, as well as IBM and Oracle reference cloud architecture, are briefly presented. Some emerging issues and challenges associated with cloud/edge computing on its utilization are also elaborated.
TopIntroduction
Edge computing is a method of optimizing cloud computing systems by performing data processing at the edge of the network, near the source of the data (Lopez et al., 2015). Edge computing refers to the enabling technologies allowing computation to be performed at the edge of the network, on downstream data on behalf of cloud services and upstream data on behalf of IoT services (Shi et al., 2016). Here we define “edge” as any computing and network resources along the path between data sources and cloud data centers (Shi, et al., 2016). For example, a smart phone is the edge between body things and cloud, a gateway in a smart home is the edge between home things and cloud, a micro data center and a cloudlet (Satyanarayanan et al., 2009) is the edge between a mobile device and cloud.
Cloud computing is trending in today’s technology driven world. With the advantage of flexibility, storage, sharing and easy accessibility, cloud is being used by major players in IT. Apart from companies, individuals also use cloud technologies for various daily activities. From using Google drive to store, to Skype, to chat and Picasa web albums, we use cloud computing platforms extensively. Cloud computing is a service provided via virtual networks, especially the World Wide Web (Chandana, 2013). According to the National Institute of Standards and Technology (NIST), these are the fine specific qualities that define cloud computing- on demand self-service, broad network access, resource pooling, rapid elasticity or expansion, measured service (Liu, et al., 2011).
In a cloud computing architecture, all applications are controlled, managed and served by a cloud server. Its data is replicated and preserved remotely as part of the cloud configuration (Seshachala, 2015). Cloud computing architecture refers to the various components and sub components of cloud that constitute the structure of the system. Broadly, this architecture can be classified in to two sections: front end, back end. The front end and back end are connected to each other via a virtual network on the internet. There are other components like middleware, cloud resources etc. that are parts of cloud computing architecture. Front end is the side that is visible to the client, customer or the user. It includes the client’s computer system or network that is used for accessing the cloud system. Back end is used by the service provider. It includes the various servers, computers, data storage systems and virtual machines that together constitute the cloud of computing services (Chandana, 2013).
The cloud computing architecture consists of major actors, their activities, their relationships and functions in cloud computing environment. Application built on cloud architectures are such that the underlying computing infrastructure is used only when it is needed, draw the necessary resources on demand, perform a specific job, then relinquish the unneeded resources and often dispose them after the job is done. The various cloud-based services have their own distinct and unique cloud architectures: Software as a Service (SaaS) involves software hosted and maintained on internet. With SaaS, users do not have to install the software locally, Development as a Service (DaaS) involves web based development tools shared across communities, Platform as a Service (PaaS) provides users with application platforms and databases, equivalent to middleware services, Infrastructure as a Service (IaaS) provides for infrastructure and hardware such as servers, networks, storage devices, etc. running in the cloud, available to users against a pay per usage basis (HCL, 2016).
The remaining of the chapter is organized as follows: Section 2 gives brief introduction about Cloud Computing Architecture. Section 3 describes the classification of Cloud Computing Architecture: public, private, hybrid and community cloud. Types of Cloud Architecture like Infrastructure as a Service, Platform as a Service and Software as a Service are presented in Section 4. Organizational aspects of Cloud Computing Architecture are described in Section 5. Finally, Section 6 associates with some relevant issues and challenges in Cloud Computing Architecture.
Figure 1. Edge devices and edge nodes in relation to the cloud (Varghese, et al., 2016)