We chatted with Ryan Alexander, DevOps Engineer at Decision Resources Group (DRG) about his company’s use of AWS and how they automate cloud cost savings. Below is a transcript of our conversion.
Hi Ryan, thanks for speaking with us. To start out, can you please describe what your company does?
Decision Resources Group offers market information and data for the medtech industry. For example, let’s say a medical graduate student is doing a thesis on Viagra use in the Boston area. They can use our tool to see information such as age groups, ethnicities, number of hospitals, and number of people who were issued Viagra in the city of Boston.
What does your team do within the company? What is your role?
I’m a DevOps engineer on a team of two. We provide infrastructure automation to the other teams in the organization. We report to senior tech management, which makes us somewhat of an island within the organization.
Can you describe how you are using AWS?
We have an infrastructure team internally. Once a server or infrastructure is built, we take over to build clusters and environments for what’s required. We utilize pretty much every tool AWS offers — EBS, ELB, RDS, Aurora, CloudFormation, etc.
What prompted you to look for a cost control solution?
When I joined DRG in December, there was a new cost saving initiative developing within the organization. It came from our CTO, who knew we could be doing better and wanted to see where we might be leaving money on the table.
How did you hear about ParkMyCloud?
One of my colleagues actually spoke with your CTO, Dale, at AWS re:Invent, and I had also heard about ParkMyCloud at DevOpsDays Toronto 2016. We realized it could help solve some of our cloud cost control problems and decided to take a look.
What challenges were contributing to the high costs? How has ParkMyCloud helped you solve them?
We knew we had a problem where development, staging, and QA environments were only used for 8 hours a day – but they were running for 24 hours a day. We wanted to shut them down and save money on the off hours, which ParkMyCloud helps us do automatically.
We also have “worker” machines that are used a few times a month, but they need to be there. It was tedious to go in and shut them down individually. Now with ParkMyCloud, I put those in a group and shut them down with one click. It is really just that easy to automate cloud cost savings with ParkMyCloud.
We also have security measures in place, where not everyone has the ability to sign in to AWS and shut down instances. If there was a team that needed them started on demand, but they’re in another country and I’m sleeping, they have to wait until I wake up the next morning, or I get up at 2 AM. Now that we set up Single Sign-On, I can set up the guys who use those servers, and give them the rights to startup and shutdown those servers. This has been more efficient for all of us. I no longer have to babysit and turn those on/off as needed, which saves time for all of us.
With ParkMyCloud, we set up teams and users so they can only see their own instances, so they can’t cause a cascading failure because they can only see the servers they need.
Were there any unexpected benefits of ParkMyCloud?
When I started, I deleted 3 servers that were sitting there doing nothing for a year and costing the company lots of money. With ParkMyCloud, that kind of stuff won’t happen, because everything gets sorted into teams. We can see the costs by team and ask the right questions, like, “why is your team’s cost so expensive right now? Why are you ignoring these recommendations from ParkMyCloud to park these instances?”
We rely on tagging to do all of this. Tagging is life in DevOps.
We talked with Travis Rehl, Director of Application and Engineering at Siteworx, about how his team is using ParkMyCloud in conjunction with Atlassian Bamboo automation in order to improve governance and optimize their AWS cloud infrastructure. Below is a transcript of our conversation.
Can you start by telling us about SiteWorx and what you guys do?
Sure, so Siteworx is a company that does digital transformations for clients, and my particular piece of it is Managed Services Hosting. We host ecommerce and content management systems for clients, generally Fortune 500 Companies or larger. We host specific products in AWS, and we’re moving into Azure as well.
What is your role in the company?
I am the Director of Application and Engineering here at Siteworx. I run the Siteworx services group which includes our hosting department as well as our application development team which supports our “run” phase of an engagement with a client.
Who in your organization is using ParkMyCloud?
We are currently using it for our Siteworx internal infrastructure, both EC2 and RDS, but I have some ideas to add it as a part of our managed services offering.
In the app we have maybe 5 or 6 users. They are team leads or engineering managers who have identified the scheduling that is appropriate for those particular instances and AWS accounts. This gives them the ability to group different servers together by environment levels for different clients. One person from our finance team has access to it for billing and reporting.
My team in particular that is using ParkMyCloud is our engineering and operations group. There are two different teams who are the main ParkMyCloud users: our Operations team is 24/7, our Engineering team is generally 9-5 Eastern. They use ParkMyCloud to reduce costs, and have implemented it in such a way that will give the ability for our Development teams to turn servers back on as needed. If they have a project or demo that is occurring at an off hour, they are able to hit a button through our automation system — we’re using Atlassian Bamboo automation — to turn on the servers and utilize them.
Can you tell us more about that Atlassian Bamboo automation system?
If a team member wants to deploy code to a server during off hours, they will have a button within Bamboo to press to turn the server on via the ParkMyCloud API. Then they can hit a second set of buttons to send their code changes out to it. We utilize the calendar “snooze” function that PMC offers.
What were you looking for when you found ParkMyCloud?
I was looking for a technology that would allow us to optimize and automate our AWS cloud management. Internally, we have an agenda of trying to branch out to as many cloud platforms as necessary. So I was looking into many different services that manage your cloud-based servers and are compatible with different providers. That is when ParkMyCloud was suggested to me by a friend. We started a free trial, and got in touch with you all.
I am all in on ParkMyCloud, and I think we have a lot of use for it and down the road we plan to work with our clients to incorporate into our service offering.
Do you have any other cost control measures in place for AWS?
We evaluate server performance using Trusted Advisor in AWS or other services that say that you could scale down. The issue with those other services is that they are sometimes inaccurate because they use average CPU usage that does not take into account server down time. We try to evaluate and scale down as necessary based on the CPU usage when it is active.
How did the evaluation with ParkMyCloud go?
After we did some initial research on ParkMyCloud and other tools, we got in touch with PMC, started a free trial, did a demo, and a few questions we needed clarified – the entire process took just a couple weeks. The platform is entirely self service, and the ROI is immediate and verifiable.
We sat down with Josh Anton, CEO of X-Mode, a technology app that has been experiencing rapid growth and rising AWS costs. We asked him about his company, what cloud services he uses, and how he goes about mitigating those costs.
Can you start by telling us about X-Mode and what you guys do?
X-Mode is a location platform that currently maps out 5-10% of the U.S. population on a monthly basis and 1-2% of the U.S. population daily, which is about 3-6 million active daily users | 15M to 20M users monthly.X-Mode collect location based data from applications and platforms used by these consumers, and then develop consumer segments or attribution where our customers basically use the data to determine if their advertising is effective and to develop target profiles. For example, based on the number and types of coffee shops a person has visited, we can assume they are this type of coffee drinker. Or a company like McDonald’s will determine if their advertising is effective if they see that an ad is run in a certain area, and a person visits that restaurant in the next few days. The data has many applications.
How did you get this idea, Josh?
We started off as an app called Drunk Mode, which was founded and built while I was at the University of Virginia studying Marketing and IT. After about a year and half our app grew to about 1.5 million users by leveraging influencer marketing via Trend Pie and student campus rep program at 50+ universities. In September of 2016, we realized that if we developed a location-based technology platform we could monetize and capitalize on the location data we collected from the Drunk Mode app. Along with input from our advisors, we developed a strategy to help out other small apps by aggregating their data, crunching it, and packaging it up in real-time to sell to ad agencies and retailers, acting almost as a data wholesaler and helping these small app plays monetize their data as a secondary source of income.
Who’s cloud services are you using and how does X-Mode work?
We use Amazon Web Services (AWS) for all of our cloud infrastructure and primarily use their EC2, RDS, and Elastic Beanstalk services. Our technology works by collecting and aggregating location data based on when and where people go on a daily basis. it is collected locally by iOS and Android devices, and passed to AWS’s cloud using their API gateway function. The cool thing is that we are able to pinpoint a person’s location within feet of a retail location. The location data is batched and sent to our servers every 12 hours and we package it up and license the data out to our vendors. We are processing around 10 to 12 billion location based records per month, and have some proprietary algorithms which make our processing very fast and we have almost no burn on the phone’s battery. Our customers are sent the data daily and we use services like Lambda, RDS and Elastic Beanstalk to make this as efficient as possible. We are now developing the functionality to better triangulate beacons so that we can pinpoint locations even better, and send location data within the hour, rather than within the day.
Why did you pick AWS?
We chose AWS because when X-Mode joined Fishbowl Labs (a startup accelerator run and sponsored by AOL in Northern Virginia), we were given $15,000 in free AWS credits. The free credits have made me very loyal to Amazon’s service and now the switching costs would be fairly high in terms of effort and dollars to move away from Amazon. So even though it’s expensive, we are here to stay and adopting more of AWS’s advanced services in order to improve our platform performance and take advantage of their technology advances.Another reason we stay with AWS is that we know it is going to be there, we previously used another service called Parse.com that was acquired by Facebook and a few years later, they shut down the service, for us performance and stability (the server service existing 10 years from now) are very important to us.
Are you still using AWS credits?
No, we used those up many months ago. We have gone from spending a few hundred dollars a month to spending $25,000 or more a month. While that is a cost, it’s also a blessing in that X-Mode is rapidly growing and scaling. Outside of the cost of people, this is our biggest monthly expense. ParkMyCloud was an easy choice, given 75% or more of our AWS spend is on EC2 and RDS services, and ParkMyCloud’s ability to ‘park’ each service and their flexible governance model for our remote engineering team. So we are very excited about the savings ParkMyCloud will produce for us, along with some of the new design work we will be doing to make our platform even more efficient.
Are there other ways you are looking to optimize your AWS spend?
We believe that we have to re-architect the system. We have actually done that three times given our rapid platform growth, but it is all about making sure that we are optimizing our import/export process. We are running our servers at maximum capacity to help get information to people, and are continually looking to make our operation more efficient. Along with using ParkMyCloud, we are focusing on general platform optimization to make sure we keep costs down, improve performance and innovate at a rapid pace.
What other tools do you use as part of your DevOps process?
Let’s keep in mind we are startup, but we are getting more and more organized in terms of development cycles and have a solid delivery process. And yes, we use tools like Slack, Jira, BaseCamp, Bitbucket, and Google Drive. Everything is SaaS-based and everything is in the cloud, and we follow an agile development process. On the Sales and Marketing side we are solely a millennial workforce and work in office but our development team is basically stay at home dads distributed around the country, so planning and communication are keys to our success. That’s where Slack and Jira come into play. In terms of processes, we are trying to implement a better QA process so we deliver very vetted code to our end users. We do a lot of development planning and mapping each quarter, so all of this is incredibly important to the growth of the X-Mode platform and to the success of our organization.
It’s not hard to start a company but it’s definitely hard to grow and scale a company, so two years later we thought we would discuss trends in cloud computing that shape our growth and vision – what we see and hear as we talk to enterprises, MSP’s and industry pundits on a daily basis. First, and foremost we need to thank our customers, both free and paid, who use ParkMyCloud, save millions a year, and actively engage with us in defining our roadmap, and have helped us develop the best damn cloud cost control solution in the market. And the bloggers, analysts, and writers who share our story, given we have customers on every continent (except Antarctica) this has been extremely beneficial to us.
Observation Number One: the public cloud is here to stay. Given the CapEx investment needed to build and operate data centers all over the world, only the cash rich companies will succeed at scale so you need to figure out if you want to be a single cloud / multi-region, or multi-cloud user. We discussed that in detail recently in this blog and it really boils down to risk mitigation. Most companies we talk to are single cloud BUT do ask if we support multi-cloud in case they diversify (we are, we support AWS, Azure, and Google).
Observation Number Two: AWS is king, duh – well they are, and they continue to innovate and grow at a record setting pace. AWS just hit $4bn in quarterly revenue – that’s $16bn in run rate. It’s like the new IBM – what CIO or CTO is going to get fired for moving their infrastructure to AWS’ cloud to improve agility, attract millennial developers who want to innovate in the cloud, leverage the cloud ecosystem, and lower cost (we will address this one in a bit). We released support for Azure and Google in 2017, and yet 75% or more of the new trials and customers we get use AWS, and their environments are almost always larger than those on Azure and Google. There is a reason Microsoft and Google do not release IaaS statistics. And for IBM and Oracle, they are the way back IaaS time machine.
Observation Number Three: Cloud Cost Control is a real thing. It’s something enterprises really care about, and optimizing their cloud spend as their bills grow is becoming increasingly more important to the CFO and CIO. This is mainly focused on buying capacity in advance (which kind of defeats the purpose of the pay as you go model), rightsizing servers as developers have a tendency to over provision for their needs, turning stuff off when it’s not being used, and finding orphaned resources that are ‘lost’ in the cloud. As 65% of a bill is spent on compute (servers / instances) the focus is usually directed there first and foremost as a reduction there is the largest impact on a bill.
Observation Number Four: DevOps and IT Ops are responsible for cloud cost control, not Finance. Now, Finance (or the CFO) might provide a directive to IT or Engineering that their cloud costs must be brought under control and that they need to look at ways to optimize, but at the end of the day DevOps and IT Ops are responsible for evaluating and selecting tools to help their companies immediately reduce their cloud costs. When we talk to the technical teams during a demo they have been told to they need to reduce their cloud spend or there is a cost control initiative in place, and then they research technologies to help them solve this problem (SEO is key here). Here’s a great example of a FinTech customer of ours and how their cost control decision went down.
Observation Number Five: It’s all about automation, DevOps and self-service. As mentioned, the technical folks are responsible for implementing a cost control platform to optimize their cloud spend, and as such it’s all about show me, not pretty reports and graphs. What we mean here is that as an action oriented platform they want us to be able to easily integrate into their continuous integration and delivery processes through a fully functional API, but also provide a simple UI for the non-techies to ensure self-service. And at the infrastructure layer it’s about what you can do with and through DevOps tools like Slack, Atlassian, and Jenkins, and at the enterprises level with SSO providers such as Ping, Okta and Microsoft, repeating themes over and over again regardless of the cloud provider.
Observation Number Six: Looking ahead, it’s about Stacks. As the idea of microservices continues to take hold, more developers are utilizing multiple instances or services to deploy a single application or environment. In years past, the bottleneck for implementing such groups of servers or databases was the deployment time, but modern configuration management tools (like Chef, Puppet, and Ansible) make this a common strategy by turning the infrastructure into code. However, managing these environments for humans can remain challenging. ParkMyCloud already allows logical groupings of instances for one-click scheduling, but we’re planning on taking this a step further by integrating with the deployment solutions to really tie it all together.
Obviously the trends in cloud computing we touch on have a mix of macro and micro, and are generally looked at through a cost control lens, but they do provide insights into the day to day of what we see and hear from the folks that operate and use cloud from multinational enterprises to startups. By tracking these trends over time, we can help you keep on top of cloud best-practices to optimize your IT budget, and we look forward to what the next 2 years of cloud computing will bring us.