For a simple Halo, you can just put a texture on a transparent plane and call it a halo, or model out the halo and give it an emissive material based on a fresnel effect.
For atmospheric rendering of a planet, if you’re looking for realtime rendering, translucent layers are a surefire way to kill your performance. The two most important things are that there is a fresnel-based shading effect on the planet, and a glowing effect around the atmosphere. You can multiply the base color by the fresnel effect (lerped .5-1, so it doesn’t go black) to make the texture brighter at more oblique angles/darker in the core center, and then use a spherical model surrounding the planet with inverted normals so it only renders the backfaces, and use a fresnel shader on that to make it glow with colors. This way, it doesn’t render a transparent shader-hogging layer over the planet, just the glow around the outside and it doesn’t intersect with itself. All shading information regarding anything that touches the surface of the planet would have to be done in the planet shader as there is no transparency over everything: you’d have to fake it.