Over the years, Amazon has become the poster child for all things cloud-related, and for good reason: as one of the initial vendors to embrace the cloud computing paradigm, they were the first to offer widely accessible commercial cloud infrastructure services when it launched EC2 and S3 as part of AWS back in 2006. And now, almost a decade later, the tech giant continues to dominate with a 27% market share of the cloud services market. It's therefore not surprising that for many, Amazon comes to mind first when thinking of cloud computing.
It’s also no surprise that other newer cloud players and even veterans like Microsoft and Google continue to look to Amazon for strategic cues in creating and marketing their own respective cloud services. The basic tenets of cloud computing—infinitely scalable computing resources, available on-demand, created and managed with web services—are inherent in all cloud vendor offerings, but AWS aligns the closest to a services oriented architecture (SOA) that many argue is central to the cloud’s philosophical underpinnings.
Like cloud computing, DevOps is as much about the philosophy of the movement as the technologies and tools that power the processes. Here at UpGuard, we are passionate about DevOps—check out some of our eBooks on the matter– and have built UpGuard to aid development and operations teams in monitoring, tracking, and automating their IT resources. And like Amazon vis-à-vis the cloud, we want UpGuard to come to mind first when thinking about DevOps. So as we continue to work on embedding ourselves into the collective consciousness of the DevOps community, in the interim we’re focusing on building the best tools for configuration monitoring, control and automation.
Integrating UpGuard with AWS
While UpGuard provides powerful monitoring and automation capabilities for EC2 server instances, it doesn’t stop there. You can say that UpGuard, like Amazon (and countless others), has also drank the SOA Kool-Aid. UpGuard was architected based on REST, so integration is a trivial affair. Indeed, both UpGuard and AWS utilize RESTful APIs, so other web services such as S3, CloudSearch, and CloudFront can also be set up to work with UpGuard. Check out our API reference to see how we've implemented REST in UpGuard.
Web services in AWS are RESTful and can be integrated with UpGuard
UpGuard makes the analysis, troubleshooting, and management of cloud resources such as EC2 server instances easy and effective. Setting up nodes for monitoring is a cakewalk—we offer some common node type selections to boot, but the possibilities are virtually endless.In terms of OS platforms, UpGuard works with all flavors offered by AWS EC2, be it Windows or one of the many Linux variants. The proof is in the pudding—go ahead and give it a spin to see for yourself what UpGuard can do.
Amazon AWS and UpGuard comprise a powerful combination of scalable, cost-effective cloud hosting options and sophisticated tools for monitoring and tracking system configurations. From startups to enterprise, firms stand to benefit by implementing the two in conjunction— effectively coupling the best in cloud computing with the premier system of records for DevOps.
Concerned about data breaches?
PrayingMantisLovers exists primarily to serve the interests of a regional group of praying mantis enthusiasts. They subsist entirely on donor support and accept payments on their public website, PrayingMantisLovers.org, which also houses a virtual storefront for peddling wares such as coffee mugs and t-shirts. Since this is the non-profit’s sole vehicle for income-generating activities, maximizing web server uptime and availability is crucial for ensuring PrayingMantisLovers’ fiscal well-being.
The IT manager is using AWS to host the site, as the non-profit is a small organization with big aspirations. They want to be known as the worldwide authority on praying mantises, so despite their diminutive web infrastructure he’s chosen Amazon’s cloud in anticipation of scaling up in the future.
PrayingMantisLovers.org’s EC2 server instances on Amazon AWS.
PrayingMantisLovers.org's web infrastructure consists of two micro EC2 Amazon Linux servers running in tandem: a production instance serving the live site, and a staging server where the web developers test and finalize pages and configurations.
The IT manager currently faces a couple challenges with their current web infrastructure:
- The site has gone down several times in the past few months, and PrayingMantisLovers’ executive director has made it top priority to implement a solution to stay on top of things.
- The staging and production server configurations fall out of sync periodically. This usually happens when the web developers make server configuration changes to staging in order to accommodate development efforts. They do not have access to the production server, so the IT manager has to track the configuration changes in order to accommodate their code once it moves into production.
Because IT operations are run on a shoestring budget, the IT manager has limited resources for acquiring and implementing a solution. Furthermore, he’s weary of contacting the web developers (who work in different time zones) every time server configurations fall out of sync.
A colleague and fellow systems administrator recommends UpGuard as a potential solution, so he decides to try it out for monitoring PrayingMantisLovers’ web infrastructure. Out of the gate, UpGuard’s per node pricing model is music to the IT manager's ears. It allows PrayingMantisLovers to get started with UpGuard inexpensively and scale up monitoring cost-effectively when adding additional EC2 server instances or other AWS components in the future.
Full details on how to set up UpGuard monitoring with SSH can be found here. For this discussion, we've chosen a simple use case to illustrate the ease-of-use and power of UpGuard. We'll be exploring other features in-depth in forthcoming articles.
After signing up for UpGuard, he’s taken to a screen for setting up nodes to be monitored. He selects the “Linux/Unix” option to set up monitoring for the staging/production web servers hosted on AWS EC2.
The next screen displays 3 options for connecting to the server in question: “Agent,” “SSH,” or “Manually Add Node.”
He selects the “SSH” option—this is how he and his staff typically access the servers.
Per Step 3, he connects to the server and runs the command. After it completes successfully, he clicks “continue.” UpGuard then begins scanning the system.
After finishing the scan, the IT manager clicks “View and Compare Scan” to see the results. PrayingMantisLovers.org’s production web server is now being monitored by UpGuard and will automatically be scanned periodically.
He follows the same procedure as above for the staging server. With both now set up to work with UpGuard, the IT manager now can track changes between the two systems.
By selecting a node from the Manage / Nodes pane and choosing another node to compare with, one can view configuration differences between two servers. For example, the IT manager can now compare the production and staging environments to troubleshoot any problems or issues.
UpGuard reveals crucial information regarding different configurations between two systems.
Another of UpGuard's handy monitoring capabilities is the ability to monitor websites. This is also of interest to the IT manager, as he would like high-level notifications regarding critical website issues such as expiring domain names, expiring SSL certificates, and the like. He returns to the screen for setting up nodes by clicking "Add Node,"and this time selects the “Website” option to set up monitoring for the website.
UpGuard’s options for setting up nodes for monitoring.
Selecting this option, he’s taken to a screen for entering additional information about the website node.
Information required for setting up a website node for monitoring.
After clicking “continue,” UpGuard immediately begins scanning the node’s system configuration.
UpGuard scans a website node for monitoring.
The scan completes and presents the options “View and Compare Scan” and “Build Policy from Scan.”
UpGuard successfully completes a scan of a website node for monitoring.
He selects “View and Compare Scan” to immediately see what UpGuard has discovered.
UpGuard’s Manage tab, where information from scanned nodes is viewed.
An item in particular catches his eye: SSL cert expiration. Last year they were caught off-guard with an expired SSL certificate, which halted their ability to collect donations online and sell items in the web store for several days. With UpGuard monitoring these details, he breathes a sigh of relief knowing that this won’t happen again.
Clicking on “wheel view” visualizes the node’s information in a interactive wheel. The web developers often complain of something working in staging, but not in production. Now he can easily identify which scripts are being loaded and compare the two environments for easy troubleshooting.
UpGuard’s wheel view renders information from scanned nodes to an easy-to-understand format.
With UpGuard in place, PrayingMantisLover's IT Manager no longer spends sleepless nights wondering if the web developers' next slew of changes will disrupt website operations. And with automatic monitoring and notifications in place, PrayingMantisLover's IT staff is the first to know when potential problems arise.
In the future we will be looking at how to implement UpGuard in more advanced, enterprise-grade scenarios-- so be sure to check back soon!