Apache Apex allows streaming applications to run as YARN applications. It defines the application components that interface with YARN, including the Streaming Application Master (StrAM) and StrAMChild processes that execute on YARN containers. The StrAM handles converting the logical application plan to a physical plan, launching and monitoring StrAMChild processes, and coordinating checkpoints. StrAMChild processes host operator instances and communicate via buffers. The lifecycle of an Apex application on YARN involves the StrAMClient submitting the application, the StrAM launching and monitoring child processes, and shutting down upon completion.