AppDynamics customers have always benefited from flexibility when it comes to where the AppDynamics Controller is hosted; be it in our SaaS environment managed by AppDynamics, or hosted “on-premises” under the complete control of the enterprise. While it has always been possible to host an AppDynamics Controller in AWS, achieving large scale required effort. Using an AWS-based Controller with an Aurora backend, current benchmarks easily reached the 5M metrics/minute mark with minimal effort.
This solution is a game-changer for on-premises customers who are open to hosting the AppD platform in AWS, as it allows them to run a large-scale Controller without procuring physical hardware. (Update – as of June, 2018 new AppDynamics SaaS customers also use this solution).
So Why Aurora?
High Performance and Scalability
Aurora provides higher performance than MySQL, allowing AppDynamics to scale the Controller to handle more metrics than was previously possible in a cloud environment.
Before Aurora, it took some effort and expense to build a controller at scale in AWS, requiring setting up higher-performance storage behind your database, tweaking file systems, and so on. With AWS and Aurora, we easily start to collect 1M metrics/minute and with minimal effort scale to over 5M metrics/minute and 10K agents. Our Professional Services team can provide guidance for deployments larger than 10K agents.
With AWS, you can start small and scale up as needed, thereby avoiding the risk of underutilizing expensive hardware.
With Aurora, there is no need to worry about database backups, as the Amazon Relational Database Service (RDS) manages this for you. It also handles software-patching and minor upgrades, thus lowering the total cost of ownership.
High Availability and Durability
With the multi-AZ deployment option, Amazon Aurora offers 99.99% availability. Aurora automatically replicates the data across multiple availability zones, and can typically failover to a new instance in less than 30 seconds. The failover process is automatic and seamless, requiring no changes to the Controller itself. It’s possible to failover not only to another Availability Zone, but also to another Region, if needed.
AppD does support High Availability configurations for on-premise deployments, requiring 2 physical machines each with its own storage.If one machine has an issue you can quickly switch to the second system.
In AWS with Aurora, a single machine is utilized to host the Controller application server, which is separate from the Aurora backend. If the application server has an issue, you can spin up another one based on an image as fast as AWS can start the EC2 instance (usually less than 90 seconds).
The benefit: There is no longer a need for a second, barely utilized machine waiting to do something. You can spin-up a new machine on demand, as needed.
Amazon Aurora is highly secure. Network isolation is achieved through the use of an Amazon Virtual Private Cloud (VPC). Aurora also supports encryption for data at rest, with no measurable performance impact.
How Does It Work?
One Click Deployment with CloudFormation
The AppDynamics CloudFormation template provides a comprehensive solution for automating the process of creating the virtual infrastructure required to host a Controller in AWS. With a single button-click, you can create all the security groups, elastic network interfaces, EC2 instances, and virtual infrastructure required.
Installation Using Enterprise Console
Installation of the Controller is done via the AppD Enterprise Console command-line interface (CLI); the installer includes a new option to specify Aurora as the database type.
./platform-admin.sh submit-job –platform-name myplatform –service controller –job install –args controllerProfile=large controllerPrimaryHost=<hostname> controllerTenancyMode=single controllerRootUserPassword=”<password>” mysqlRootPassword=”<password>” controllerAdminUsername=”admin” controllerAdminPassword=”<password>” databaseType=Aurora controllerDBPort=3388 controllerDBHost=”<aurora hostname>”
AppDynamics version 4.4.3 makes it easy to deploy a Controller in AWS with Aurora. This solution offers a host of benefits for AppD customers, including vastly improved scalability, reliability, availability, security and performance. For these reasons, AppDynamics SaaS now leverages Aurora as well.
And with support for large-scale Controllers, the entire AppD platform can now be deployed at scale in AWS, including the Events Service Cluster, EUM Server and other components.
Want to learn more? The product documentation has additional info on this great new capability from AppD.
Himanshu Sharma, co-author, is Senior DevOps Engineer on the AppDynamics Platform team, and lead on the Aurora-backed controller.
Derek Mitchell is part of AppDynamics Global Services team, which is dedicated to helping enterprises realize the value of business and application performance monitoring. AppDynamics’ Global Services’ consultants, architects, and project managers are experts in unlocking the cross-stack intelligence needed to improve business outcomes and increase organizational efficiency.