Interview: How Dealer-FX Saves Sysadmins’ Sanity with Automated AWS Management

Interview: How Dealer-FX Saves Sysadmins’ Sanity with Automated AWS Management

We chatted with Steve Scott, Cloud Infrastructure Manager at Dealer-FX about how they use ParkMyCloud’s automated AWS management to save significant amounts of time and sanity.

Tell us about what Dealer-FX does, and what your team does within the company. 

Dealer-FX provides software solutions to dealerships. Our software is used at the service advisor level – the people that you see when you take your car in. They’re usually behind a monitor that you never get to see and they’re typing away all things associated with your car information, VIN, scheduling information, recall information, etc. Our software controls all of that across many different OEMs, which are the manufacturers, and thousands of dealerships across Canada and the US.

I am the manager of cloud operations here and my team is strictly at the cloud management level, fully invested in AWS. We started using AWS through one of the OEMs we work with and that’s how we got into the cloud a few years ago.

Can you describe more about how you’re using AWS?

We use AWS for all of our testing, development, staging, and production environments. We use it all, from the API level to the functional level with virtual servers and virtual environments – everything we have that’s customer facing resides with AWS today.

Before you started using ParkMyCloud, what challenges did you face in your use of AWS?

One of the biggest things is that we use a lot of servers. When we had somewhere around 400 servers, we started to look into scheduling, both for server maintenance and for things that were only required to be online during certain periods of time. There was no inherent AWS service that was easily configurable for the same function that ParkMyCloud offered.

We’ve been using ParkMyCloud for a few years for automated AWS management to schedule resources on and off. Our code is in a period of transition from legacy to more cloud native, so we don’t have the resources to use some of the more cost-effective offerings from AWS like reserved instances, but we’re getting there. ParkMyCloud is certainly helping us, as we rely on it for scheduling server maintenance, staging, testing, and development environments.

How did you find ParkMyCloud?

I was bugging our AWS rep for some type of scheduling functionality. They could do it, but it would have taken a lot of work, and it was kind of iffy whether or not it would work for us. He directed me to ParkMyCloud.

Do you see yourselves using more cost efficient resources like Reserved Instances in the future?

I wouldn’t say that exactly. One thing we will look into is more autoscaling functionality. We do all of that manually, except ParkMyCloud sets up the scheduling and does that beautifully. We currently use ParkMyCloud scheduling because we have a predictable workload. For example, we might have 8 servers online between a certain number of hours, and after a period of time bring it down to 7, then 6, and so on depending on the environment, and then bring them back up again the next day.

In the future, as we build new apps, we’ll still be utilizing ParkMyCloud as we always have. We have RDS functionality on the horizon, which we know we can also schedule with ParkMyCloud’s automated AWS management.

We also use ParkMyCloud for planning on/off times for our staging environments which are on-demand. We haven’t taken advantage of all the features yet, but we use ParkMyCloud for very strategic reasons, in very strategic places, and it works phenomenally.

How would you describe the benefits that Dealer-FX has gotten from ParkMyCloud?

From the sysadmin perspective, the main reason we wanted ParkMyCloud was the sheer ease of turning servers on and off. Before, we needed to wake up at certain times and do it ourselves, manually turning off and on hundreds of servers. Having to do those things is no one’s cup of tea!

Who was responsible for doing that previously?

It was 2-3 people on my team.

It sounds like that took a lot of time.

It was a significant amount of time, and due to the high volume of deployments and growth over time, it became more and more terrible to administrate. ParkMyCloud is saving us time and sanity all over the place, and it just works. We’ve never had an issue with it. The design is ultimately “set it and forget it.”

Any other feedback? 

I know there’s lots of things on the horizon that we’ll be using as needed, and I’d be happy to receive updates of new features. Any new tools, extensions, or anything you add I would love to hear about.

We’ll be sharing rightsizing shortly, so look forward to that next! We appreciate your time and feedback.

Sounds great! Thanks!

4 Mistakes Cloud Users Make When Purchasing Amazon Reserved Instances

4 Mistakes Cloud Users Make When Purchasing Amazon Reserved Instances

Amazon Reserved Instances are a great way to save money on AWS. Whether you’re looking to save on EC2, RDS, Elasticache, Elasticsearch, or Redshift, there are options to save 30-70% compared to on-demand costs. Many customers know about the opportunity and purchase Reserved Instances, but don’t have a solid execution plan to manage them going forward, resulting in wasted spend. Here are some common pitfalls we see.

Mistake #1: Thinking that once you purchase Amazon Reserved Instances, the work is done

Your journey is just beginning! Amazon Reserved Instances are only as effective as their match to your environment. Your usage will shift to different resource types, and services may be right sized or be revamped. Dev environments will come and go as the team starts and finishes testing new features. It’s essential to continuously monitor your environment to ensure you’re eliminating any wasted spend, as well as identifying growth in usage that opens up opportunities to add additional Reserved Instances to save money.

Mistake #2: Thinking the story ends at EC2

While EC2 is the most common use case for Amazon Reserved Instances, there are 4 other services you need to monitor as well. RDS, Elasticache, Elasticsearch, and Redshift all offer Reserved Instances in one form or another. Users often overlook the savings opportunities Reserved Instances provide for these services. Additionally, did you know that not every server type has a Reserved Instance option for it? By focusing on server types for which you have reservations, and some other simple changes you can unlock additional savings.

Mistake #3: Ignoring AWS’s Pricing Changes

AWS changes prices and you need to make sure that you’re taking full advantage of them. Whether it’s converting Reserved Instances to capture the lower price or knowing what the best savings options are when it comes time to renew your Reserved Instances – you want to make sure you’re on top of all of AWS’s pricing changes when it comes to Reserved Instances.

Mistake #4: Assuming all upfront payments generate equal savings

Amazon Reserved Instances offer partial and Full upfront payment options, which have the potential to save you more – but are you choosing the best ones? Make sure you’re putting your money to work as efficiently as possible by running through various scenarios to identify which mix of reservations is best for you. This will also vary by the service you’re buying Reserved Instances for. In some places, it might be a no brainer to put a little money upfront as your savings are greatly increased. Other scenarios might lead to only a minimal increase in savings.

An Easy Solution to Optimize Amazon Reserved Instances

The key to saving money with AWS RIs is to continuously monitor your Reserved Instances Fleet and test different scenarios to identify the best mix of reservations to save you the most amount of money.

Does all this optimization sound like a lot of work? That’s because it is. Eliminate all of this work by using StratCloud, which manages the buying, selling, modifying and monitoring of all your Reserved Instances. We got tired of spreadsheets and hundreds of individual decisions a month, so we created a Reserved Instance Optimizer. It uses big data analytics to analyze millions of data points to optimize Reserved Instances for maximum savings. Learn more and sign up for your free demo today.

Google Hangouts & Microsoft Teams Integrations for Cloud Server Monitoring

New in ParkMyCloud: we’ve released integrations with chat clients Google Hangouts and Microsoft Teams to make cloud server monitoring easier and integrated into your day. Now, ParkMyCloud users can get notifications when their resources are about to turn on or off, when a user overrides a schedule, and more.

We created these integrations based on popular demand! ParkMyCloud has had a Slack integration since last summer. Now, we’re encountering more and more teams that set themselves up as pure Google or pure Microsoft shops, hence the need. If your team only uses Google tools – Google Cloud Platform for cloud, Google OAuth for SSO, and Google Hangouts for chat — you can use ParkMyCloud with all of these. Same with Microsoft: ParkMyCloud integrates with Microsoft Azure, ADFS, and Microsoft Teams.  

ParkMyCloud notifications in Google Hangouts – note the “view resource” link will take you straight to the resource in ParkMyCloud

Here’s what actions ParkMyCloud admins can get notified on through a chat client for better cloud server monitoring:

  • Resource Shutdown Warning – Provides a 15-minute warning before an instance is scheduled to be parked due to a schedule or expiring schedule override.
  • User Actions – These are actions performed by users in ParkMyCloud such as manual resource state toggles, attachment or detachment of schedules, credential updates, etc.
  • Parking Actions – These are actions specifically related to parking such as automatic starting or stopping of resources based on defined parking schedules.
  • Policy Actions – These are actions specifically related to configured policies in ParkMyCloud such as automatic schedule attachments based on a set rule.
  • System Errors – These are errors occurring within the system itself such as discovery errors, parking errors, invalid credential permissions, etc.
  • System Maintenance and Updates – These are the notifications provided via the banner at the top of the dashboard.

There are a few ways these can be useful. If you’re an IT administrator and you see your users toggling resource states frequently, the notifications may help you determine the best parking schedule for the users’ needs.

Or let’s say you’re a developer deep in a project and you get a notification that your instance is about to be shut down — but you still need that instance while you finish your work. Right in your Microsoft Teams window, you can send an override command to ParkMyCloud to keep the instance running for a couple more hours.

ParkMyCloud notifications in Microsoft Teams

These integrations give ParkMyCloud users a better perspective into cloud server monitoring, right in the same workspaces they’re using every day. Feedback? Comment below or shoot us an email – we are happy to hear from you!

P.S. We also just created a user community on Slack! Feel free to join here for cloud cost, automation, and DevOps discussions.

Cloud User Management Comparison: AWS vs. Azure vs. GCP vs. Alibaba Cloud

Cloud User Management Comparison: AWS vs. Azure vs. GCP vs. Alibaba Cloud

When companies move from on-prem workloads to the cloud, common concerns arise around costs, security, and cloud user management. Each cloud provider handles user permissions in a slightly different way, with varying terminology and roles available to assign to each of your end users. Let’s explore a few of the differences in users and roles within Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform, and Alibaba Cloud.

AWS IAM Users and Roles

AWS captures all user and role management within IAM, which stands for “Identity and Access Management”. Through IAM, you can manage your users and roles, along with all the permissions and visibility those users and service accounts have within your AWS account. There are a couple different IAM entities:

  • Users – used when an actual human will be logging in
  • Roles – used when service accounts or scripts will be interacting with resources

Both users and roles can have IAM policies attached, which give specific permissions to operate or view any of the other AWS services.

Azure RBAC

Azure utilizes the RBAC system within Resource Manager for user permissions, which stands for “Role Based Access Control”. Granting access to Azure resources starts with creating a Security Principal, which can be one of 3 types:

  • User – a person who exists in Azure Active Directory
  • Group – a collection of users in Azure Active Directory
  • Service Principal – an application or service that needs to access a resource

Each Security Principal can be assigned a Role Definition, which is a collection of permissions that they can utilize to view or access resources in Azure. There are a few built-in Role Definitions, such as Owner, Contributor, Reader, and User Access Administrator, but you can also create custom role definitions as well depending on your cloud user management needs.  Roles may be assigned on a subscription by subscription basis.

Google Cloud Platform IAM

Google Cloud Platform also uses the term IAM for their user permissions. The general workflow is to grant each “identity” a role that applies to each resource within a project. An identity can be any of the following:

  • Google account – any user with an email that is associated with a Google account
  • Service account – an application that logs in through the Google Cloud API
  • Google group – a collection of Google accounts and service accounts
  • G Suite domain – all Google accounts under a domain in G Suite
  • Cloud Identity domain – all Google accounts in a non-G-Suite organization

Roles in Google Cloud IAM are a collection of permissions. There are some primitive roles (Owner, Editor, and Viewer), some predefined roles, and the ability to create custom roles with specific permissions through an IAM policy.

Alibaba Cloud RAM

Alibaba Cloud has a service called RAM (Resource Access Management) for managing user identities. These identities work in slightly different ways than the other cloud service providers, though they have similar names:

  • RAM-User – a single real identity, usually a person but can also be a service account
  • RAM-Role – a virtual identity that can be assigned to multiple real identities

RAM users and roles can have one or more authorization policies attached to them, which in turn can each have multiple permissions in each policy. These permissions then work similarly to other CSPs, where a User or Role can have access to view or act upon a given resource.

Cloud User Management – Principles to Follow, No Matter the Provider

As you can see, each cloud service provider has a way to enable users to access the resources they need in a limited scope, though each method is slightly different. Your organization will need to come up with the policies and roles you want your users to have, which is a balancing act between allowing users to do their jobs and not letting them break the bank (or your infrastructure). The good news is that you will certainly have the tools available to provide granular access control for your cloud user management, regardless of the cloud (or clouds) you’re using.

5 Things to Do When You Outgrow the AWS Free Tier

5 Things to Do When You Outgrow the AWS Free Tier

The AWS free tier is a great way to get started using Amazon Web Services — it can be a great boost to individuals, startups, and small businesses. In fact, the AWS free tier was essential to getting ParkMyCloud off the ground when we launched. But of course, this program has limits on what you can use without being charged.

The AWS free tier is designed to give you the AWS experience without the cost, but that also comes with limitations on instance types, storage, hours, and how often you can call operations each month. Of course, all good things must come to an end. If you’ve outgrown the free tier option and are ready to experience the full benefits of AWS, there are a few things you can do to make sure you’re getting the most out of being a paying AWS customer.

#1 Set spending limits

The first thing to consider when your 12 months on forgoing the AWS free tier expire option is the most obvious difference – cost versus no cost. You’re paying for cloud services now, so ensure that you don’t pay more than you intend to.

Use AWS Budgets to create custom cost and usage budgets that notify you when you exceed (or are about to exceed) your budgeted amount. Track budgets by the month, quarter, or year, with custom start and end dates. You can also track costs by services, account, tags, and more, receiving alerts directly to your email or through the Simple Notification Service.

With AWS Budgets, you can also set custom utilization targets for reserved instances including Amazon EC2 instances, Amazon RDS, Amazon Redshift, and Amazon ElastiCache, receiving alerts whenever your usage drops below your set utilization target. To get started with creating and tracking budgets, start from the AWS Budgets dashboard or the Budgets API.

#2 Optimize resource usage

Next, you need to ensure that that budget is only going toward resources you actually need – so cost optimization should be a top priority. You might be overpaying by leaving instances running during non-production times, when you don’t need them. Scheduling stop/start times with automation is an easy way to integrate cost control outside of the AWS free tier.

#3 Set sizing limits

Yet another caveat of cost optimization is right sizing. Besides making sure your instances are turned off when not in use, you should also make a practice of only using as much as you need at a given time, and that’s where right sizing comes into play. Size your workloads according to performance and capacity requirements, both initially and on an ongoing basis to ensure that resources do not end up underused or idle. AWS suggests that you use CloudWatch metrics to get a full view of your environment, and make a habit of right sizing once per month to keep the process smooth, ensure that you’re monitoring costs and keeping track of your billing and usage over time.

See a full list of cost traps to avoid in The Cloud Waste Checklist.  

#4 Plan your tagging structure

As your infrastructure grows, it’s important to manage your AWS resources with an effective tagging strategy. Tagging gives you the ability to attach custom metadata to instances, images, and more. Resources can be categorized by owner, purpose, or environment, helping you stay organized, improve visibility, and keep costs in check.

A good tagging strategy gives you a more accurate model for chargeback and showback and better insight in your usage and spend, but it’s up to you to enforce quality of tagging. Soft enforcement gives users notifications when policies are not followed, and hard enforcement automatically removes resources that are not tagged to align with company standard. According to AWS, organizations that use hard enforcement have a better time ensuring that quality of tagging is enforced.

Learn more about tagging best practices.

#5 Establish governance

Scheduling, right sizing, budget limits, and tagging are all methods of keeping costs optimized after you switch from the AWS free tier to a paid, full-service option. But what do all of these practices have in common? Governance. Clear policies and processes to keep usage, capacity requirements, and billing in check are all part of cloud and cost management, and should remain an ongoing priority as you continue using AWS or any cloud service provider.

For more information and how to plan governance after outgrowing the AWS free tier option, learn about how one software company automates governance.

AWS Reserved Instance Marketplace – Seller’s FAQ

AWS Reserved Instance Marketplace – Seller’s FAQ

As we continue to dive into AWS Reserved Instances, today we want to take a look at the AWS Reserved Instance Marketplace.

Reserved Instances are a great way to save money – unless they don’t get used, and you won’t really know until you get the bill. But just because you’re locked into that contract doesn’t mean that your unused RIs have to be a total waste of money. AWS has given users a place to sell them –  the Reserved Instance Marketplace.

Using the Reserved Instance Marketplace, you can list your reservation for other users to purchase.  Of course, like any online marketplace, there’s no guarantee that you’ll actually sell them, but at least you have a shot at getting some of your money back.

AWS has some solid documentation for all the ins and outs of buying and selling in the Reserved Instance Marketplace, but we decided to highlight answers to some of the questions we most commonly see about how to get started with selling unused RIs. Read our FAQ below.

Selling on the Reserved Instance Marketplace

AWS customers and third-parties are free to use the marketplace to sell unused Standard RIs regardless of length terms or original pricing options.

When is it a good idea to sell unused RIs?

If you’re changing instance types (perhaps for rightsizing or better optimizing the instance type for its load or application), moving regions, your business needs have changed, your capacity needs have changed, or you just don’t need that instance type anymore – use the marketplace.  

How do I become a seller?

To register as a seller, you’ll need to provide bank account and tax information. Once you’ve completed registration, you’ll receive a confirmation email.

Are there any restrictions or limitations to what I can sell?

  • Once you’ve registered as a seller, you’re free to sell any EC2 Standard Reserved Instances as long as your term length has at least one month remaining.
  • Convertible instances cannot be sold in the marketplace.
  • You can sell Standard RIs regardless of the purchasing plan (No Upfront, Partial Upfront, or All Upfront), but in the case of All Upfront – you must have made the full payment before you can sell, and the reservation must be active for at least 30 days before listing. AWS also charges a 12% service fee for upfront pricing.
  • Pricing is flexible – the minimum sale price is $0.00
  • You can’t modify or change a listing once it’s been made, but you can cancel it and create a new one.

What information does AWS share with buyers?

According to US regulations, buyers will be able to see your legal name on the buyer’s statement. In the event that AWS Support is contacted regarding invoices or tax purposes, the buyer may receive your email address to be able to communicate with you directly, along with your ZIP code and country.   

How does selling work?

Once you list the RIs you want to sell in the marketplace, buyers will be able to see them. Instances are grouped by remainder of term length and hourly rate. The cheapest reservations are sold first, followed by the next cheapest, and so on until the buyer’s order is fulfilled. AWS handles the transaction and transfer of ownership. The instances are yours until they’re sold, and once you make a sale, you’ll go back to paying the on-demand rate whenever you use that instance type moving forward.

How do I list my RIs in the marketplace?

There’s a few ways you can list your unused RIs in the AWS Reserved Instances Marketplace. You can sell them all at once, in parts, or by instance type, platform, and scope. You can also cancel your listing, but you won’t get anything back on any portions that have already been sold. There are also several routes you can take for where and how to list your RIs: using the AWS Management Console, using the AWS CLI or Amazon EC2 API, and from the Listing State of the My Listings tab of the Reserved Instances page.

How do I price my RIs in the marketplace?

When selling an RI, the only fee that you can decide on is the upfront fee – the one-time fee that the buyer is charged for purchasing your instance. Usage and recurring fees cannot be specified – the buyer will pay what was charged for the original purchase. The minimum sales price allowed is $0.00 and the maximum you can sell per year is $50,000 (although AWS can grant you permission to sell more on a case-by-case basis).

AWS also sets a default pricing schedule for your listed RIs. Pricing decreases incrementally over a month-to-month period to account for the value of the RI decreasing over time. What you can do, however, is set upfront prices based on the point of sale for your RI (a set price if it’s sold with 5 months remaining in the term, 3 months remaining, etc).

What happens after I make a sale?

You’ll get an email notification anytime an RI has sold, and each day there is any activity on your account, such as creating or selling a listing. Once the buyer pays AWS for your RIs, you’ll get a message to your email account about the sold reservation. AWS sends a wire transfer to the bank account provided, typically 1-3 days from the date of sale, but you won’t be able to receive funds until after AWS has verified the account with your bank, which can take up to 2 weeks. You can also see your sales in the Reserved Instance disbursement report, where you can check the status of everything you’ve listed. Or you can track the status of your RI listings in the console (Reserved Instance > My Listings > Listing State) for a full breakdown of available listings, pending, sold, and canceled.

Conclusion

Reserved Instances can save money on your AWS bill, but can just as easily waste money by going unused. Luckily, the AWS Reserved Instances Marketplace can help by giving you a place to sell your unused RIs. To optimize your existing RIs, be sure to check out our Reserved Instance management solution

Did we miss any of your questions in this AWS Reserved Instances Marketplace FAQ? Let us know!