The adoption of microservices architecture has taken on great pro-portions due to its benefits and popularization of containers driven tools, such as Kubernetes and Docker. Besides, the development of microservice-based applications is a complex task, specially because they can be composed of multiple heterogeneous parts. In particular, one of the main challenges is how to conduct the microservices autoscaling (i.e., adding or removing resources on demand), while still avoiding resource waste, such as CPU and memory. This paper presents the state of the art of approaches to solve the problem of micro services autoscaling, the main characteristics to be considered as well as the important future directions that need to be still investigated.