We have a project that contain the following major parts:
- Mobile apps (iOS/Android) that can play & broadcast live streams with using Nanostream library + socket module for chat.
- Web frontend website that can play live streams & read chat messages. Web frontend potentially can be upgraded to broadcast streams too.
- API and Admin part build on LAMP technology stack and hosted on the AWS EC2 instance.
- Wowza Streaming Engine 4.2 server is hosted on the separate AWS EC2 instance. It is used by mobile apps to broadcast & play live streams (one-to-many). Everything is working on RTMP format.
- Flashphoner Web Call Server 4 is installed on the same AWS EC2 instance together with Wowza. It's only purpose currently is to re-stream Wowza broadcasts to web browser clients using WebRTC. Potentially it can be used to broadcast browser user streams to Wowza users (mobile apps) and to other browser users.
Now we've faced with the next step when we need to build a scalable system for our project based on above requirements. We have experience with scalable systems based on AWS Beanstalk / S3 / CloudFront / Amazon RDS. But with Wowza we would like to get advice from your side. So please advise what is the correct way to build the scalable system with Wowza & Flashphoner.