There are some good points in this blog post. It is important to remember that, as always, ‘It Depends’. When doing a CRUD transaction, and the DB is a service - then of course you can call the service synchronously via REST while keeping the source request waiting. REST / Message passing / Pub+Sub / Whatever can be used and looked towards when you have a mature service stack.
The blocking/non-blocking points felt a bit out of place. That’s an internal matter, depending how the caller invokes the external service. You can do async REST without blocking the thread or source request, that’s what async/await, callbacks and promises are for (depending on your language). In fact, one of the big benefits of ‘microservices’ is all that stuff internal to each service is isolated. The team responsible for the service structures it the best way for the customer or consumer.