1. A method of generating an application topology, the method comprising: determining, by one or more processors, a first application profile based, at least in part, on a first network packet; determining, by the one or more processors, a second application profile based, at least in part, on a second network packet; determining, by the one or more processors, a link between a first application and a second application based, at least in part, on address information of the first network packet; generating, by the one or more processors, a topology comprising the first and second application profiles based, at least in part, on the link, the first application profile and the second application profile; and updating, by the one or more processors, the first and second application profiles based, at least in part, on matching the first application profile and second application profile with an application deployment template.