A network management system comprising: one or more hardware-based processors; a set of one or more network management system, NMS, applications configured to execute on the processors; a pool of device communication managers, DCMs, each of the DCMs executed by the processors as a software container, and each of the DCMs configured to accept and manage a management session to one of a plurality of managed element within a network; a pool of device operations managers, DOMs, each of the DOMs executed by the processors as a software container, and each of the DOMs configured to present an application programming interface, API, for performing operations on the managed elements according to device identifiers of the managed elements, wherein each DOM and DCM is configured as a separate NMS microservice; an API gateway configured to route remote procedure calls, RPCs, from the DCMs to the DOMs via the APIs exposed by the DOMs and according to device identifiers of the managed elements as specified within the RPCs, wherein the DOMs are configured to establish and maintain a set of persistent application-layer communication sessions from the DOMs to the DCMs, and wherein the DOMs are configured to direct communications from the NMS applications to the DCMs over the persistent application-layer communication sessions according to a mapping between device identifiers associated with the managed elements and network addresses associated with the DCMs, wherein the pool of DCMs and the pool of DOMs is dynamically scalable with respect to the number of software containers executing as DCMs and DOMs, and wherein individual DCMs,, and DOMs can be deployed separately. one or more hardware-based processors; a set of one or more network management system, NMS, applications configured to execute on the processors; a pool of device communication managers, DCMs, each of the DCMs executed by the processors as a software container, and each of the DCMs configured to accept and manage a management session to one of a plurality of managed element within a network; a pool of device operations managers, DOMs, each of the DOMs executed by the processors as a software container, and each of the DOMs configured to present an application programming interface, API, for performing operations on the managed elements according to device identifiers of the managed elements, wherein each DOM and DCM is configured as a separate NMS microservice; an API gateway configured to route remote procedure calls, RPCs, from the DCMs to the DOMs via the APIs exposed by the DOMs and according to device identifiers of the managed elements as specified within the RPCs, wherein the DOMs are configured to establish and maintain a set of persistent application-layer communication sessions from the DOMs to the DCMs, and wherein the DOMs are configured to direct communications from the NMS applications to the DCMs over the persistent application-layer communication sessions according to a mapping between device identifiers associated with the managed elements and network addresses associated with the DCMs, wherein the pool of DCMs and the pool of DOMs is dynamically scalable with respect to the number of software containers executing as DCMs and DOMs, and wherein individual DCMs,, and DOMs can be deployed separately.