One of the most beneficial uses of the Internet of Things (IoT) and Cloud Computing in the digital era is the development of Smart Cities. The traditional urban system, which has been passed down since ancient times, operates in an inefficient and laborious manner, with information between systems not being efficiently transmitted and interconnected. In order to solve these problems, a Smart City System is proposed based on Cloud Computing support and Machine Learning techniques. This research proposes a general architecture with the technical details used to implement a smart city, as well as the algorithms for counting vehicles and predicting possible traffic congestion using LSTM. The results show that the proposed system is fully functional and can be implemented in real-life use cases helping different actors to monitor the environment in real time, as well as the avoidance of traffic congestion in which the prediction through LSTM resulted highly accurate.