Designing a Smart City Internet of Things Platform with Microservice Architecture