Category: Compute*

Amazon Route 53 Adds ELB Integration for DNS Failover

I’m happy to announce that Route 53 DNS Failover now supports Elastic Load Balancing (ELB) endpoints.

Route 53 launched DNS Failover on February 11, 2013. With DNS Failover, Route 53 can detect an outage of your website and redirect your end users to alternate or backup locations that you specify. Route 53 DNS Failover relies on health checks-regularly making Internet requests to your applications endpoints from multiple locations around the world-to determine whether each endpoint of your application is up or down.

Until today, it was difficult to use DNS Failover if your application was running behind ELB to balance your incoming traffic across EC2 instances, because there was no way configure Route 53 health checks against an ELB endpoint-to create a health check, you need to specify an IP address to check, and ELBs dont have fixed IP addresses.

Whats different about DNS Failover for ELB?
Determining the health of an ELB endpoint is more complex than health checking a single IP address. For example, what if your application is running fine on EC2, but the load balancer itself isnt reachable? Or if your load balancer and your EC2 instances are working correctly, but a bug in your code causes your application to crash? Or how about if the EC2 instances in one Availability Zone of a multi-AZ ELB are experiencing problems?

Route 53 DNS Failover handles all of these failure scenarios by integrating with ELB behind the scenes. Once enabled, Route 53 automatically configures and manages health checks  for individual ELB nodes. Route 53 also takes advantage of the EC2 instance health checking that ELB performs (information on configuring your ELB health checks is available here). By combining the results of health checks of your EC2 instances and your ELBs, Route 53 DNS Failover is able to evaluate the health of the load balancer and the health of the application running on the EC2 instances behind it. In other words, if any part of the stack goes down, Route 53 detects the failure and routes traffic away from the failed endpoint.

A nice bonus is that, because you dont create any health checks of your own, DNS Failover for ELB endpoints is available at no additional charge-you arent charged for any health checks.

When setting up DNS Failover for an ELB Endpoint, you simply set Evaluate Target Health to true-you dont create a health check of your own for this endpoint:

Scenarios Possible with DNS Failover
Using Route 53 DNS Failover, you can run your primary application simultaneously in multiple AWS regions around the world and fail over across regions. Your end users will be routed to the closest (by latency), healthy region for your application. Route 53 automatically removes from service any region where your application is unavailable-it will pull an endpoint out service if theres a region-wide connectivity or operational issue, if your application goes down in that region, or if your ELB or EC2 instances go down in that region.

You can also leverage a simple backup site hosted on Amazon S3, with Route 53 directing users to this backup site in the event that your application becomes unavailable. In February we published a tutorial on how to create a simple backup website. Now you can take advantage of this simple backup scenario if your primary website is running behind an ELB-just skip the part of the tutorial about creating a health check for your primary site, and instead create an Alias record pointing to your ELB and check the evaluate target health option on the Alias record (full documentation on using DNS Failover with ELB is available in the Route 53 Developer Guide.

Get Started and Learn More
Join the High Availability with Route 53 DNS Failover Webinar at 10:00 AM PDT on July 9, 2013 to learn more about DNS Failover and the high-availability architecture options that it makes possible.

To get started with DNS Failover for Route 53, visit the Route 53 product page or review our walkthrough in the Amazon Route 53 Developer Guide. Getting started with Route 53 is easy, and there are no upfront costs. See the Route 53 product page for full details and pricing.

— Jeff (with help from Sean Meckley, Product Manager)

AWS OpsWorks Update – Elastic Load Balancing, Monitoring View, More Instance Types

Chris Barclay of the AWS OpsWorks team has put together a really nice guest post to introduce you to three new AWS OpsWorks features.

— Jeff;

We are pleased to announce three new AWS OpsWorks features that make it even easier to manage your applications: Elastic Load Balancing support, a monitoring view of your stacks Amazon CloudWatch metrics, and support for additional Amazon EC2 instance types.

Elastic Load Balancing Support

You can now use Elastic Load Balancing to automatically distribute traffic across your applications instances. Some of the advantages of using Elastic Load Balancing with your OpsWorks applications are

  • Elastic Load Balancing automatically scales its request handling capacity in response to incoming application traffic.
  • Elastic Load Balancing spans multiple AZs for reliability, but provides a single DNS name for simplicity.
  • Elastic Load Balancing metrics such as request count and request latency are reported by Amazon CloudWatch.
  • SSL certificates are stored using IAM credentials, allowing you to control who can see your private keys.

To get started, once you have created your ELB in the EC2 console, simply add it to the layer you want to load balance, such as your Rails app server. The layer can have a fixed pool of instances or it can use instance-based scaling to grow the capacity based on load or time. OpsWorks automatically takes care of adding and removing the instances in your layer with the load balancer.

Monitoring View
The new monitoring view is a convenient way to see the status of the instances running your application. OpsWorks sends thirteen 1-minute metrics to CloudWatch for each instance, including CPU, memory and load. The metrics are automatically grouped and filtered by each layer in the stack. You can specify a time period, select a particular metric that you want to view, or drill down to specific instances to get a more detailed view.

Additional Instance Type Support
OpsWorks now supports EBS-backed EC2 instances to give you more instance types to choose for your development needs, including the AWS Free Usage Tier-eligible micro instance.

Go For It
You can use all of these new features with a few clicks of the AWS Management Console.

You may also want to sign up for our upcoming AWS OpsWorks Webinar (May 23 at 10:00 AM PST). In the webinar you will learn about key concepts and design patterns for continuous deployment and integration using technologies like AWS OpsWorks and Chef.

Chris Barclay, Senior Product Manager




Choosing the Right EC2 Instance Type for Your Application

Over the past six or seven years I have had the opportunity to see customers of all sizes use Amazon EC2 to power their applications, including high traffic web sites, Genome analysis platforms, and SAP applications. I have learned that the developers of the most successful applications and services use a rigorous performance testing and optimization process to choose the right instance type(s) for their application.

In order to help you to do this for your own applications, I’d like to review some important EC2 concepts and then take a look at each of the instance types that make up the EC2 instance family.

Important Concepts
Let’s start with some concepts, just to make sure that we are all on the same page.

An Amazon Machine Image (AMI) is a template that defines your operating environment, including the operating system. A single AMI can be used to launch one or thousands of instances.

Instances provide compute power and are the fundamental building blocks. Instances are created by launching an Amazon Machine Image (AMI) on a particular instance type. You can scale the number of instances you are running up or down on demand, either manually or automatically, using Auto Scaling.

Instance Types comprise various combinations of CPU, memory, storage, and networking capacity and give you the flexibility to choose the appropriate mix of resources for your applications. Each instance type has one or more size options that address different workload sizes. For the best experience, you should launch on instance types that are the best fit for your applications.

Instance Families are collections of instance types designed to meet a common goal. To make it easier for you to select the best option for your applications, Amazon EC2 instance types are grouped together into families based on target application profiles.

A vCPU is a virtual Central Processing Unit (CPU). A multicore processor has two or more vCPUs.

Meet the Family
Today, Amazon EC2 gives you the option of choosing between 10 different instance types, distributed across 6 instance families. You have the flexibility to choose the combination of instance types and sizes most appropriate for your application today, and you can always change the type you use later as your business and application needs change. So what are the available instance families and instance types?

General-Purpose. This family includes the M1 and M3 instance types, both of which provide a balance of CPU, memory, and network resources making them a good choice for many applications. For many of you, this family is often the first choice, with sizes ranging from 1 vCPU with 2 GiB of RAM to 8 vCPUs with 30 GiB of RAM. The balance of resources makes them ideal for running small and mid-size databases, more memory-hungry data processing tasks, caching fleets, and backend servers for SAP, Microsoft SharePoint, and other enterprise applications.

M3 instances are the newest generation of general-purpose instances, and give you the option of a larger number of virtual CPUs (vCPUs) that provide higher performance. M3 instances are recommended if you are seeking general-purpose instances with demanding CPU requirements. M1 instances are the original family of general-purpose instances and provide the lowest cost options for running your applications. M1 instances are a great option if you want smaller instance sizes with moderate CPU performance, and a lower overall price.

Compute-Optimized. This family includes the C1 and CC2 instance types, and is geared towards applications that benefit from high compute power.

Compute-optimized instances have a higher ratio of vCPUs to memory than other families and the lowest cost per vCPU of all the Amazon EC2 instance types. If you are running any CPU-bound scale-out applications, you should look at compute-optimized instances first. Examples of such applications include front end fleets for high-traffic web sites, on-demand batch processing, distributed analytics, web servers, video encoding, and high performance science and engineering applications like genome analysis, high-energy physics, or computational fluid dynamics.

CC2 instances are the latest generation of compute-optimized instances and provide the lowest cost for CPU performance for all Amazon EC2 instance types. In addition, CC2 instances provide a number of advanced capabilities: Intel Xeon E5-2670 processors; high core count (32 vCPUs); and support for cluster networking. These capabilities allowed us to create a cluster of 1064 CC2 instances that achieved a Linpack score of 240.09 Teraflops, good for an entry at number 42 in the November 2011 Top500 supercomputer list.

C1 instances are the first generation of compute-optimized instances. They are available in smaller sizes and are ideal for massively scaled-out applications at massive scale. Most examples of customers launching 1000s of instances to transcode videos or for virtual drug design are likely to take advantage of C1 instances.

Memory-Optimized. This family includes the M2 and CR1 instance types and is designed for memory-intensive applications. Instances in this family have the lowest cost per GiB of RAM of all Amazon EC2 instance types. If your application is memory-bound, you should use these instances. Examples include high performance databases and distributed cache, in-memory analytics, genome assembly, and larger deployments of SAP, Microsoft SharePoint, and other enterprise applications. In general, if you are running a performance-sensitive database you should first look at this family.

CR1 instances are the latest generation of memory-optimized instances and provide more memory (244 GiB), faster CPU (Intel Xeon E5-2670) compared to M2 instances. CR1 instances also support cluster networking for bandwidth intensive applications.

M2 instances are available in smaller sizes, and are an excellent option for many memory-bound applications.

Storage-Optimized. This family includes the HI1 and HS1 instance types, and provides you with direct-attached storage options optimized for applications with specific disk I/O and storage capacity requirements. Currently there are two types of storage-optimized instances.

HI1 instances are optimized for very high random I/O performance and low cost per IOPS. These instances can deliver over 120,000 4k random read IOPS making them ideal for transactional applications. In particular, we designed these instances to be the best platform for large deployments of NoSQL databases like Cassandra and MongoDB.

HS1 instances are optimized for very high storage density, low storage cost, and high sequential I/O performance. HS1 instances give 48 TB of storage capacity across 24 hard disk drives, high network performance, and are capable of supporting throughput performance of as much as 2.6 GBps. These instances are designed for large-scale data warehouses, large always-on Hadoop clusters, and for cluster file systems. Indeed, HS1 instances are the underlying instance type for our petabyte-scale data warehousing service, Amazon Redshift.

Micro Instances. Micro, or T1, instances are a very low-cost instance option providing a small amount of CPU resources. Micro instances may opportunistically increase CPU capacity in short bursts when additional cycles are available. They are well suited for lower throughput applications like bastion hosts or administrative applications, or for low-traffic websites that require additional compute cycles from time to time.

Micro instances are available in the AWS Free Usage Tier to allow you to explore EC2 functionality at no charge. Due to the opportunistic scheduling used by Micro instances, you should not use them for applications that require sustained CPU performance. You can learn more about the characteristics of Micro instances and appropriate workload characteristics in the Amazon EC2 documentation.

GPU Instances. This family includes the CG1 instance type, and allows you to take advantage of the parallel performance of NVidia Tesla GPUs using the CUDA or OpenCL programming models for GPGPU computing. GPU instances also provide high CPU capabilities and support cluster networking. For applications like AMBER, a molecular dynamics application, you can get 4-5x improvement in performance compared to CC2 instances. Many of you are running computational chemistry, rendering, and financial analysis applications on CG1 instances today to take advantage of the speedup you can get from GPGUs.

Your Choice
I hope that this classification will help you to select the instance type that best fits your application. Because you can launch and terminate instances as desired, profiling and load testing across a variety of instance types is simple and cost effective. Unlike a traditional environment where you are locked in to a particular hardware configuration for an extended period of time, you can easily change instance types as your needs change. You can even profile multiple instance types as part of your Continuous Integration process and use a different set of instance types for each minor release.

The availability of multiple instance types, combined with features like EBS-optimization, and cluster networking allow applications to be optimized for increased performance, improved application resilience, and lower costs.

In particular, you should evaluate the most important performance metrics for your application. For applications that benefit from a low cost per CPU, you should try compute-optimized instances (C1 or CC2) first. For applications that require the lowest cost per GiB of memory, we recommend memory-optimized instances (M2 or CR1). If you are running a database, you should also take advantage of EBS-optimization or instances that support cluster networking. For applications with high inter-node network requirements, you should choose instances that support cluster networking. You can get all the detailed specifications for Amazon EC2 instances types on the EC2 Instance Types Table.

Our goal is to continue to provide you with instance types that address the needs of a broad swath of applications and we welcome feedback on how the currently available instance types are addressing those needs. Post a message in the EC2 forum and we’ll make sure that the team sees it.

Hopefully the information provided in this post will help you get your applications revved up right away.

 — Jeff (with help from Deepak Singh and Paul Duffy);

AWS Management Pack for Microsoft System Center

Tom Rizzo is back with another Windows Wednesday post, announcing a new feature that will make it even easier for you to monitor your EC2 instances running Windows.

— Jeff;

With our continuing investment in making AWS the best place to run Windows and Windows workloads, we are making an announcement today that makes running and managing Windows even easier in the AWS environment: The AWS Management Pack for Microsoft System Center.

By using the AWS Management Pack with Microsoft System Center Operations Manager, you can view and monitor your on-premises and AWS resources together in a single console. The management pack lets you monitor EC2 instances (Windows and Linux), Elastic Block Store (EBS) volumes, Elastic Load Balancing, CloudFormation stacks, Auto Scaling groups, and Elastic Beanstalk applications. With the built-in CloudWatch integration, you can watch performance counters and get alerts when your AWS resources exceed alarm thresholds.  In addition, you can view and monitor applications running inside your EC2 Windows instances such as Microsoft SQL Server, Microsoft SharePoint Server, or Microsoft Exchange Server.  Because the management pack surfaces EC2 tags, you can filter and search across AWS regions for your AWS resources. Finally, your resources are mapped to your AWS Availability Zones so you know which resources are in which zones to make understanding your high availability and disaster recovery easier.

Use the management pack as your single pane of glass to view and monitor your resources whether on-premises or in the AWS cloud.

To help you get started, we have put together a quick introduction video:

Download the AWS Management Pack and get started today. Here’s a sample of what you’ll be able to see:

Tom Rizzo, General Manager, Amazon EC2 Windows Team.

Provision Up to 4,000 IOPS per EBS Volume, New Marketplace Support

I am happy to announce that EBS Provisioned IOPS volumes now support up to 4,000 IOPS. This represents a fourfold increase from the original Provisioned IOPS volume performance since last year’s launch. You can now dial it up to 4,000 IOPS and up to 1 TB of storage per Provisioned IOPS volume. You no longer need to stripe (aka RAID 0) multiple volumes to reach the 4,000 IOPS performance level. However, if you do need even more performance, you can create multiple EBS volumes, each with Provisioned IOPS, and then stripe across them.

We are also introducing support for Provisioned IOPS in the AWS Marketplace with new products from 10Gen, NuoDB, and Omnibond. With this new support, you can now find, compare, and start the software that you need with 1-click, while specifying the desired level of performance. For more information, visit the new AWS Marketplace Provisioned IOPS page. Here are some initial reactions to this new feature:

  • On the MongoDB blog, Jared Rosoff talks about the effect of storage configuration on MongoDB performance. He notes that many issues that they encounter in the field turn out to be related to misconfigured or under-provisioned storage, and then goes on to introduce the new MongoDB AMIs. Jared says that the new AMIs remove the need for guess work and help to ensure a great out-of-the-box experience with MongoDB on EC2. The new AMIs are available in 1,000, 2,000, and 4,000 IOPS configurations and are based on the Amazon Linux AMI. They include a pre-tuned filesystem and OS configuration, and separate volumes for data, journal, and log storage.
  • On the PalominoDB blog, Jay Edwards and Emanuel Calvo of PalominDB benchmarked PostgreSQL 9.2 using pgbench using EBS volumes provisioned for 4,000 IOPS. The post provides a lot of information about their system configuration, benchmarking tools, methodology. Just to make things interesting, the database servers were run on EC2 spot instances. Jay and Emanuel tested an instance that was equipped with a single EBS volume and another  that was equipped with a four volume RAID 0 array. They used pgbench as the test driver, with a simulated load that ranged from 16 to 96 clients, and 100 to 1000 transactions per client. They measured 600-700 transactions/second on the first instance and up to 2200 transactions/second on the second one.

To recap, last year we introduced the Provisioned IOPS feature to give you the power to dial in the amount of performance (measured in I/O Operations Per Second or IOPS), with an initial maximum of 1,000 IOPS per volume. We raised the performance to 2,000 IOPS later in the year to give you more power and more flexibility. With 4,000 IOPS per volume, we have taken this to the next performance level.

Provisioned IOPS volumes are designed to deliver predictable, high performance for I/O intensive workloads such as databases, business applications and enterprise applications. You can set the level of performance you need and EBS will consistently deliver it over the lifetime of the volume.

To take full advantage of high performance Provisioned IOPS volumes, we recommend the use of EBS-Optimized EC2 instances. Available for our m1.large, m1.xlarge, m2.2xlarge, m2.4xlarge, m3.xlarge, m3.2xlarge, c1.xlarge and instance types, these instances feature dedicated throughput between EC2 and EBS.

Amazon EBS Provisioned IOPS volumes, EBS-optimized instances and AWS Marketplace products are now supported in all AWS regions except GovCloud.

— Jeff;

Amazon Coins – Virtual Currency for App and In-App Purchases

Amazon Coins are a new virtual currency that will be made available to Kindle Fire users this coming May. They can be used to pay for apps and for most in-app purchases.

If your app runs on the Kindle Fire, it is eligible for Amazon Coins with no further work on your part. If it runs on another Android device and is already in the Amazon Appstore for Android, you’ll need to review the Kindle Fire Best Practices and then re-submit your app with the appropriate Kindle Fire devices checked in the Device Support section of the submission form.

For more information about how to use Amazon Coins in your app, read our new blog post, Taking Advantage of Amazon Coins.

I would also like to encourage you to take a look at some other AWS services that you can use to build and host mobile apps of all types:

  • The AWS SDK for Android lets you build Android apps that access and take advantage of AWS services.
  • Amazon EC2 makes a great, scalable host for your application’s backend processing and logic.
  • Amazon S3 is perfect for storing application assets, for low-latency worldwide distribution via Amazon CloudFront.
  • Amazon DynamoDB is a fully managed NoSQL service that can scale to any desired level of throughput.

You can also visit our Web, Mobile, and Social Apps page to get some ideas and to see how your competitors are already using these services!

— Jeff;


Now Available on Amazon EC2: Red Hat Enterprise Linux 6.4 AMIs

Version 6.4 of Red Hat Enterprise Linux (RHEL) is now available as an Amazon Machine Image (AMI) for use on all EC2 instance types in all AWS Regions.

With this release, AMIs are available for 32 and 64-bit PVM (paravirtualized) and 64-bit HVM (hardware-assisted virtualization). The new HVM support means that you can now run RHEL on a wider variety of EC2 instance types including the Cluster Compute (cc), High Memory Cluster Compute (cr), Cluster GPU (cg), High Storage (hs), and High I/O (hi) families (availability of instance types varies by Region).

RHEL 6.4 now includes support for the popular CloudInit package. You can use CloudInit to customize your instances at boot time by using EC2’s user data feature to pass an include file, a script, an Upstart job, a bootstrap hook to the instance. This mechanism can be used to create and modify files, install and configure packages, generate SSH keys, set the host name, and so forth.

This release also changes the default user login from “root” to “ec2-user”.

More information on the availability of Red Hat Enterprise Linux, including a global list of AMI IDs for all versions of RHEL can be found on the Red Hat Partner Page.

Support for these AMIs is available through AWS Premium Support and Red Hat Global Support.

— Jeff;


AWS Elastic Beanstalk for .NET now Supports VPC, RDS, and Configuration Files

AWS Elastic Beanstalk for .NET now supports the Amazon Virtual Private Cloud (VPC), seamlessly integrates with the Amazon Relational Database Service (RDS), and can be customized using configuration files.

Elastic Beanstalk allows you to easily deploy and manage .NET applications on AWS. Because Elastic Beanstalk leverages Windows Server 2008 R2 and Windows Server 2012, you can run .NET applications with minimal changes.

VPC Integration
With Amazon VPC, you can set up your own virtual network and you can configure Elastic Beanstalk to run your .NET applications inside of this logically isolated section of the AWS cloud. For example, you can create a private subnet where you host your Elastic Beanstalk backend services and then expose the public-facing web application in a public subnet. Visit the AWS Elastic Beanstalk Developer Guide to learn more about Using AWS Elastic Beanstalk with Amazon VPC.

RDS Integration
If your application relies on a relational database, you can easily configure an Amazon RDS DB Instance for your Elastic Beanstalk .NET application. Using the AWS Toolkit for Visual Studio or the AWS Management Console, you can add an RDS DB Instance with just a few clicks. The connection information is automatically exposed to your application through a connection string. Visit Using Amazon RDS in the AWS Elastic Beanstalk Developer Guide.

Configuration Files
Elastic Beanstalk configuration files are YAML text files that allow you to customize your environment in two ways:

  1. You can customize the software running inside your environment by downloading files, running commands, installing agents and packages, and setting environment variables.
  2. You can provision and configure additional resources such as DynamoDB tables, SQS queues, and CloudWatch alarms.

For example, if your application requires write permissions to app_data, you can grant it these permissions using the following configuration file:

container_commands :
   01 changeperm :
     command : icacls “C:/inetpub/wwwroot/myapp/App_Data” /grant DefaultAppPool : (OI ) (CI )F > log. txt 2 >& 1
     cwd : “C:/inetpub/wwwroot/myapp”

Visit Customizing and Configuring AWS Elastic Beanstalk Environments in the AWS Elastic Beanstalk Developer Guide to learn more about configuration files and for additional examples.

— Jeff + Saad;


Prices Reduced for Windows On-Demand EC2 Instances

The AWS team has been working hard to build powerful and exciting new features for Windows on AWS. In the last month we have released  support for SQL Server AlwaysOn Availability Groups, a beta of the AWS Diagnostics for Microsoft Windows Server, and new drivers for our virtual instances that improve performance and increase the supported number of volumes.

I’m happy to announce a price reduction of up to 26% on Windows On-Demand instances. This price drop continues the AWS tradition of exploring ways to reduce costs and passing the savings along to you. This reduction applies to the Standard (m1), Second-Generation Standard (m3), High-Memory (m2), and High-CPU (c1) instance families. All prices are effective from April 1, 2013. The size of the reduction varies by instance family and region. You can visit the AWS Windows page for more information about Windows pricing on AWS.

Members of the AWS team will be attending and staffing our booth at the Microsoft Management Summit in Las Vegas. If you want to learn more about AWS and how to build, deploy, and monitor your Microsoft Windows Server instances, be sure to stop by booth #733.  The team is also hosting an invitation-only customer session. If you are attending the conference and would like to receive an invitation, simply complete this survey!

— Jeff;

New Tag Management Tools in the EC2 Console

The AWS tagging feature helps you to label and identify your cloud resources. In today’s guest post, Senior Product Manager Derek Lyon reveals the details of a new Tags page in the EC2 console.

— Jeff;

We are adding a new Tags page in the EC2 Console that will help you browse your EC2 resources based on the Tags associated with them and to add or remove Tags from multiple resources at once. If you use tags to keep track of your EC2 resources, the Tags page should significantly reduce the time and effort it takes to perform a number of tag-related tasks.

On the new Tags page, you will see a dashboard-style view of your tags and the number of each EC2 resource type associated with each tag. For example, if you use a tag like Stack=Prod to keep track of your production instances, you will see how many instances are currently running in your production environment. By clicking on the link, you will be able to drill down and see the individual instances with a particular tag on them. The same goes for all of your other EC2 resources with tags on them, including AMIs, snapshots, volumes, and any other EC2 resources you have tagged.

One of the most useful features on the new Tags page is the Manage Tags tool, which makes it easy to add or remove tags from multiple resources at once. This tool can be accessed by clicking on the Manage Tags button on the upper-left corner of the Tags screen, here:

Using the Manage Tags tool, you can browse your EC2 resources, select which ones you want to modify using the check boxes, and then add or remove a tag of your choice using the dialog at the bottom. If you have a lot of resources to browse, you may want to explore the filtering tools at the top left of the screen, or use the gear icon on the top right to control which columns are exposed so you can sort and/or filter based on which tags are currently applied to the resource.

As always, this feature is available now and you can start using it today!

— Derek Lyon