How to: ChatOps Cloud Cost Control

How to: ChatOps Cloud Cost Control

The latest time-saving automation to add to your DevOps tool belt: ChatOps cloud cost control. That’s right – you may already be using ChatOps to make your life easier, but did you know that amongst the advantages, you can also use it to control your cloud resources?

Whatever communication platform you’re already using for chatting with your team members, you can use for chatting with your applications and services. And with the increasing rise of ChatOps, that brings us to one of the questions we’ve been getting asked more frequently by our DevOps users: how can I manage schedules and instances from Slack, Microsoft Teams, Atlassian Stride, and other chat programs?  

One of the cool things you can do using ChatOps is control your cloud resources through ParkMyCloud. Learn how it’s done in this quick YouTube demo:

ParkMyCloud has the ability to send messages to chat rooms via notifications and receive commands from chat bots via the API. This video details the Slackbot specifically, but similar bots can be used with Microsoft Teams or Atlassian Stride. There are multiple settings you can configure within Slack to manage your account, including notifications to let you know when a schedule is shutting an instance down. You can also set up the ability to override a schedule and turn the system on from Slack. Watch the video for a brief overview of how to:

  • Set up a notification that uses the Slack type
  • Adjust settings to be notified of user actions, parking actions, policy actions, and more
  • Set up the ParkMyCloud Slackbot to respond to notifications

Once you set up Slack with ParkMyCloud, you’ll be able to do anything you normally would in the UI or API, including snooze and toggle instances to override their schedules, receive notifications and be able to control your account directly from your Slack chat room. The Slackbot is available on our GitHub. Give it a try, and enjoy full ChatOps control of your cloud costs!

Cloud Computing Green Initiatives on the Rise

Cloud Computing Green Initiatives on the Rise

Over the past couple of months, we have seen a lot of articles about the Big Three cloud providers and their efforts to be environmentally friendly and make cloud computing green. What are Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP) doing to make their IaaS services as green as possible? Does moving to the cloud help enterprises with their green initiatives and use of renewable energy?

It seems the cloud providers are focused on using renewable energy like solar and wind to power their massive data centers and are very actively touting that fact.

For example, Microsoft recently announced a new renewable energy initiative, the Sunseap project. This project, Microsoft’s first Asian clean energy deal, will install solar panels on hundreds of rooftops in Singapore, which they claim will generate 60MW to power Microsoft’s Singapore datacenter — making Microsoft Azure, Office 365 and numerous other cloud services. This deal is the third international clean energy announcement, following two wind deals announced in Ireland and The Netherlands in 2017. That’s pretty cool in my book, so kudos to them.

Google made a similar announcement recently, albeit a little more general, where they tout that Google is now buying enough renewable energy to match the power used in its data centers and offices. Google said that last year its total purchase of energy from sources including wind and solar exceeded the amount of electricity used by its operations around the world. According to a recent blog written by Google, they are the first public cloud, and company of their size, to have achieved that feat, so says Urs Hölzle, Google’s senior vice president of technical infrastructure. Now we can’t verify this but let’s take them at face value given the data in the chart below:

One observation we have in looking at this chart – where are IBM and Oracle? Once again, the Big Three always seem to be several steps ahead.

Speaking of, we’ve looked at Microsoft and Google, what about AWS? According to AWS’s self-reports, it seems that they are behind both Google and Microsoft in terms of relying 100% on renewable energy. AWS states a long-term commitment to achieve 100% renewable energy usage for their global infrastructure footprint, and had set a goal to be powered by 50% renewable energy by the end of 2017 (we could not find a recent 2018 update).

Moving to the cloud has many benefits – time to market, agility, innovation, lower upfront cost, and the commitment to renewable energy.! There’s one other way for cloud computing to be more sustainable – and that’s by all of us using fewer resources. In our small little way, ParkMyCloud helps – we help you turn cloud stuff off when it’s not being used, kind of like following your kids around the house and shutting off the lights, your at-home green initiative – you know you can automate that using Nest, right? Saving money in the process? That’s a win-win.

AWS Secrets Manager Makes Security Simpler

AWS Secrets Manager Makes Security Simpler

A few weeks ago, Amazon released their AWS Secrets Manager for public use. This is a very welcome announcement. Despite the fact that everyone knows security and encryption are important in cloud applications and infrastructure, simple security measures are often overlooked. More people and applications use plain-text passwords and hand-modified config files than you would think, often with the mindset that “we’ll secure it later.” This is a big security risk, as anyone with access to the config file now knows the password, so an easy-to-use secret management can be a real game changer.

Generally, secret management requires knowledge, infrastructure, time, and additional complexity to ensure your security needs were met. It also usually involves an additional tool like Hashicorp Vault, Chef Vault, or git-crypt. AWS also has a tool to manage encryption keys called Key Management Service, which some people use for secret management, but is really more suited for encryption and decryption.

Now with AWS Secrets Manager, secrets and credentials can be stored securely, while still being easily accessed from other AWS services. Setup is very quick, and doesn’t require any new instances or installation of software or tools. You also don’t need to know details about encryption or best practices, and the solution is much less complex than most free tools.

So what kinds of things will this service help with? The biggest benefit is for applications and services that have moved to a microservices architecture, where individual pieces of the application that live in AWS are all talking to each other via APIs or message queues. For example, if you’re using Amazon’s RDS service, credentials for your database can be encrypted, accessed via the API or AWS CLI, automatically rotated, and accessed based on IAM policies. There’s also built-in Lambda integration, so you can run scripts to customize things like your secret rotation policy.

Pricing for this service is along the same general lines as other AWS services.  Currently, each secret costs $0.40 to store, and costs $0.05 for every 10,000 API calls to access those secrets.  Considering the time and effort it normally takes for proper secret management, this can be a very cost-effective way to store secrets for use in your AWS environment.

Data breaches happen all the time — in 2018 alone, there have already been breaches involving Facebook, Under Armour/MyFitnessPal, and Saks Fifth Avenue. There is no better time than now to review your system and account security. AWS Secrets Manager is a quick and easy way to implement some security best practices for your microservices-based applications so you and your team can securely store and rotate secrets that might have normally been in plain-text or sitting in a config file. We look forward to implementing this in our own AWS accounts!

How Upgrade Cycles Impact the Cost per Instance in Cloud Computing

How Upgrade Cycles Impact the Cost per Instance in Cloud Computing

I have recently spent an increasing amount of time discussing (arguing) about whether the cost per instance in cloud computing is going up or down. The reason for this is that while objective analysis by reputable third parties shows that computing costs are reducing, what we observe from our own standpoint is that the average cost per instance that customers are managing in the ParkMyCloud platform is actually increasing. Following on from a recent blog by our CTO (The Cost of Cloud Computing Is, in Fact, Dropping Dramatically) we decided to undertake some more detailed analysis to look at this phenomenon.

We identified a cohort of our customers who had been with ParkMyCloud for at least one full year and looked at what happened to their average cost per instance over a one-year time period. What we discovered was that the average cost per instance, as charged by the cloud provider, had indeed increased from $214 to $329 per instance per month for our customers using Amazon, Microsoft and Google clouds – a 65% increase. Set against the backdrop of the reported falling costs of cloud computing, this clearly seems to be an anomaly. Or is it?

Digging a little deeper, we discovered that two-thirds of our customers were spending an increased amount per instance per month over the last 12 months and only one third were paying the same amount or less than before. Interestingly, of those who saw a price increase, one third saw their average cost per instance increase by more than 25%.

So what do we think is happening? One possible explanation is something we will refer to as The Apple Upgrade Syndrome. Each time there is an iPhone upgrade cycle, Apple’s product marketing gurus carefully price the new products — and they also adjust the pricing on their older products. When we walk into the Apple Store to peruse the new offerings, we have a clear choice of either purchasing the previous flagship model at a discounted price, or the new, sexy upgraded model at a price premium. A rational actor should buy the discounted model, which just the day before was hundreds of dollars more. But that’s not what most of us do. What we want is the new model with the additional bells and whistles (e.g. face tracking technology and studio lighting settings for the camera) and are willing to pay the extra. As a result, despite the overall cost of mobile computing falling, your monthly phone bill keeps increasing.

We believe that the same phenomenon is at work in cloud computing when the new generations of instances are released, and the cloud computing buyers decide to trade-up to these new more powerful instances (e.g. more cores, more memory, etc.), despite the fact that previous generations of instances might actually have their prices reduced. So while Amazon, Microsoft or Google might pronounce a “25 percent improvement in price-performance” for a new generation of instances, the reality is that new instances cost more and therefore drive up the monthly spend.

Next, we’ll share a more in-depth analysis that will review the instance types driving these increases. At the end of the day, we are all likely correct. The cost of cloud computing is indeed going down, but the average cost per instance is actually going up.

Application Containerization: Pros and Cons

Application Containerization: Pros and Cons

What is Application Containerization?

Application containerization is more than just a new buzz-word in cloud computing; it is changing the way in which resources are deployed into the cloud. However, many people are still coming to grips with the concept of application containerization, how it works, and the benefits it can deliver.

Most people understand the term “cloud computing” relates to the renting of computing services over the Internet from Cloud Service Providers (AWS, Azure, Google, etc.). Cloud computing breaks down into three broad categories – Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS) and Software-as-a-Service (SaaS) – often called the “cloud computing stack” because they build on top of one another.

The benefits of cloud computing are easily seen at the IaaS level; where, rather than building a physical, on-premises IT infrastructure, businesses can simply pay for the computing services they need as they want them, on demand. The advantages of cost, scalability, flexibility and low maintenance overheads have driven IaaS cloud computing to be a $50 billion industry in little more than a decade.

However, IaaS cloud computing also has its issues. In order to take advantage of the benefits, businesses have to rent virtual machines (VMs or “instances”) which replicate the features of a physical IT environment. This means paying for a server complete with its own operating system and the software required to run the operating system, even if you only want to launch a single application.

Where Application Containerization Comes Into the Picture

By comparison, application containerization allows businesses to launch individual applications without the need to rent an entire VM. It does this by “virtualizing” an operating system and giving containers access to a single operating system kernel – each container comprising the application and the software required for the application to run (settings, libraries, storage, etc.).

The process of application containerization allows multiple applications to be distributed across a single host operating system without requiring their own VM, which can lead to significant cost savings. Whereas previously, a server hosting eight applications in eight VMs would have eight copies of the operating system running in each VM, ten containers can share the same operating system.

In addition to significant cost savings, application containerization allows for greater portability. This can accelerate the process of testing applications across different operating systems because there is no waiting for the operating system to boot up. Furthermore, if the application crashes during testing, it only takes down the isolated container rather than the entire operating system.

One further benefit of application containerization is that containers can be clustered together for easy scalability or to work together as micro-services. In the latter case, if an application requires updating or replacing, it can be done in isolation of other applications and without the need to stop the entire service. The lower costs, greater portability and minimal downtime are three reasons why application containerization has become more than just a new buzzword in cloud computing and is changing the way in which resources are deployed into the cloud.

The Downsides of Application Containerization

Unfortunately there are downsides to application containerization. Some of these – for example, container networking – are being resolved as more businesses take advantage of application containerization. However, container security and complexity are remaining issues, as is the potential for costs to spiral out of control as they often do when businesses adopt new technologies.

The security issue evolves from the process of containers sharing the same operating system. If a vulnerability in the operating system or the kernel is exploited, it will affect the security of all the applications connected to the operating system. Consequently, security policies have to be turned on for every application, with activities other than essential ones forbidden.

Containers also add more operational complexity than you might at first assume, adding more to orchestrate and requiring additional management.

With regard to costs, the risk exists that developers will launch multiple containers and fail to terminate them when they are no longer required. Due to the number of containers being launched compared to VMs, it will not take long for container-related cloud waste to match that of VM-related cloud waste – estimated to be $12.9 billion per year in this blog post.

The problem with controlling cloud spend using cloud management software is that many solutions fail to identify unused containers because the solutions are host-centric rather than role-centric. For an effective way to control cloud spend, speak with ParkMyCloud about our cloud cost management software.