Project Objective: Improve performance, reliability, and security of Total Webcasting Platform by migrating to Amazon Cloud Infrastructure
Project Background: Total Webcasting offers high-quality, affordable webcasting services and content management systems (CMS) to businesses, nonprofits and educational institutions wishing to stream live and recorded content.
Due to the nature of live streaming critical content and live events, the reliability and availability of the Total Webcasting platform is critical to its clients. Total Webcasting cannot risk having its system go down - Ever. Client content must be delivered seamlessly and without failure, regardless of how many people log on to a webcast at a given time.
Like other software systems hosted on “Iron” servers, the scalability of the system during peak performance time requires substantial dedicated infrastructure and the costs associated with that. The waste associated with reserving large infrastructure for small windows of high usage delivery simply doesn’t make financial sense. To effectively deliver the needed horsepower to their system during peak loads, it became critical that Total Webcasting incorporated a more modern, reliable and scalable approach.
Total Webcasting partnered with Troy Web Consulting to bring the system to a cloud-based infrastructure with more features and the ability to scale on-demand, to meet growing availability needs and sporadic high demand periods.
The Challenge: Cloud infrastructure is built on the concepts of simplification - but simple doesn’t mean easy. In fact, like all good architecture, incorporating simplicity and elegance into a design takes work - but it is work that is worth doing because the resulting simplicity allows for much more efficient and effective management. Migrating the Total Webcasting platform, including its content management engine, Total Asset Manager (TAM), involved careful planning and a comprehensive look at what cloud services could be leveraged that would offer the most value. Given the technology stack of the Total Webcasting platform, Amazon Web Services (AWS) was selected as the cloud service provider. Specifically, the following features of AWS were part of the design:
Elastic Cloud Computing (EC2) - these are the server “instances” that would provide the core application services for the system. Migrating the application to EC2 instances is one of the easiest activities in cloud migration.
Virtual Private Cloud (VPC) & Elastic Load Balancer (ELB) - Critical to providing the ability to “scale up” on-demand, VPC provides a more secure network layer and ELB provides a “front end” to the application that orchestrates a load of high demand usage across multiple EC2 instances, including those that “spin-up” on-the-fly during high demand. Migrating to the cloud does not give you scaling unless you design a load balancer upfront to route inbound traffic and from a security perspective, you should usually set that up on a VPC.
Elastic File System (EFS) & Simple Storage Service (S3) - once you incorporate multiple servers to handle high demand load, you need a way for those servers to be able to quickly access files that are shared across the server instances. EFS provides shared drive mounts to solve this part of the scalability puzzle and S3 is dirt cheap reliable disk storage.
Relational Database Service (RDS) - no web application would be complete without a database - and Amazon’s RDS creates a simple, maintenance-free “wrapper” to traditional database infrastructure such as MySQL. Think of it as hiring a virtual Database administrator for pennies a day.
Simple Email Service (SES) - one of the most common areas of cloud migration that needs to be addressed is how an application sends email notifications. Often applications use internal email servers that can easily get blacklisted and identified as SPAM bots. For this reason, Amazon frowns on EC2 instance sending email directly - lest the EC2 IP blocks become (mis)identified as SPAM agents. AWS wraps-up the service of sending emails via it’s SES offering - making the management of outbound emails headache-free and reliable in ways that are next to impossible on most budgets prior to cloud services
Route 53, ElastiCache & Cloudfront - these AWS services provide DNS, caching and a Content Delivery Network (CDN) infrastructure to allow the most efficient streaming of content. While critical to live-streaming systems like Total Webcasting, these services provide high-performance capabilities to web applications of all shapes and sizes and a CDN is the #1 solution to prevent Distributed Denial of Service attacks.
Although the majority of the “code” behind the Total Webcasting Platform is portable to the amazon cloud servers (EC2), leveraging these features that bring “simplicity” to the architecture required modifications to the core code - the most obvious one being changes to how email messages were sent.
Troy Web Consulting worked with Total Webcasting stakeholders to develop a plan to migrate the existing application and infrastructure to the Amazon Web Services (AWS) cloud. The project included:
Reviewing system architecture to identify key areas of the software that needed to be refactored to leverage AWS services.
Designing and configuring a containerized virtual development environment as well as production and staging environments in the AWS cloud.
Working with the Total Webcasting team to make changes to the application code in preparation for the migration. This included establishing a Secure Software Development Lifecycle (SSDLC) process for team collaboration, code reviews, QA & security testing as well as continuous integration processes for deployment.
Deploying and assisting Total Webcasting with post-production maintenance and monitoring.
Business Impact: This migration provided a way for Total Webcasting to scale availability of its web application resources vertically and horizontally during times of heavy traffic. As a result, failover capabilities (the ability to automatically switch to a reliable backup in case a primary server, application, system or other component fails) were improved, eliminating or reducing the impact on users if a system failure occurs. Migrating to the cloud allowed for greatly needed improvements including:
Scalability: Total Webcasting now benefits from increased resources during times of heavy load and reduced resources during slower periods.
Improved performance: The system can now tolerate failure of a component and still run seamlessly.
Increased security: Auto backups and failback support offer a greater sense of security for Total Webcasting and its clients.
Cost savings: The company only pays for what it needs when it needs it
“The cloud migration provides a facelift to a system that provides virtually every option a customer could need, from registration to interactive transcripts,” says Robert Feldman, president of Total Webcasting. “We’ve added new automation for scaling and delivering the best experience for the end user.”
Troy Web Consulting is the software application development partner of choice for companies that want to optimize their business processes and customer experiences with efficient, secure and reliable software application solutions. Whether you need to update and integrate legacy systems with leading-edge technologies or design and build custom application solutions from the ground up, Troy Web Consulting is the team to rely upon.
Whatever your software application needs, we are a fully committed, energetic team of kick-ass analysts, designers, developers, and project managers with one goal in mind -- helping our clients and their products shine.