I want to make a tool or wcf service to take backup of SharePoint Online O365 site. I have heard backup/restore is not possible in O365 like on-premise SP.
Where do I start?
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It only takes a minute to sign up.Sign up to join this community
It's true that you don't have the SharePoint Server nor the SQL Server options for backup/restore of your choice. But Microsoft backup everything on Site Collection level and keeps them for two weeks. You can raise a service request and get a restore of your site collection in a RPO fashion.
Besides this there are alternative Restore options in SharePoint Online from the use of the classic recycle bin, versioning and 3rd party solutions already available.
But if that's not what you're after, you could always develop a tool yourself by the use of Office 365 REST API. I imagine it would take a while to do it, but it's definitely possible. Start small and make backups by downloading lists and libraries to your on premise backup server on a schedule.
You are not looking for easy option, many 3rd party tools totally depend upon backup / recovery products.
What i am seeing, in order to perform a backup or restore you need more than Site Collection admin rights,to access the backend stuff i.e. run the powershell to take the backup and put the file on the server or shared network location.
Check this How to back-up a Office 365 SharePoint Online site and data, it will tells you how you restore the stuff, may be you need to convert these UI process to scripting.