There are a few different ways to submit your podcast to iTunes and Spotify. If you're willing to pay a few dollars a month, then I highly suggest you simply use one of these 3rd party-hosted solutions. They're all pretty good and easy to use.

The Managed Solution

The Self-Hosted Solution

The self-hosted solution requires a little bit more work but may be worth it if you have specific goals. I went through the excercise of providing a self-hosted solution and below are my steps.

Here is the stack I developed using only Amazon Web Services. This stack allowed me to reduce to cost of managing a reliable, scalable service to $0. I did have to pay some money but it was only to create multiple renditions for syndication.

  1. AWS S3 for media storage.
  2. AWS CodeCommit for git storage and CodeDeploy for delivery.
  3. AWS CloudFront for Content Delivery and caching.
  4. AWS Lambda for software automation.
  5. AWS Elastic Transcoder for media renditions.
  6. AWS Quicksight for reporting.

Step 1 - Upload your podcast files

I chose to upload my podcasts to Amazon Web Services S3. AWS is very affordable and if you attached CloudFront to serve as a CDN, then you'll be able to easily scale.

If you want to go one step further, I created an automated process that allows you to upload a high resolution WAV file to one S3 bucket and get a suite of renditions including MP3 and MP4 in less than 5 minutes. Here are the steps on how to create renditions using Elastic Transcoder.

Step 2 - Create an RSS feed

Although I have 20 years experience writing HTML, I would never attempt to create my own XML feed. It just doesn't make sense because the likelihood for mistakes are high. Therefore, I decided to use Feeder 3 for Mac OS. It's a desktop app that makes it easy to create RSS feeds as well as Podcast feed specifically designed for iTunes.

Feeder is fantastic. The apps philosophy acknowledges that were you store your mp3 / mp4 files might not be in the same server where you store your RSS feed. Therefore, I have my podcasts in one S3 bucket that is linked to AWS Cloudfront and my podcast.xml file within another S3 bucket.

The service works well with AWS S3 buckets as well as FTP.
feeder3-various-services

You can also create custom attributes for your feed.
feeder-custom-attributes

The app also makes it easy to create custom HTML for your podcast descriptions. Note: Apple iTunes does not recognize HTML within a podcast description so please be very careful with how you use this "feature".

feeder-custom-descrition

Step 3 - Publish your RSS feed to your server

I chose to publish my rss feed to /rss/podcast.xml.

I also had to create a Lambda function that will clear my CloudFront cache whenever I publish an update. I suggest reading this Github snippet for an idea on how to do that.

Step 4 - Submit your RSS feed to Feedburner

Feedburner offers a few excellent tools that are free of charge. Those tools include analytics and feed customization.

feedburner-analytics

feedburner

Step 5 - Submit Requests to Podcast Platforms

Using the Feedburner URL, I then submitted my new feed to iTunes.

Apple Podcasts

Spotify

I also submitted the same feed URL to Spotify.

Stitcher

Google Podcast Publisher

iHeart Radio

TuneIn