Thanks for your question. I just answered the same question for the another post, so will use the same response here as well :-)
I can tell you that when we had started to write the book, this was one of the main questions that we were trying to address...in fact we discussed this with many industry leaders who were working in cloud technologies for multiple years and interestingly though everyone articulated the meaning of being 'cloud-native' differently, but they all had some common principles. Based on all that research and our experience in this domain, we have tried to simplify this by defining a Cloud Native Maturity Model (CNMM), which revolves around three axes:
a) Cloud Native Service Adoption
b) Application centric design patterns c) Degree of Automation
So based on the above, any workload/application that's deployed in cloud can qualify to be cloud-native, however the degree to which it's cloud native will depend on how well you are using best practices around those axes. So now coming to your question, enabling an application to follow the microservices principles definitely helps, however that's not the only aspect to truly qualify it to be fully cloud-native. Likewise, using containers helps you in the process, but now with services like AWS Lambda which help you make applications totally serverless is an even more sophisticated option to make your service to be cloud native. In the book, we also talk about 12-factor application design principles which are very important in the context of being cloud-native. So net-net, there's no one technology or cloud service which if used makes you cloud-native, and rather its a combination of multiple aspects (CNMM axes, as mentioned above), which makes your workload to be much more optimal and cloud-native.
Hope this helps and makes you even more excited to read the book :-)