Here's something I did 5 years ago:

My advise for real-time planets with athmospheres and oceans would be:
1. create a ball (planet) and texture it with specular mask for oceans if there's any.
2. create a cloud layer with alpha mask (slighty bigger ball than planet)
3. Use the (inverse) cloud map mask and apply it as a multiplicative second layer to the planet to get the shadow effect clouds are causing on the surface.
4. make another ball for athmosphere haze, bigger than clouds ball, and invert the face normals. Texture it as a additive spherical map that has the athmosphere glow ring map gradient.
...And you're done.
You could use a disc for the 4. but spherical map works better imo and doesn't need to adjusted towards the camera every frame.

My advise for real-time planets with athmospheres and oceans would be:
1. create a ball (planet) and texture it with specular mask for oceans if there's any.
2. create a cloud layer with alpha mask (slighty bigger ball than planet)
3. Use the (inverse) cloud map mask and apply it as a multiplicative second layer to the planet to get the shadow effect clouds are causing on the surface.
4. make another ball for athmosphere haze, bigger than clouds ball, and invert the face normals. Texture it as a additive spherical map that has the athmosphere glow ring map gradient.
...And you're done.
You could use a disc for the 4. but spherical map works better imo and doesn't need to adjusted towards the camera every frame.