First you need to have a clear idea of the color pallete you will use.
Convert the image you want to extract the pallete from to indexed color. Use a limited number of colors, like 16.
For this step I used PhotoPaint because I can arrange the resulting pallete by brighness.
Then take a good cloud image. I need a really contrasted one, with different layers of clouds. I used this: https://cdn.pixabay.com/photo/2013/03/29/09/27/cloud-97453_960_720.jpg
Now on PS or whatever program you have, apply a gradient map and start asigning diferent colors across the gradient. Here is my PS on the left and my color pallete as a reference on the right.
Tweek it moving the colors left-right so you have more control on how much color area you want.
Now crop your image.
You can use aditional steps. For example on PhotoPaint you could apply some artistic filter like watercolour to the image, so it looks more like a painting or splashes of paint. But the main Idea is to control the gradient.
Another step would be making a composition of clouds. The impact on the image you posted is on the composition, the diagonals. So, if you solve the composition before the grading is a good start.