Having done my time in "two tier" stacks, I would argue the biggest disadvantage they bring is challenges with testing. This could be unit, integration, or just manual acceptance testing.
Having to spin up a separate environment or mock EVERYTHING leads to testing friction which in turn leads to testing simply not being done. If you stop testing, it's hard to maintain a consistent level of quality with your software, especially as it grows and you bring on new developers.
That being said, I appreciate the turn-key ease of use with services like Parse. If they solve the local development/multi environment issue for testing, I'd be more apt to use something like it and avoid the administrative headache of maintaining a backend infrastructure.
Having to spin up a separate environment or mock EVERYTHING leads to testing friction which in turn leads to testing simply not being done. If you stop testing, it's hard to maintain a consistent level of quality with your software, especially as it grows and you bring on new developers.
That being said, I appreciate the turn-key ease of use with services like Parse. If they solve the local development/multi environment issue for testing, I'd be more apt to use something like it and avoid the administrative headache of maintaining a backend infrastructure.