First off, I'm not particularly good at modelling, but this is what I would do. Start by creating the main piece using a profile curve and then going to Surfaces>Revolve (make sure your axis of revolution is set to the y-axis). To create the cylindrical ridge, create a nurbs cylinder and position it where you want the ridge.
The idea here is to create two objects that fit together. You'll need to use Edit NURBS>Intersect Surfaces in order to get surface curves at the exact places of intersection. You'll also need to duplicate the objects (the main piece and the cylinder) because the next step is trimming.
Trim away the parts of the main piece and the cylinder that you don't need using the surface curves from before. Now set the view to show the Trim Edges on the cylinder and the main piece and go to Edit NURBS>Round Tool. Select the trim edges on the cylinder and the main piece and hit enter. This will create a nice tranisitional section between the two surfaces. There you have it.
To render (depending on the size of this object in your scene), you may want to increase the NURBS tessellation at render time. To do this, select the surfaces you have created and, in the Render menu set, go to Render>Set NURBS Tessellation. Under Curvature Tolerance select Highest Quality, and make sure at the top that Apply Tessellation is set to Selected Surfaces. Hit Set and Close and you're good to go.