EC2 : Amazon Elastic Compute Cloud

Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers.

Amazon EC2 reduces the time required to obtain and boot new server instances to minutes, allowing to quickly scale capacity, both up and down, as the computing requirements change. Amazon EC2 provides developers the tools to build failure resilient applications and isolate themselves from common failure scenarios.

Amazon EC2 presents a true virtual computing environment, allowing you to use web service interfaces to launch instances with a variety of operating systems, load them with your custom application environment, manage your network’s access permissions, and run your image using as many or few systems as you desire.

To use Amazon EC2, an Amazon Machine Image (AMI) containing the applications, libraries, data and associated configuration settings is created or a pre-configured and templated image is used to get up and running immediately. The AMI is loaded into Amazon S3.

Amazon EC2 is elastic (scalable), flexible, completely controlled, designed for use with other Amazon Web Services, reliable, featured for Building Failure Resilient Applications (Amazon Elastic Block Store, Multiple Locations, Elastic IP Addresses), secure, inexpensive.

The default instance is a 32-bit platform with 1.7 GB of memory, 1 compute unit and 160 GB of instance storage (small instance). Large, extra-large and high-CPU instances are available for compute-intensive applications.Price:

The price for using a small instance is $0.10 per instance hour for Linux and $0.125 per instance hour for Windows. Amazon EC2 uses a variety of measures to provide each instance with a consistent and predictable amount of CPU capacity. Understanding the EC2 price model is not easy and several questions in the AWS forum refer to this issue. Here are some answers :

If you start an instance once every 24 hours and run it for less than an hour, and do this every day for a 30-day month, you will be charged for 30 instance hours.  As long as your instance is running, it is billable at the rate for that instance. A website would not be publicly available if the instance is not running. To run a website available 24/7 in a month, it will cost about $90 for windows instance-hours + storage charge + data in/out charge + others.

One customer confirmed the price calculation and stated that he compared AWS pricing with that of other companies. Although there were several companies that offered hosting for cheaper, in the end he decided to start using EC2 for the following reasons :

Although those sites were cheaper, none of them gave him as much flexibility as he wanted. He had to use their preset hosting configurations, which wasn’t very condusive towards hiswebsite-model. Similar cloud offerings, such as the ones offered by RackSpace, actually ended up being more expensive in the end. But most importantly, he could take advantage of Amazon’s other web services as well.  The one he was most excited about is Amazon Cloudfront to get a full-fledged content delivery service in one easy-to-use package.  Thats one offering that those “$9.99 a month!” companies can’t offer, and it’s something he needs.

There are other providers offering elastic computing power :

Domain name system (DNS) & management

Last Update : March 15, 2013

The Domain Name System (DNS) associates various information with domain names; it serves as the “phone book” for the Internet by translating human-readable computer hostnames into IP addresses. A DNS also stores other information such as the list of mail servers that accept email for a given domain. By providing a worldwide keyword-based redirection service, the Domain Name System is an essential component of the Internet.
The right to use a domain name is delegated by domain name registrars which are accredited by the Internet Corporation for Assigned Names and Numbers (ICANN), the organization charged with overseeing the name and number systems of the Internet. In addition to ICANN, each top-level domain (TLD) is maintained and serviced technically by a sponsoring organization, the TLD Registry.

DNS records or Zone files are used for mapping URLs to IPs. Located on servers called the DNS servers, these records are typically the connection of a website with the outside world. Requests for a website are forwarded to the DNS servers and then get pointed to the WebServers that serve the website or to Email servers that handle the incoming email.

DNS servers communicate with each other using private network protocols. All DNS servers are organized in a hierarchy. At the top level of the hierarchy, so-called root servers store the complete database of Internet domain names and their corresponding IP addresses. The Internet employs 13 root servers, named A, B, C and so on up to M, maintained by various independent agencies. When a DNS server receives a request not in its database it automatically passes that request to another DNS server or up to the next higher level in the DNS hierarchy as needed.

The mostly used DNS records in all DNS configurations are the following :

  • A record or adress record : An address record assigns an IP address to a domain or subdomain name. Example : saraproft.com. IN A 69.9.64.11
  • CNAME record : A CNAME record or canonical name record makes one domain name an alias of another. The aliased domain gets all the subdomains and DNS records of the original. Example : stuff.everybox.com CNAME www.everybox.com
  • MX record : An MX record or mail exchange record maps a domain name to a list of mail exchange servers for that domain. Example : mydomain.com. 14400 IN MX 0 mydomain.com.
  • NS record : An NS record or name server record maps a domain name to a list of DNS servers authoritative for that domain. Example : example.com. IN NS ns1.live.secure.com.
  • SOA record : An SOA record or start of authority record specifies the DNS server providing authoritative information about an Internet domain, the email of the domain administrator, the domain serial number, and several timers relating to refreshing the zone. It’s the most essential part of a zone file. It includes TTL, the duration in seconds that the record may be cached by client side programs.
  • TXTrecord : A TXT record allows an administrator to insert arbitrary text into a DNS record. For example, this record is used to implement the Sender Policy Framework specification.

RESTENA is the registration service for Internet domain names under the national top level domain LU in Luxembourg. P&T Luxembourg and Visual Online are also approved as official registrars in Luxembourg. My saraproft.xxx names have been registrated and managed in the past by SpiritDomains. The domain saraproft.lu has been registrated by RESTENA. All the domains have been transferred in the meantine to Visual Online.

DNSstuff.com provides a lot of free and paid tools to configure, monitor and fix problems with a domain or email. Google offers tools to check the MX records and the CNAME records of your own domain. Useful tutorials about setting up Google apps (and to verify ownership of domain) are available at N.E.R.D.logger.com.

Today I deployed with success Google Apps to my domain saraproft.com. Google Apps are smart applications for email, documents, sites and more. The different DNS records for my domain to set up Google Apps are configured as indicated herafter :

A record : the domain saraproft.com points to the IP address of the P&T server hosting my other domains in Luxembourg. This IP address is not relevant for Google Apps.

CNAME : The aliases for www.saraproft.com, mail.saraproft.com, sites.saraproft.com, docs.saraproft.com and calendar.saraproft.com points all to ghs.google.com. It’s important to add a dot at the end of each record parameter. To verify the ownership of the saraproft.com domain, a temporary CNAME record with a secret parameter provided by Google Apps was activated.

MX : The mail domain saraproft.com points to different prioritized mail servers indicated by Google:

  • ASPMX.L.GOOGLE.COM.
  • ALT1.ASPMX.L.GOOGLE.COM.
  • ALT2.ASPMX.L.GOOGLE.COM.
  • ASPMX2.GOOGLEMAIL.COM.
  • ASPMX3.GOOGLEMAIL.COM.
  • ASPMX4.GOOGLEMAIL.COM.
  • ASPMX5.GOOGLEMAIL.COM.

NS : The name server record points to the servers indicated by my registrar SpiritDomains:

  • dns1.spiritdomains.com.
  • dns2.spiritdomains.com.
  • dns3.spiritdomains.com.
  • dns4.spiritdomains.com.

SOA : The SOA record contains the standard data provided by the managed DNS service of SpiritDomains.

TXT : The text record includes the Sender Policy Framework (SPF) with the statement “v=spf1 include:aspmx.googlemail.com ~all” to prevent mails to be considered as spams.

CPE WAN Management Protocole TR-069

The growing complexity of the different Internet access possibilities with modems, routers, gateways, set-top-boxes and VoIP-phones makes it more and more difficult for the end-user to configure these equipements. For these reasons a remote management of the end-user devices, called CPE (Customer-premises equipment or customer-provided equipment), by the Internet Service Providers (ISP), was developed. An application layer protocol for the remote management of these end-user devices, entitled CPE WAN Management Protocol (CWMP), has been defined by the Broadband Forum (former DSL Forum) in the technical report TR-069. As a bidirectional SOAP/HTTP based protocol it provides the communication between CPE and Auto Configuration Servers (ACS).  It includes both a safe auto configuration and the control of other CPE management functions within an integrated framework.

The Broadband Forum is a global consortium of a few hundred leading companies covering the telecommunications, equipment, computing, networking and service provider sectors.