Creating a DevOps centric, highly scalable and redundant architecture for MrOwl.com, a social media site
MrOwl, your Community Interest Engine™. Discover, create, collaborate, and share.
Find new interests and get inspired. Organize your content all in one easy place. Join a connected community curated by real people like you.
CHALLENGE: Investing in Cloud Performance
MrOwl.com is a growing platform that allows for the sharing of internet topic playlists between users. Their application was poised to grow rapidly and they knew their existing platform in a traditional datacenter would be unable to keep up with the rapid growth.
Their traditional data center consisted of a few servers running a beta version of their application, there was no deployment automation and redundancy was minimal. In addition to this, MrOwl.com possesses a unique data structure that does not fit within a typical SQL environment. As MrOwl.com grows they wished to be able to have a DevOps focused infrastructure that allows for new code to be deployed seamlessly while maintaining an ease of use, while also being fully Active-Active multi-region.
“I love our Senior DevOps Engineer, he is awesome. He has a great temperament and is able to be calm with me even when I am not.”
said Becky, CTO
SOLUTION: Unparalleled Expertise with AWS Cloud
MrOwl.com engaged Cloudnexa for our expertise in designing highly automated and scalable infrastructures for our clients. When provided with MrOwl.com initial proposed environment we recommended many modifications to increase the efficiency of the proposed architecture, such as utilizing Elastic Beanstalk to assist in creating a DevOps focused architecture and consolidating the database schema for their NoSQL Environment.
Given our experiences Cloudnexa proposed a full active-active multi-region solution with a large amount of automation for the application deployment. MrOwl.com current environment consists of the following:
- A web frontend hosted on Elastic Beanstalk leveraging latency based routing to direct users to the lowest latency frontend environment.
- A web backend hosted on Elastic Beanstalk.
- Multiple independent multi-region MongoDB Replica sets along with nonvoting replica nodes residing in alternate regions to allow for rapid read access to data existing within another region.
- Cloudfront along with S3 to provide static content hosting, allowing for rapid retrieval of objects from edge locations.
- AWS VPC VPN Service to provide connectivity to the existing data center’s Lucene cluster.
"We feel great about our backup and failover solution."
By leveraging the above services Cloudnexa created a highly automated and scalable active-active multi-region infrastructure that will assist MrOwl.com in scaling to millions of users while maintaining a reasonable cost per user ratio by leveraging auto scaling for environment resizes.
MrOwl.com is currently working to implement a CI/CD pipeline into their deployment process. Today the development team archives the application bundle, and deploys the application bundle directly to AWS utilizing the Elastic Beanstalk Command Line Interface. By utilizing AWS Elastic Beanstalk, it allows their application to be automatically deployed to nodes within the auto-scaling group in a redundant manner with the ability to roll back. They’re able to also maintain continuity of their application in a multi-region fashion by deploying to secondary regions during their initial deployment command.
By utilizing Elastic Beanstalk, it allowed their team to significantly cut down their originally time for a deployment, and it is believed that this time will decrease with the implementation of a CI/CD pipeline. Their team will continue working with Cloudnexa to implement further DevOps tools, such as Cloudformation, into their stack to increase deployment efficiency.
Additional Challenges and Requirements
MrOwl.com architecture evolved from its initial state during the time of our initial architecture proposal as we learned of more in-depth use case scenarios. Some examples of this is the following:
- MrOwl.com initially was to leverage individually maintained global user table MongoDB replica sets within each region. Following further discussion, it was deemed that a master global user table and additional MongoDB non-voting nodes within alternative regions would be a simpler configuration while continuing to allow for low latency reads.
MrOwl.com has benefited directly from a strong partnership with Cloudnexa as an AWS Premier Managed Services Partner. Ultimately MrOwl.com leverages a more automated, and scalable environment with the help of Cloudnexa. This allows their team to deploy more rapidly with the knowledge that redundancy exists in place to mitigate failures.