The Potential of Microservice Architecture for Internet of Things (IoT) in Smart City, a Literature Review

A smart city is a term that is often used in a literature that refers to a city's intelligence. The visions of smart city are to utilize its community resources, improving the quality of its services, and reducing the costs for public administration operations. Internet of Things (IoT) is one of the main keys. To accomplish the visions, IoT needs to standardize the technology and web by developing the platform on a large scale. It is a challenge for the city to build widely distributed applications and platforms on the Web. The Microservice Architecture style comes up and offers a lot of convenience and it becomes a new trend for developing Smart City IoT platforms. Before Microservice Architecture, Service Oriented Architecture was previously widely used. To find out Microservice Architecture’s simplicity and potentials, there are two steps to follow: (1) Setting up a Search Strategy on literature review to collect subset of papers with Google Scholar, (2) synthesizing and compiling a subset of literature review to extract data and information to be a literature view. After some reviews of the literatures, most of them agree with the use of microservices architecture in creating or developing a smart city of IoT because the microservices architecture offers a lot and can help the work of IoT smart city developers.


INTRODUCTION
The high growth rates of Smart City has come as a new tool to overcome city"s problems by utilizing its resources efficiently and delivering the good quality of service for its community.
Smart cities are characterized by the adoption of Information and Communication Technologies (ICT) as an integral part of the city"s infrastructure to support multiple solutions for urban challenges [1]. Internet of Things (IoT), the Big Data, and Cloud Computing Is a key enabling technology of smart cities that offers a variety of opportunities and challenges, both in industry and industry [2], [3].
Internet Of Things (IoT) is one of the technology tools that can be used to develop or create Smart City applications. One of the many challenges that exist in the Internet of Things (IoT) is building software systems and platforms such as the Smart City platform. Many research and standardization efforts have been linked to a variety of IoT communication devices and protocols, as well as the deepest layers of services and frameworks. Despite many good accomplishments and improvements in this field, developing a large scale of IoT systems and platforms that are capable of evolving and adopting standards in new applications still remains challenging.
IoT has now become an industry trend with the supports from major software and hardware vendors, such as Cisco and IBM, new start-ups and SMBs offering commercial platforms to create the emergence of IOT systems. Technology that is always evolving and more advanced requires new approach in building the architecture that evolves over time to time. The need for time efficiency also causes the adoption of Agile development practices, which also causes new challenges and how microservices architecture is developed. The microservice architecture is created from widescale industries, major changes and the capability of maintaining large-scale distributed systems [4].
In this literature review we discuss the style of microservice architecture to create Smart City IoT platform for many applications that have the focus on improving the efficiency of a city. We would like to elaborate the detailed advantages of creating the Internet of Things Smart City platform by applying the microservices architecture approach and to find out whether it is easier to use this approach in creating the IOS platform of Smart City than the Services Oriented Architecture approach We have collected literature sources related to Smart City IoT as well as microservice architecture to create or to design IoT for smart city. We use keyword searches (e.g., Architecture Microservices, Internet of Things, IoT, Smart City, etc.). We searched the literature through Google Scholar that featured a lot of research and other people's papers.
As mentioned before, microservices architecture is a new technique, then we decide to not to delimit the search. Another reason not to restrict the search because it is difficult to find articles that support this paper since there are few people who are aware with microservices, moreover to review microservices architecture effects and approach to the Internet of Things Smart City.

REVIEWING LITERATURE SMART CITY
Smart city, nowadays, has become one of the innovations that are hugely focused in Indonesia. It considered as one of the stages of modernization and adoption of technology to the wider sectors. The visions of smart city are to utilize its community resources, improving the quality of its services, and reducing the costs for public administration operations [5].
Smart city must be using information and communication technology (ICT) to improve the quality, performance and interactivity of its city services, in addition to reducing resource consumption and increasing contact between citizens and government. The smart city application is developed with the aim of improving urban flow management and enabling real time response to challenges [6].
The European Union (EU), in particular, has tried various efforts in devising strategies to achieve urban growth that can be said to be 'smart' for its metropolitan areas. Not only the EU, but other international institutions and thinkers believe in ICT-based development [7].
Here are some important aspects that must be considered to create smart city, they are [8], [9]: The key to the success of smart city is adequate infrastructure. Beside the infrastructure, the existing systems in the infrastructure will produce a variety of information. All information must be processed together in a platform, which aims to control data in real time and manages resources appropriately, so that governments and citizens can interact to each other by using a mobile device or other means.

Management
Professional management must be established, if the infrastructure is already established. It will affect the government and its citizens

Regulation
Regulation is needed to maintain a cooperation that has been established, so that it can run well and sustainable.

Citizen
The main purpose of creating a smart city is for citizens to form a community. Thus, they can live comfortably in such an urban area. Jakarta, Makassar, Bandung, and Yogyakarta are examples of cities in Indonesia that are trying the concept of smart city.

REVIEWING LITERATURE IOT OF SMART CITY
In keeping with the ultimate goal of building smart city, IoT comes up with a concept that can extend the usefulness of internet connectivity to an object [10].
In basic theory, the Internet Of Things (IoT) is a technological concept that aims to improve the usability of continuously connected Internet connectivity. The object can be called as IoT if an electronic object, or any other object is connected to a local and global network through an embedded and active sensors [11].
The way IoT works is by using programming arguments that each command of the argument produces interaction and communication between machines that are automatically connected. The liaison between the devices is the internet.
One of the visions of the IOT is the ability to perform Real-Time Analytics from the various types of collected data. The main challenges of the vision are [12]: 1. How to process events or moments that runs so fast. 2. How to store data flowing into the operational database. 3. How to connect data flow with existing data in operational database.
One example of the use of the Internet of Things in Indonesia, especially for Jakarta Smart City is the CityTouch technology. It is a general city light management system using the web. This technology is used in the monitoring of city lights in real time. What is meant by IoT on this technology is where each light is connected through the cellular network with the managers of the Department of Industry and Energy of DKI Jakarta. So if there is a disruption in the lamp, the officer can handle it without waiting for reports from residents or the existence of routine checks.
In addition, smart city in Jakarta has a location tracker for TransJakarta bus. Global Positioning Satellite (GPS) sensors are installed on TransJakarta buses that aim to monitor the movement of the bus. GPS is also useful for tracking Transjakarta buses in recording mileage, obtained later data will be used as payment information on operator bills. The community can also monitor the movement of TransJakarta bus through Jakarta Smart City portal. TransJakarta in collaboration with Google Maps presents a transit feature that displays real time information about Transjakarta bus locations [13].
Thus, IoT on smart city is located on an object connected by local network or internet that is always active; and in real time, it can provide certain information.

REVIEWING LITERATURE ARCHITECTURE MICROSERVICES FOR IoT
Microservice architecture is a new trend in creating web applications. Emerging as a pattern of real-world experience in building distributed applications, it has no formal definition. Microservices is a style of architecture that plots the architecture of the service architecture and is evolved from the traditional service oriented architecture style [14]. It is also defined in [15] as "the minimal independent process that interacts via messaging", and microservice architecture as "a distributed application where all its modules are microservices".
Microservices Architecture, in general, is useful in terms of developer productivity, vigorousness, problem solving, enhanced agility, reliability, scalability, maintainability and ease of deployment [16].

Componentization via Services
Components are a good practice in software engineering, but to achieve them is often considered challenging. With microservice architecture, it is expected that componentization can be achieved through a service-breaking system, which can be changed independently, renewable, and usable. Components in the microservice architecture interact through the service interface.

Organization around Business Capabilities
When an organization uses a microservice architecture, it will generate cross-functional teams, where each team has the various skills required for a particular business area and prevents the "logic everywhere" architecture from curling.

Smart endpoints and dump pipes
Microservices in exchanging messages with services that maintain the security of their internally domains usually use lightweight communication protocols. Microservices use the communication medium to barely exchange messages.

Decentralized Governance
Microservice architecture relies on components that are used independently. Each service in a system built with this architecture can use its own highly customized technology. This flexibility provides the benefits of choosing the best tools and platforms.

Decentralized Data Management
The microservice architecture enables centralized data processing.

Evolutionary Design
Associated with some of the characteristics described above, evolutionary design is a particular characteristic of microservice architecture in which decomposition is used as a driving force to enable frequent and controlled changes in the system.
When architectural microservice is used to create or develop an IoT smart city, then there will be some of the above characteristics that exist in the IoT smart city. And when implemented will bring a lot of benefits, such as [5], [18]: • Technology heterogeneity, the decentralization of governance and data management that allows the determination of many technologies used with different components of the system. • Resilience and ease of implementation, due to decomposition through services that enable to minimize failure and gradually lower system functionality, as well as to update and to deploy individual services independently. • Scaling, it may allow scaling by functional decomposition By looking at some of the benefits provided by the microservices architecture of an IoT smart city, the developers are now using that approach.
If Jakarta Smart City uses microservices architecture to build or develop IoT (CityTouch), it will be very helpful to developers since if there is problem to one of its features, it will not disturb other features. Suryotrisongko H. dan Ananto P., Potential of Microservice Architechture … 13 So, it can be concluded that the microservice architecture has the following advantages and weakness compared to the previous architecture.

CONCLUSION
Smart city is a city that has a vision to better utilize public resources, to improve the quality of service towards better and reduce public administration operational costs. To realize it, it is suggested that large scale of IoT is needed for the smart city. In the development of IoT, it must have a purpose in order to support the existing standards in the future. Designing large-scale IoTs is a challenge that will be faced by modern websites and clouds today. Therefore, there is a new architecture that can help to design and develop an IoT easily. Microservice architecture, in short, is an approach in developing a good IoT hardware or web-based by dividing the server point that each point of the server can bundle many services. Microservice architecture can help developers in planning any part that will be developed without changing all the system. There are still many benefits provided by microservices architecture in developing or building an IoT Smart City.