No you can't create a new "web application" in SPO. You can create a new Site collection only. It can be either under /sites
or /teams
path only.
There is only one "web application" and it is https://tenantname.sharepoint.com
. It is also the root site collection.
To create new site collection you can run below powershell:
New-SPOSite -Url https://tenantname.sharepoint.com/sites/mysite -Owner [email protected] -StorageQuota 1000 -Title "My new site collection"
Reference - New-SPOSite
You also need to install the SharePoint online powershell to run this command.
Download link - SharePoint Online Management Shell
You can also do this via UI.
Go the admin center. You must have global admin or atleast sharepoint admin rights. Click on New > Private site collection. Fill up the details and it will create a new site collection.
Url of admin center:
https://tenantname-admin.sharepoint.com

Using CSOM:
Install SharePoint Server 2013 Client Components SDK
After that you can create site collections via console application after adding the necessary DLLs.
using Microsoft.Online.SharePoint.TenantAdministration;
using Microsoft.SharePoint.Client;
using System;
using System.Security;
namespace CreateSiteCollections
{
class Program
{
static void Main(string[] args)
{
//Open the Tenant Administration Context with the Tenant Admin Url
using (ClientContext tenantContext = new ClientContext("https://yoursite-admin.sharepoint.com/"))
{
//Authenticate with a Tenant Administrator
SecureString passWord = new SecureString();
foreach (char c in "password".ToCharArray()) passWord.AppendChar(c);
tenantContext.Credentials = new SharePointOnlineCredentials("[email protected]", passWord);
var tenant = new Tenant(tenantContext);
//Properties of the New SiteCollection
var siteCreationProperties = new SiteCreationProperties();
//New SiteCollection Url
siteCreationProperties.Url = "https://yoursite.sharepoint.com/sites/codesite";
//Title of the Root Site
siteCreationProperties.Title = "Site Created from Code";
//Email of Owner
siteCreationProperties.Owner = "[email protected]";
//Template of the Root Site. Using Team Site for now.
siteCreationProperties.Template = "STS#0";
//Storage Limit in MB
siteCreationProperties.StorageMaximumLevel = 100;
//UserCode Resource Points Allowed
siteCreationProperties.UserCodeMaximumLevel = 50;
//Create the SiteCollection
SpoOperation spo = tenant.CreateSite(siteCreationProperties);
tenantContext.Load(tenant);
//We will need the IsComplete property to check if the provisioning of the Site Collection is complete.
tenantContext.Load(spo, i => i.IsComplete);
tenantContext.ExecuteQuery();
//Check if provisioning of the SiteCollection is complete.
while (!spo.IsComplete)
{
//Wait for 30 seconds and then try again
System.Threading.Thread.Sleep(30000);
spo.RefreshLoad();
tenantContext.ExecuteQuery();
}
Console.WriteLine("SiteCollection Created.");
}
}
}
}
Code reference - Create site collections using CSOM