When it comes to running everything yourself you have two options
- Rent hardware / compute in the 'cloud'
- Provide your own hardware and run at a data centre / your house
Option 1 (if you can afford it) is your better option. While this is the most expensive option your monthly bill does include hardware, electricity, internet and in some cases ddos protection. A mid-range to high end service will cost you anywhere from 100$ per month in this regards so may not be suitable for those who don't already have an established community, we discuss this option a in a bit more depth here.
Option 2 is the cheapest option but is does require some additional thought however for one or two people this option may still make the most sense.
- Do you have a suitable internet connection? Firstly run a speed test, this will give you an idea of where your current connection sits. A 50mbps connection for both upload and download should be sufficient for your regular household activities and your Minecraft server, remember your connection is shared between all devices so downloading something on your internet e.g. steam games will reduce the available connection to Minecraft.
- Do you have proper IPv4 addresses? Yes, Minecraft can support IPv6 but it requires all parties involved to also support V6 connectivity. You also need to consider if you have a static IPv4 address.
- Have you considered the overhead to security, power utilisation, heat generated, noise produced and cost of hardware? Protecting the rest of your network can cost you either in man-hours or hardware if you need to purchase additional tools to get operational. This should all be considered before you commit to running things from home.
- 24/7 Availability? If you're not prepared to run a server 24/7 from your home are you players happy with the fact a server will only be online for a few hours a day.
If you do want to host things yourself we have documentation on how to do such things here.