Tuesday 28 August 2012

AWS Cost Allocation For Customer Bills

A good new feature by AWS to help customers keep control over costs and well put blog by Jeff...



Growth Challenges


You probably know how it goes when you put AWS to work for your company. You start small -- one Amazon S3 bucket for some backups, or one Amazon EC2 instance hosting a single web site or web application. Things work out well and before you know it, word of your success spreads to your team, and they start using it too. At some point the entire company jumps on board, and you become yet another AWS success story.

As your usage of AWS grows, you stop charging it to your personal credit card and create an account for your company. You use IAM to control access to the AWS resources created and referenced by each of the applications.

There's just one catch -- with all of those departments, developers, and applications making use of AWS from a single account, allocating costs to projects and to budgets is difficult because we didn't give you the necessary information. Some of our customers have told us that this cost allocation process can consume several hours of their time each month.

Cost Allocation Via Tagging


Extending the existing EC2 tagging system (keys and values), we are launching a new cost allocation system to make it easy for you to tag your AWS resources and to access billing data that is broken down by tag (or tags).

With this release you can tag the following types of AWS resources for cost allocation purposes:
  • S3 buckets
  • EC2 Instances
  • EBS volumes
  • Reserved Instances
  • Spot Instance requests
  • VPN connections
  • Amazon RDS DB Instances
  • AWS CloudFormation Stacks
Here's all that you need to do:
  1. Decide on Your Tagging Model - Typically, the key name identifies some axis that you care about and the key values identify the points along the axis. You could have a tag named Department, with values like Sales, Marketing, Development, QA, Engineering, and so forth. You could choose to align this with your existing accounting system. You can use multiple tags for cost allocation purposes, each of which represents an additional dimension of usage. If each department runs several AWS-powered applications (or stores lots of data in S3), you could add an Application tag, with the values representing all of the applications that are running on behalf of the department. You can use the tags to create your own custom hierarchy.
  2. Tag Your Resources - Apply the agreed-upon tags to your existing resources, and arrange to apply them to newly created resources as they appear. You can add up to ten tags per resource. You can do this from the AWS Management Console, the service APIs, the command line, or through Auto Scaling:

    AWS Cost Allocation For Customer Bills
    You can use CloudFormation to provision a set of related AWS resources and easily tag them.
  3. Tell AWS Which Tags Matter -Now you need to log in to the AWS Portal, sign up for billing reports, and tell the AWS billing system which tag keys are meaningful for cost allocation purposes by using the Manage Cost Allocation Report option:

    AWS Cost Allocation For Customer Bills - Manage Report
    AWS Cost Allocation For Customer Bills - Select Tags
    You can choose to include certain tags and to exclude others.
  4. Access Billing Data - The estimated billing data is generated multiple times per day and the month-end charges are generated within three days of the end of the month. You can access this data by enabling programmatic access and arranging for it to be delivered to your S3 bucket.

Data Processing


The Cost Allocation Report will contain one additional column for each of the tag keys that you selected in step 3. The corresponding tag value (if any) will be included in the appropriate column of the data:

AWS Cost Allocation For Customer Bills
In the Cost Allocation Report above, the relevant keys were Owner, Stack, Cost Center, Application, and Project. The column will be blank if the AWS resource doesn't happen to have a value for the key. Data transfer and request charges are also included for tagged resources. In effect, these charges inherit the tags from the associated resource.

Once you have this data, you can feed it in to your own accounting system or you can slice and dice it any way you'd like for reporting or visualization purposes. For example, you could create a pivot table and aggregate the data along one or more dimensions:

AWS Cost Allocation For Customer Bills
 

 
 

Identifying Workloads for the Cloud

Superb Information by Rightscale... Read on...


Identifying workloads to move to the cloud can be tricky. You have dozens or hundreds of apps running in your organization, and now that you’ve seen the operational efficiencies and agility available to you in the cloud, you’re tempted to move as many of them to the cloud as quickly as possible. As you’ll see in the examples below, cloud computing is indeed a good fit for many common workloads.

I firmly believe that infrastructure-as-a-service (IaaS) cloud is for every organization, but not for every application. The reality is that some applications just aren’t a good fit for the ephemeral and dynamic environment of the cloud. Still others have very specific environmental requirements that make them ill suited. Read on as I explore more about what you should consider before earmarking a workload for the cloud.


3 Quick Criteria for a Good Fit

While each application is unique, and it’s important to apply your own lens when evaluating your cloud strategy, there are some rules of thumb that should help identify applications that are winning choices for cloud:

Unpredictable load or potential for explosive growth: Whenever your app is public facing, it has the potential to be wildly popular. Social games, eCommerce sites, blogs and software-as-a-service (SaaS) products fall into this category. If you release the next Farmville™ and your traffic spikes, you can scale up and down in the cloud according to demand, avoiding a “success disaster” and never over-provisioning your infrastructure.

Partial utilization: When traffic fluctuates – say with daily cycles of playing or shopping, or with occasional, compute-intensive batch processing – you can spin up extra servers in the cloud during the peaks and spin them down afterwards.

Easy parallelization: Applications like media streaming can be scaled horizontally and are generally a good use case for the cloud, because they scale out rather than up.
Finally, keep in mind the ideal of cloud computing as a way of using multiple resource pools – public cloud, private cloud, hybrid, your internal data center – not choosing one over the others. RightScale lets you see and manage all of them through one interface with a single set of tools and best practices.

3 Ideal Cloud Workloads

INFOGRAPHIC- Is The Future Of Cloud Computing Open Source? A Few Things To Consider


Companies are embracing cloud computing solutions because of their flexibility, scalability and cost-effectiveness, and those who have successfully integrated the cloud into their infrastructure have found it quite economic. They can expand and contract, and add and remove services as per requirement, giving them a lot of control over the resources being used and the funds being spent on those resources. This highly controllable environment not only cuts the costs of services, but also saves funds that are spent on the infrastructure of the company.


Replacement of Personal Computers with Personal Clouds


Cloud computing is not only becoming popular in business, but also among individual consumers. With the passage of time, personal computers are being replaced by personal clouds, and more and more companies are offering personal cloud services. People prefer to store their images, videos and documents online, both as a backup and to make them secure. Storing data on personal clouds makes it available anytime, anywhere. You just need a computing device and an Internet connection, and you can access all your photos, videos and documents.


Stability, Scalability and Reliability of Open-Source Software


Open-source software is becoming popular on an enterprise level because of its stability, scalability and reliability. Companies love to use open-source technologies because they are highly customizable, secure, reliable and accountable. With proprietary software, we are highly dependent on the software company for its development and support. But for open-source, we can find huge support from developers across the world, and we can tweak it according to our needs. Just hire a team of developers, and there you go.



Lessons Learned from Linux and Android


Monday 27 August 2012

Getting Started with IAM Roles for EC2 Instances



AWS Identity and Access Management (IAM) helps you securely control access to Amazon Web Services and your account resources. IAM can also keep your account credentials private. With IAM, you can create multiple IAM users under the umbrella of your AWS account or enable temporary access through identity federation with your corporate directory. In some cases, you can also enable access to resources across AWS accounts.

Without IAM, however, you must either create multiple AWS accounts—each with its own billing and subscriptions to AWS products—or your employees must share the security credentials of a single AWS account. In addition, without IAM, you cannot control the tasks a particular user or system can do and what AWS resources they might use.


 
 
AWS has recently launched IAM Roles for EC2 Instances. A role is an entity that has a set of permissions that can be assumed by another entity. Use roles to enable applications running on your Amazon EC2 instances to securely access your AWS resources.You grant a specific set of permissions to a role, use the role to launch an EC2 instance, and let EC2 automatically handle AWS credential management for your applications that run on Amazon EC2. Use AWS Identity and Access Management (IAM) to create a role and to grant permissions to the role.
 
 
IAM roles for Amazon EC2 provide:
  
  • AWS access keys for applications running on Amazon EC2 instances
  • Automatic rotation of the AWS access keys on the Amazon EC2 instance
  • Granular permissions for applications running on Amazon EC2 instances that make requests to your AWS services
  
The below video demonstrates basic workflow of:


Create new role AWS IAM Workflow


 

 
 
For more help, refer the AWS documentation for IAM here.
 
For other AWS Documentations, please refer to the quick links provided in the Blogger's right-side panel.