
Amazon S3 – The Beginner’s Guide Few days ago, I was still struggling with solution to further scale this blog so it will serve contents faster and at the same time, not pressuring the server too hard. Hongkiat.com serves about 50,000 pageviews daily and that consumed about 60-80Gb of bandwidths on a daily basis. Something have to be done here so the requesting of images and files will not affect the stability of the entire server. After some readings, considerations and research, I settle for Amazon S3. You might have heard of it, or perhaps using it already. For the ease of reading, contents are spitted up in the following sections. Full guide after jump. In a Nutshell Amazon Simple Storage Service, also known as Amazon S3 is an online storage facility. Who needs Amazon S3? In S3, there’s no initial charges, zero setup cost. Running out of bandwidthsIf you are on shared hosting account, any Stumble Upon or Digg effect can easily eat up the entire bandwidth limit for the month. Back to top ↑ Gettting an Amazon S3 Account
Amazon Web Services (AWS) - Cloud Computing Services Amazon Elastic Compute Cloud Amazon Elastic Compute Cloud (EC2) is a central part of Amazon.com's cloud computing platform, Amazon Web Services (AWS). EC2 allows users to rent virtual computers on which to run their own computer applications. EC2 allows scalable deployment of applications by providing a Web service through which a user can boot an Amazon Machine Image to create a virtual machine, which Amazon calls an "instance", containing any software desired. A user can create, launch, and terminate server instances as needed, paying by the hour for active servers, hence the term "elastic". In November 2010, Amazon switched its own retail website to EC2 and AWS.[2] History[edit] Amazon announced a limited public beta test of EC2 on August 25, 2006,[3] offering access on a first come first served basis. Amazon added three new features on March 27, 2008:[7] static IP addresses, availability zones, and user selectable kernels. Amazon EC2 went into full production when it dropped the beta label on October 23, 2008.
Amazon Elastic Compute Cloud (EC2) - Scalable Cloud Hosting 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’s simple web service interface allows you to obtain and configure capacity with minimal friction. It provides you with complete control of your computing resources and lets you run on Amazon’s proven computing environment. Amazon EC2 reduces the time required to obtain and boot new server instances to minutes, allowing you to quickly scale capacity, both up and down, as your computing requirements change. Introduction to Amazon EC2 (4:01) Amazon EC2 enables you to increase or decrease capacity within minutes, not hours or days. You have complete control of your instances. You have the choice of multiple instance types, operating systems, and software packages. Amazon EC2 offers a highly reliable environment where replacement instances can be rapidly and predictably commissioned.
MongoDB MongoDB (from "humongous") is a cross-platform document-oriented database. Classified as a NoSQL database, MongoDB eschews the traditional table-based relational database structure in favor of JSON-like documents with dynamic schemas (MongoDB calls the format BSON), making the integration of data in certain types of applications easier and faster. Released under a combination of the GNU Affero General Public License and the Apache License, MongoDB is free and open-source software. First developed by the software company 10gen (now MongoDB Inc.) in October 2007 as a component of a planned platform as a service product, the company shifted to an open source development model in 2009, with 10gen offering commercial support and other services.[1] Since then, MongoDB has been adopted as backend software by a number of major websites and services, including Brave Collective, Craigslist, eBay, Foursquare, SourceForge, Viacom, and the New York Times, among others. Licensing and support[edit]
NoSQL "Structured storage" redirects here. For the Microsoft technology also known as structured storage, see COM Structured Storage. A NoSQL (often interpreted as Not Only SQL[1][2]) database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. Motivations for this approach include simplicity of design, horizontal scaling and finer control over availability. The data structure (e.g. key-value, graph, or document) differs from the RDBMS, and therefore some operations are faster in NoSQL and some in RDBMS. There are differences though, and the particular suitability of a given NoSQL DB depends on the problem it must solve (e.g. does the solution use graph algorithms?). History[edit] There have been various approaches to classify NoSQL databases, each with different categories and subcategories. A more detailed classification is the following, by Stephen Yen:[9] Performance[edit] Examples[edit] Graph[edit]
CouchDB Apache CouchDB, commonly referred to as CouchDB, is an open source database that focuses on ease of use and on being "a database that completely embraces the web".[1] It is a NoSQL database that uses JSON to store data, JavaScript as its query language using MapReduce, and HTTP for an API.[1] One of its distinguishing features is multi-master replication. CouchDB was first released in 2005 and later became an Apache project in 2008. Unlike in a relational database, CouchDB does not store data and relationships in tables. Instead, each database is a collection of independent documents. Each document maintains its own data and self-contained schema. CouchDB implements a form of Multi-Version Concurrency Control (MVCC) in order to avoid the need to lock the database file during writes. Other features include document-level ACID semantics with eventual consistency, (incremental) MapReduce, and (incremental) replication. History[edit] Main features[edit] Document Storage ACID Semantics
JSON JSON (/ˈdʒeɪsən/ JAY-sən),[1] or JavaScript Object Notation, is an open standard format that uses human-readable text to transmit data objects consisting of attribute–value pairs. It is used primarily to transmit data between a server and web application, as an alternative to XML. Although originally derived from the JavaScript scripting language, JSON is a language-independent data format. The JSON format was originally specified by Douglas Crockford. History[edit] Although JSON was originally based on a non-strict subset of the JavaScript scripting language (specifically, Standard ECMA-262 3rd Edition—December 1999[8]) and is commonly used with that language, it is a language-independent data format. Though JSON is commonly perceived as being a subset of JavaScript and ECMAScript, it allows some unescaped characters in strings that are illegal in JavaScript and ECMAScript strings.[9] Data types, syntax and example[edit] JSON's basic types are: Data portability issues[edit] MIME type[edit]
Chef Cookbook: mongodb - Opscode Community Installs and configures MongoDB, supporting: Single MongoDBReplicationShardingReplication and Sharding10gen repository package installation10gen MongoDB Monitoring System This cookbook depends on these external cookbooks aptpythonrunityum Platform: The cookbook aims to be platform independent, but is best tested on debian squeeze systems. The 10gen_repo recipe configures the package manager to use 10gen's official package repositories on Debian, Ubuntu, Redhat, CentOS, Fedora, and Amazon linux distributions. This cookbook contains a definition mongodb_instance which can be used to configure a certain type of mongodb instance, like the default mongodb or various components of a sharded setup. For examples see the USAGE section below. Mongodb Configuration Basically all settings defined in the Configuration File Options documentation page can be added to the mongodb[:config][:<setting>] attribute: Cookbook specific attributes 10gen
Welcome Amazon Elastic Compute Cloud (Amazon EC2) provides scalable computing capacity in the Amazon Web Services (AWS) cloud. Using Amazon EC2 eliminates your need to invest in hardware up front, so you can develop and deploy applications faster. You can use Amazon EC2 to launch as many or as few virtual servers as you need, configure security and networking, and manage storage. Amazon EC2 enables you to scale up or down to handle changes in requirements or spikes in popularity, reducing your need to forecast traffic. For more information about cloud computing, see What is Cloud Computing? Amazon EC2 provides the following features: For more information about the features of Amazon EC2, see the Amazon EC2 product page. For more information about running your website on AWS, see Websites & Website Hosting. How to Get Started with Amazon EC2 The first thing you need to do is get set up to use Amazon EC2. If you have questions about whether AWS is right for you, contact AWS Sales. On-Demand instances
Workstation Setup for Debian and Ubuntu - Chef - Opscode Open Source Wiki Chef is a systems and cloud infrastructure automation framework that makes it easy to deploy servers and applications to any physical, virtual, or cloud location, no matter the size of the infrastructure. The chef-client relies on abstract definitions (known as cookbooks and recipes) that are written in Ruby and are managed like source code. Each definition describes how a specific part of your infrastructure should be built and managed. The chef-client then applies those definitions to servers and applications, as specified, resulting in a fully automated infrastructure. When a new node is brought online, the only thing the chef-client needs to know is which cookbooks and recipes to apply. The following steps describe how to install the chef-client on a workstation. The steps for installing the chef-client on a machine that runs Linux, UNIX, or Mac OS X are identical: See the following sections for more information about each step. Identify the Chef server type Review prerequisites Note