It can be very difficult depending on your services and area coverage.
If your in london for example and want to be number 1 on google for "office cleaning in london" then thats going to be ultra competitive...if you look at the top listings...you will see that the number 1 and 2 have both acquired the services of an SEO agency (footer)....so you really do get what you pay for in a lot of cases.
No guarantees with seo, anybody who can guarantee you a number 1 spot is a liar and will most likely cause damage to your website by using blackhat techniques, which are illegal/unethical techniques to get your site listed, google can spot these.
SEO is ongoing process and they are so many ways/techniques you can use both onsite and offsite, lots of information if you do a google search and you can easily do it yourself, but it takes time, its not a flick of a switch, a lot of new websites are sandboxed, which means your website might not even get listed for around 8 months. (Avoid using Flash!) Google regulary changes its algorithm and just as quick as you got your site up there it can fall even quicker.
www.cleaninghero.com