Keywords

1 Introduction

The evolution in web and internet technologies have attracted many businesses and governments across the world to opt them because of their popularity amongst people. At the initial stage of governance, the government used to provide their services manually that involve lot of paper works with procedures and formalities [17]. Upon popularity of internet, governments across the world have come together, understood the importance of web and started delivering their services through the internet called “E-Governance”. Today, the usage of E-governance is massive because of its popularity among its various stakeholders. The increased access to services by citizens brings more expectations from government to offer them in optimized manner by applying effective IT innovations [7].

At the beginning of this paper the E-governance and cloud computing are discussed in detail. The later part explains the Openstack cloud architecture along with the proposed model for Cloud integrated E-governance based on Openstack.

2 E-Governance

The E-Governance is developed to improve the transparency in public administration, efficiency, accountability and effectiveness in the government services by using information and communication technologies. It makes communication by exchanging information, providing services and transactional exchange within government organizations, citizens and businesses through internet technologies [1, 5, 17]. The benefits of E-governance are cost reduction in service delivery, increased transparency, less corruption, greater convenience and revenue growth [3].

2.1 Models of E-Governance

The applications in E-Governance are categorized based on its interaction with various stakeholders. The E-Governance is categorized in to following three models [1, 3, 16, 17].

  1. (a)

    Government to Citizens (G2C)

The G2C model makes the interaction between Government and citizens by means of providing different governments services designed for citizens. Some of the popular G2C Services are identity services, revenue services, agricultural services and land services etc.

  1. (b)

    Government to Business (G2B)

The G2B model makes the communication between the government and business organizations by means of various services like payment of taxes, auditing, security, contract management, renewing and obtaining licenses, registration of companies etc.

  1. (c)

    Government to Government (G2G)

In this model the communication happens between the government and other governments. It provide intergovernmental services like revenue management, decision making, fund transfer, resource sharing and law enforcement within the different departments of government.

2.2 Traditional Architecture of E-Governance

The architecture of E-governance is a layered architecture where each layer performs a specific function and provide services to its upper layer. The traditional architecture of E-governance has four layers namely Infrastructure, E-business, E-government and Access layers as shown in Fig. 1 [2].

Fig. 1.
figure 1

Traditional architecture of E-governance

The first layer is Infrastructure layer which is responsible for providing various infrastructural components like hardware, software or network resources for running E-governance portals and applications. The second layer is E-business layer that runs an E-governance applications like CRM, ERP, EAI etc. over the core infrastructure layer and does information storage and processing. It is also responsible for storing and retrieving government data from data warehouse by means of various database management systems and integrates various IT applications together running inside and outside the organization boundary. The third layer is E-governance layer which is responsible for providing various government portals or websites. This layer provide access to various portals of E-governance by using Single-Sign on feature. The fourth layer of E-governance architecture is an access layer which provide different channels through which various stakeholders of E-governance can access the government services seamlessly over the internet.

2.3 Technical Challenges of Traditional E-Governance

Although the architecture of E-governance is looks like simple but has many technical challenges associated with it. Some of the Challenges associated with traditional E-governance architecture are explained as follows [3, 6, 16].

  1. (a)

    Scalability: The traditional architecture has lack of scalability because the infrastructural components used in the architecture has fixed capacity and cannot be scaled beyond certain limit.

  2. (b)

    Disaster recovery: The traditional architecture of E-governance does not have a feature like disaster recovery. Therefore any failure may result into loss of data and services.

  3. (c)

    Application Complexities: In traditional setup the E-business integrates various components together which may generate inter application complexities.

  4. (d)

    Software Licensing: The implementation of traditional architecture involve purchasing of very expensive Software and application licenses that put extra financial burden on government.

  5. (e)

    Expensive implementation: The implementation of E-governance involve purchasing of servers, softwares, infrastructure, manpower and maintenance which makes it very expensive.

Apart from that there are many more challenges like lack of performance, limited infrastructure, difficulties in managing and monitoring the infrastructure, stoppage of services due to insufficient bandwidth, no prediction of number of access requests, cost overhead due to management and maintenance of resources etc.

3 Cloud Computing

The Cloud Computing is an emerging technology, which become popular because of its eminent features over the existing computing architectures.

According to National Institute of Standards and Technology (NIST), one of the most accepted definition of cloud computing is “It is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction” [15, 18].

3.1 Cloud Deployment Models

The cloud computing is classified based in to four deployment models based on its functionality and accessibility [9, 16].

The Public cloud runs over the internet and exclusively managed by Cloud service providers (CSP). The users of public cloud do not have to worry about infrastructure and their maintenance as it is fully managed by CSP. This model follows utility computing where services are available on either subscription or pay-per-use basis. The disadvantage of public cloud is lack of security. Some of the popular public cloud platforms are Amazon web services, Microsoft azure, Google cloud platform, Salesforce etc.

The private cloud is also called in house cloud where services are hosted on internal servers. Therefore the infrastructure of private cloud is completely managed and fully maintained by the organization itself. The private cloud is highly secure than public cloud as local administrators used to write their own security policies for protecting users data and access. The disadvantage of private cloud is huge capital expenditure. Some of the most popular private cloud platforms are Openstack, Eucalyptus, VMware VCloud, Apache Cloud stack, Open Nebula etc.

The Hybrid cloud is made up of two or more private and public clouds which provide benefits of both the clouds. Hybrid Cloud architecture has both on-premises and off-premise servers. The best example of hybrid cloud platform is eucalyptus with Amazon web services [16].

The community cloud is a mixture of one or more public, private or hybrid clouds, shared by multiple organizations together for a common purpose whose objective is same. The popular Community cloud platform is Salesforce community cloud or Google GSuite etc.

3.2 Cloud Service Models

The cloud computing comprises huge plethora of services. The cloud service models define the functionality of services implemented at different level of cloud. The cloud service models are classified in to three service models namely Infrastructure as a Service, Platform as a Service and Software as a Service.

The Infrastructure-as-a-Service (IaaS) can be defined as the use of servers, computing power, storage, network, and virtualization to form a utility like services for users [16]. The IaaS also allow users to manage the lifecycle of virtual machines by creating, deleting, copying, migrating or scaling the virtual machine instances and storages running on servers. The popular IaaS cloud platforms are Amazon web services, Microsoft Azure, Openstack, and Cloud stack etc.

The Platform as a Service provide a web platform for users that allow them to create, deploy and run web applications easily over the readily available platform. The PaaS comprises built-in development tools, middleware solutions, databases, programming languages and APIs to develop the applications quickly and easily. The popular PaaS cloud platforms are Googleapp engine, Cloud foundry, Open shift etc.

The Software-as-a-Service is specifically designed for on demand applications or software delivery to the cloud users. It gives remote access to Softwares that resides on cloud server not on the user’s device. Therefore user does not need to install required Softwares in their local device. The popular SaaS cloud platforms are Salesforce, Microsoft Office 365, and Google GSuite etc.

4 Openstack Cloud Platform

The Openstack is an open source cloud platform used to build IaaS based cloud. It supports multiple deployment models [4]. For proposed architecture Openstack cloud platform is selected because it is easily customizable with lots of features which are not there in other platforms. The conceptual Architecture of Openstack has twelve components shown in Fig. 2. Each component provide a unique service under a unique project name The Openstack services with their respective project name are described below [8, 10, 11].

Fig. 2.
figure 2

Conceptual architecture of Openstack

  1. (1)

    Nova (Compute)

Nova is a Compute component of Openstack used to manage the compute resources from resource pool and to provision the VM instances. To virtualize the resources it uses hypervisors like KVM, XEN, EXSI, HYPERV etc. It manages the lifecycle of compute instances and perform scheduling of virtual machines on demand.

  1. (2)

    Swift (Object Storage)

Swift is used for object level storage that stores and retrieves data objects via a RESTful, APIs. It is highly available, fault tolerant storage that has built in scalability and data replication. It stores objects in to buckets that can be easily scaled to a required extent.

  1. (3)

    Cinder (Block Storage)

Cinder is used to provide persistent block storage for running the instances on OpenStack Cloud platform. It was managed by nova-volumes earlier. It provides end users with a self-service API to request and consume the storage regardless of knowing where it’s been deployed and on which device.

  1. (4)

    Glance (Image Management service)

Glance is used for image management in Openstack environment. It is responsible for storing and retrieving virtual machine disk images as well as operating system images. During the instance creation nova make use of Glance for VM instance provisioning.

  1. (5)

    Neutron (Networking)

Neutron provides advanced networking services to Openstack cloud. Earlier network services were managed by nova itself later on neutron was designed to reduce to the responsibility of nova. For simplicity it provide APIs to define the network and topologies.

  1. (6)

    Horizon (Dashboard)

Horizon is an entry point to the Openstack cloud. It has web-based self-service portal to give access to all Openstack services. It allows users and administrators to manage, automate and provision the instances and other OpenStack services through a customized web portal.

  1. (7)

    Keystone (Identity Service)

Keystone is an Identity service for Openstack cloud which provides authentication and authorization for other OpenStack services. Each Openstack service has an endpoint whose catalog is managed by keystone. It supports multiple authentication mechanisms based on tokens and credentials for accessing the services.

  1. (8)

    Ceilometer (Telemetry or metering service)

Ceilometer is a metering or telemetry service. It collects the data from various components of Openstack and monitors or meters them for billing, scaling and statistical purposes.

  1. (9)

    Heat (Orchestration service)

Heat is used for orchestrating the multiple composite cloud applications by using either native template format or the AWS CloudFormation template format. It supports both REST APIs and a CloudFormation-compatible Query API.

  1. (10)

    Trove (Database as a service)

Trove is a Database as a service in OpenStack cloud platform that has provision to scale and manage the multiple database instances as required by the user. It allows users to create and run relational or non-relational databases without taking the burden of database management.

  1. (11)

    Sahara (Hadoop service)

The Sahara service is used for big data analytics over Openstack cloud. It provides different data processing frameworks like Apache Hadoop, Apache Spark and Apache Storm to process the big data. It can easily and rapidly provision the Hadoop clusters and supports Map-Reduce for processing a huge data sets which can read from or write on to Hadoop distributed file system.

  1. (12)

    Ironic (Bare metal provisioning service)

Ironic is a bare metal provisioning service which is integrated in OpenStack to provision the bare metal machines instead of virtual machines.

5 Proposed Openstack Architecture for E-Governance

The Openstack is a highly customized cloud platform with wide variety of components. It allows to modify the functionality of each component as per the requirement. Therefore it is been selected for implementing the proposed architecture because of its uniqueness as compared to other cloud platforms. The proposed architecture for E-governance is categorized in to five distinct layers. It uses Bottom Up approach where each underlying layer provide services to its upper layer (Shown in Fig. 3). The functionalities accumulated in each layer directly benefits the E-governance solution with new features which make it more appealing than the other architectures. The layers of proposed architecture are explained as follows.

Fig. 3.
figure 3

Proposed cloud based E-governance architecture using Openstack

Layer 1 - Core Infrastructure Layer

The Bottom layer of proposed architecture is Core Infrastructure Layer that deals with managing and providing infrastructural components like CPU, Memory, Io, network etc. to the cloud integration and management layer for Virtualization. The foundation component of this layer and proposed architecture is a Datacenter [12]. The Datacenter is a massive infrastructure where infrastructural components like compute (CPU & Memory), Storage and networking equipments are installed at a centralized location for the purpose of acquisition, storage and processing a large amount of distributed data along with computations over the network [13]. The network devices like Firewalls, routers, L2/L3 switches, IDS, IPS, and DMZ etc. are massively used for providing high speed fiber connectivity within and outside the data center.

Layer 2 - Cloud Integration and Management Layer

This layer is responsible for acquiring the resources from infrastructure layer to build an open stack cloud on the top of that. Initially the acquired resources like CPU, Memory, Network and IO needs to be virtualized to form a resource pool. It consolidate multiple operating systems in a single machine hardware & run them independently. In Openstack, the virtualization is done via supported hypervisors like KVM, Xen, Hyper v, Lxc etc.

Once Openstack cloud is formed, its services are managed and provided through a dashboard called horizon. It provide web based automation of resources where resources can be easily allotted and released with minimal efforts automatically. The Openstack also supports hyper converged infrastructure provided by layer 1 that has ability to run compute, storage and network together in a single box or it can use separate servers for each function. This layer forms an Infrastructure as a service solution using nova for computing, Swift and cinder for storage and Neutron for networking.

Layer 3 - E-Governance Data Store Layer

This layer runs the data warehouses on the top of Openstack cloud infrastructure constructed at layer 2. It is responsible for storing and retrieving the structured or unstructured data generated by applications in to a database running inside the E-governance data warehouse. For data manipulation it provides different database management systems. The data processing operations are performed by different SQL and NOSQL databases based on the type of data generated by an application.

Layer 4 - E-Governance Application Layer

The E-governance application layer is responsible for running various E-governance websites, web services and applications like ERP, EDI, CRM etc. on the top of Virtual machines provided by layer 2 and databases provided by layer 3. The various E-governance websites can be developed and run by platform as a service solutions over the VM at layer 2. The PaaS can be built by deploying cloud foundry or open shift Virtual machines at layer 2. It allows E-governance application developers to code, test and design the websites or web services over a readymade web platform which has built in development tools, databases, execution engine and middleware solutions without any hassle to install and manage them locally.

The applications of E-governance are managed by centralized Software as a service solutions that provides on demand application delivery over the network. It allow run E-governance applications like ERP, EDI, CRM etc. remotely without installing them in a local machine. The abstraction provided by SaaS make it more secure and fast such that although it runs remotely but appears to be a local. This layer gives the access to application and services to layer 5 through a cloud based APIs.

Layer 5 - Access Layer

This layer deals with providing access to E-governance websites, applications and services to the various stakeholders like citizens, businesses, other governmental departments or government employees through a secure cloud interface. It provide access on various cloud supported devices like mobile, laptop, pc, thin client etc.

The functionality of proposed architecture is controlled and managed by Horizon that allows E-governance cloud administrators to manage the virtual machines, OS images, cloud resources, storage volumes, network services etc. The Keystone is used for securing the access to the applications and websites using multiple authentication mechanisms as well as provide end to end encryption with private/public key management. The accountability for Openstack is provided by Ceilometer which measures the cloud usage and monitor the services.

The proposed architecture is advantageous over the traditional architecture by means of various features. The comparison between traditional and proposed E-governance architecture is given in Table 1.

Table 1. Comparison between traditional and proposed E-governance architecture

5.1 Opportunities Provided by Proposed Architecture

The proposed architecture overcomes the technical challenges of traditional E-governance architecture by integrating the cloud layer. The propose architecture address the scalability issue by providing a resource pool which fulfills the requirement of applications, the built-in disaster recovery in cloud computing allows to recover data and services in case of failure due to natural disaster, the software license cost is reduced due to the virtualization of software resources and application complexities are reduced with independent implementations. Apart from that, there are many opportunistic services offered by proposed architecture which were not there in its existing implementations. Those services are collectively called as XaaS [14]. The Featured services provided by proposed system are given as follows.

  1. (1)

    Infrastructure as a Service (IaaS): For E-governance this service can provide compute, storage and network resources for running the virtual machine instances with no limit.

  2. (2)

    Platform as a service (PaaS): This service allows E-governance developers to host or run their websites, web services, databases and middleware solutions on readymade cloud platform without installing them in local machine.

  3. (3)

    Software as a service (SaaS): This service allows E-governance providers to use on demand application delivery. It allows to host their Softwares like ERP, EDI, CRM solutions on cloud server and deliver them remotely.

  4. (4)

    Database as a Service (DBaaS) using Trove: It allows E-governance developers to use readymade structured and unstructured databases for their various applications.

  5. (5)

    Big data as a service (BDaaS) using Sahara: This service provides a readymade Hadoop clusters to store, process and analyze a Big data using HDFS and map reduce.

  6. (6)

    Load balancing as a Service (LBaaS) using neutron: Load balancing as a Service can be used in E-governance to improve the performance and speed of access by equally distributing the tasks or load across multiple servers or virtual machines running inside the data center.

  7. (7)

    Benchmarking-as-a-Service (BaaS): In E-governance this service can be used to test the performance of various components in open stack environment. It uses Rally tool for benchmarking the various resources.

  8. (8)

    Security as a service (SECaaS): This service allows to protect the E-governance applications and services by means of built-in security mechanisms like Identity and access management, authentication, authorization, encryption, cloud based anti-virus, anti-malware/spyware, built in intrusion detection tools, Cloud firewalls, Penetration testing tools and security event management Softwares.

  9. (9)

    Networking as a Service (NaaS): It allows E-governance to use basic networking services like IPTables, NAT, Firewall, Routing plus advance features like Network functions Virtualization (NFV), Software defined network (SDN) and Open flow over the Openstack cloud platform.

  10. (10)

    Disaster Recovery as a service (DRaaS): Disaster Recovery as a Service (DRaaS) for OpenStack Provides protection for applications and services (VMs, images, volumes, etc.) in case of failure due to the natural disasters like flood, earthquake etc.

  11. (11)

    Monitoring as a Service (MaaS): This feature allows E-governance to monitor the cloud services using monitoring tools like Ganglia, Zabbix, Nagios and Ceilometer

  12. (12)

    Devops: Devops provides integrated tools for software development and operations under one roof. Openstack supports wide variety of open source Devops tools like Docker, Ansible, puppet, chef, vagrant, Jenkins, Nagios etc. Devops integrated Openstack will be a biggest gain for E-governance that allows their application developers and operation teams to work together for faster building, deploying and monitoring of applications over the cloud.

  13. (13)

    Autos scaling: The auto scaling feature of Openstack allows E-governance applications to be scaled automatically when load increases to avoid the stoppage of services. The autos calling is provided by heat which scales up when number of user hit increases and scales down when there is no load on servers.

  14. (14)

    Supports Software defined data center (SDDC): The Openstack cloud supports concept of Software defined data center that allows E-governance implementers to virtualize the whole infrastructure and delivers as a service. It virtualize the resources and automate all data center operations through a software interface that involves abstraction, pooling, and automation of resources.

  15. (15)

    Supports Hyper converged Infrastructure: The Openstack can run on commodity hardware as well as it can run on hyper converged Infrastructure. The hyper converged infrastructure allows E-governance implementers to tightly integrate compute, storage and network resources of Openstack together in a single servers to minimize the hardware compatibility issues, reduce cost and simplify the management.

5.2 Challenges of Proposed Architecture

With some opportunities, there are some challenges exists in proposed architecture which are given as follows.

  1. (1)

    Complex Architecture: The Openstack poses a complex architecture as it has too many components in its architecture. The functionality of each component is dependent on other components that makes it more complex.

  2. (2)

    Required proficient administrator for Management: The Openstack requires a proficient administrator to manage and administrate the cloud services.

  3. (3)

    Required expert for customization: In Openstack, the customization of services is not an easy task. It can only be done by experts who understands the core functionality of each component.

  4. (4)

    Difficult to understand for novice: The Openstack is very difficult to understand to the novice users who don’t know have knowledge of Linux operating system and its services.

  5. (5)

    Rely on Community support: Sometime the developers have to rely on community and forums for support if they stuck somewhere.

6 Conclusion

This research paper has covered the basics of E-governance along with the challenges in traditional E-governance architecture. The cloud computing is an emerging technology which can be used to address those challenges by its integration in existing system. There are many cloud platforms are available but openstack is chosen in proposed model because of its key advantages over other platforms. The proposed openstack based cloud enabled E-governance model has five layer that address the challenges in E-governance like scalability, application complexity, disaster recovery, software licensing, cost overhead etc. This paper has also described the opportunistic services in proposed model like LBaaS, DBaaS, DRaaS, SECaaS, NaaS, and MaaS etc. along with the challenges in proposed architecture.