Data Transfer from Amazon S3 to Web Server


Hits: 3060  

We can transfer / copy Amazon S3 bucket with GB of data to EC2 machine and then transfer the data to the dedicated server.

We need Amazon S3 details:
Access Key: ?
Secret Key: ?

We need Web Server details:
Host: ?
User: ?
Password: ?

One option would be to run an Amazon EC2 machine, install CloudBerry Explorer onto it and start the copy process. the data will go through EC2 of course, but since it is in the same data center with S3 it will be fast and efficient.

Backup mysql database to amazon S3

Make Own CDN


Hits: 10420  

Well… I am working on alternatives to make OWN CDN…

I have few options to create such CDN

* Google App Engine
http://24ways.org/2008/using-google-app-engine-as-your-own-cdn
http://www.digitalistic.com/2008/06/09/10-easy-steps-to-use-google-app-engine-as-your-own-cdn/

* Amazon EC2

* Wowza
http://www.wowza.com/forums/content.php?81-How-to-achieve-the-lowest-latency-from-capture-to-playback

* GeoIP, NGinx, Bind, Varnish
http://blog.unixy.net/2010/07/how-to-build-your-own-cdn-using-bind-geoip-nginx-and-varnish/
http://www.caraytech.com/geodns/
https://www.varnish-cache.org/

* ONApp
http://onapp.com/cdn/pricing/
http://cdn.onapp.com/files/datasheets/onapp_cdn_datasheet.pdf

Some Open Source to create CDN
http://www.fromdev.com/2011/06/create-cdn-content-delivery-network.html
http://labtel.ing.uniroma1.it/opencdn/
http://www.coralcdn.org/
http://cacheboy.net/
http://code.google.com/p/phloem/

Other Resources
http://serverfault.com/questions/244158/how-to-create-my-own-cdn-or-private-cloud
http://nixcraft.com/web-servers/17014-creating-own-cdn-using-nginx-possible.html

Limitations
* Performance that you get from a professional / Commercial CDN
* Smart DNS
* Edge points
* Caching server – squid or nginx

Install MovieMasher


Hits: 4173  

Movie Masher open source flash based online video editing software and media player is free code to white label on your web site.

Movie Masher Feature

Movie Masher- Free Open Source Online Video Editor

Adobe Flash™ applets that provide front-end tools for common video editing tasks:

* Trim, composite and timeshift video
* Mix and fade multiple audio tracks
* Add effects, transitions and titling

An XML API is used to customize both the appearance and behavior of the tools:

* Colorize and reposition panels
* Reskin and bind interface controls
* Reconfigure bundled effects
* Integrate with CGI scripts

Customize Movie Masher Free Open Source Online Video Editor

Quick Start

1. transfer and decompress the applet archive to your web server.
2. load the /example/static/index.html file in your web browser.
3. read the README.txt files from other examples you want to run.
4. explore those examples by loading their index files in your browser.

Install Movie-Masher

# wget http://nchc.dl.sourceforge.net/project/moviemasher/moviemasher/3.1.13/MovieMasher_3-1-13.zip
# unzip MovieMasher_3-1-13.zip

Restart web server then point address bar to

http://server_ip:5080/moviemasher/example/static/index.html

Webisode


Hits: 3542  

The webisode is simply a web episode, this is a new medium called web television that stream live broadcast, dramas, serial storyline, media events online over the Internet

The webisode is web episode especially viewed at a Web site for TV show have been telecast.

Technologies Used

* HTTP
* RSS/JSON
* RTSP/RTMP
* SMIL
* WTVML
* ASX
* MMS

Streaming Audio/Video formats

* Adobe Flash – MP3, FLV, MP4
* Microsoft Media – Silverlight, ASF, ASX, WAX, WMA, WMV
* RealNetworks – RM, RAM, RA, SMIL
* Apple QuickTime Audio/Video streams
* Shoutcast/Icecast – MP3, AAC, OGG
* MoveNetworks MoveMediaPlayer

CDN Used

* Amazon S3 CloudFront
* Google
* YouTube
* MaxCDN
* Rackspace CDN
* EdgeCast
* Flickr
* Akamai
* StreamGuys

Servers Used

* Wowza
* Adobe
* Red5
* SHOUTCast
* Windows Media Server

Clients Used

* Adobe – Flash Media Live Encoder
* Windows Media Encoder
* VLC Player
* SMPlayer
* SAMCast

Streaming Tools

* MPlayer
* FFmpeg
* RTMPDump
* VLC
* Flash Media Players
* HTML5

CMS Used

* Kaltura
* VidZapper

A webcast is a media streaming technology to distribute single media content source to many simultaneous listeners/viewers. The webcast might be distributed live or on demand. Webcasting is “broadcasting” over the Internet.

http://www.svnlabs.com/services/media-streaming

 

There are only two ways to live your life

Tolerate things the way they are…… Or take responsibility to change them.

PHP Cloud


Hits: 5079  

Introduction to the Zend Developer Cloud

PHPCloud help to Develop, Deploy and Manage PHP Applications in to Any Cloud (Amazon, Rackspace, RightScale, IBM SmartCloud) using Zend Application Fabric.

Demo: http://svnlabs.my.phpcloud.com
Contact: http://blog.svnlabs.com/contact/

Rackspace Cloud Servers vs Amazon EC2


Hits: 3617  
Rackspace Cloud Servers Amazon EC2
Support Cloud Servers™ is backed by the legendary Fanatical Support you can only get from Rackspace. To receive 24x7x365 support for Amazon EC2, you pay the greater of $400 per month or 10% (scaling down) of your EC2 costs.
Third Party Software Support The Cloud Servers™ with a managed service level option gives our customers support for a number of third party software. Amazon does not provide support for third party software even if customers purchase the highest level of support.
Admin Level Troubleshooting If requested by a Cloud Servers™ with a managed service level customer, Rackspace Cloud support techs will log in to a customer’s Cloud Server to help fix a problem. Amazon Support will not log in to a customer’s EC2 server to help its customers fix a problem.
Persistence One of the most significant differences between Cloud Servers™ and EC2 is the persistence of each virtual server. Cloud Servers™ has access to local, RAID10 disk storage, much like you’d expect in a physical server. Amazon EC2 instances are transient or ephemeral—if there is a host failure that causes your instance to terminate, all local data on that instance will be lost. Data persistence (not server persistence) can be added with Amazon EBS; however, EBS adds additional cost and complexity.
Server Sizes We provide a wide variety of Cloud Server sizes, starting at 256 MB and going up to 30 GB. Cloud Servers™ can be resized to scale without any reinstallation. Amazon EC2 Standard Instances start at 1.7 GB, so if your workload requires fewer resources, you are stuck paying for much more than you need. Amazon recently introduced Micro Instances (starting at 613 MB) for customers needing CPU burst capabilities.
Hybrid Hosting Depending on your needs, you can get the best of both worlds with a combination of cloud and dedicated servers with our RackConnect™ solution. Amazon only offers part of the answer, with only cloud solutions. Amazon VPC is a beta service offering to connect a company’s infrastructure to Amazon’s cloud; however, Amazon does not offer hosting on dedicated/managed servers.
CPU Scheduling Cloud Servers™ has guaranteed minimum CPU power (relative to the size of the Cloud Server), with free bursting when extra capacity is available on the host. Amazon EC2 instances have a capped CPU. If additional CPU capacity is required, you need to launch another instance. Amazon recently introduced Micro Instances which can be added (at an additional cost) for extra CPU resources.
Compute Power A recent study conducted by an independent third party demonstrated that US-based Cloud Servers™ is, on average, more than two times more powerful than comparable Amazon EC2 servers. While the pricing of EC2 instances appears to be lower, if it takes more than twice the time to complete a task, the total price to complete a task increases proportionally.
Disk I/O A recent study conducted by an independent third party demonstrated that on average US-based Cloud Servers™ have a higher disk throughput than comparable Amazon EC2 servers. Amazon has a block storage solution that can show better performance than their built-in ephemeral storage under the right conditions; however, this solution results in additional costs, as both the amount of data stored and transferred are billed for.
IP Addresses Each Cloud Server comes with the simplicity of a dedicated and persistent public IP address (no NAT) with a second, private IP address for free. There is also low latency bandwidth between your Cloud Servers™. Additional public IPs are available upon request and shared IPs can be provided for high availability. With EC2, the IP configuration is more complex. Each instance gets a non-persistent private IP address NATed to a public IP address. When instances terminate and new ones are launched, a new private IP address is assigned which means you need to plan for changing private IPs.
Open Philosophy In 2010, Rackspace became a founding member of OpenStack, an open-source cloud platform designed to foster the emergence of technology standards and cloud interoperability. Amazon has not embraced an open-source approach for cloud interoperability.

 

Source: http://www.rackspace.com/cloud/cloud_hosting_products/servers/compare/

Rackspace Cloud Load Balancers vs. Amazon Elastic Load Balancing


Hits: 5588  
Rackspace Cloud Load Balancers Amazon Elastic Load Balancing
Support Chat/phone/ticket support available 24x7x365 To receive 24x7x365 support for Amazon EC2, you pay the greater of $400 per month.
Dedicated Public IP Address A dedicated IP address allows for use as a root record for a zone. When you create an ELB instance, you get a public DNS name; however, it’s not very user friendly and you will want to create a CNAME record in DNS to redirect to your URL.
Access Control List (ACL) Rackspace cloud load balancer has an ACL-based security model. Access control list feature is not available.
Connection Logging Logs are sorted, aggregated, and delivered hourly to Cloud Files™, which is perfect for users who need to perform tuning, inspection, or analysis. Connection logging feature is not available.
Connection Throttling Rackspace cloud load balancers have a connection throttling feature which imposes limits on the number of connections per IP address. Connection throttling feature is not available.
Selectable Algorithms Customize the behavior of your cloud load balancer with selectable algorithms, including: random, round robin, weighted round robin, least connections, and weighted least connections. ELB utilizes only a non-configurable round robin load balancing algorithm.
Advanced HTTP Health Monitoring Rackspace Cloud Load Balancers can use synthetic transaction monitoring to inspect an HTTP response code and body content to ensure the application or site is healthy. While HTTP and TCP-based health monitors are available, ELB does not permit users to define an acceptable status code or body regular expression to match against.
Shared IPs Shared IPs facilitates easier management and better IP utilization of load balancer configuration. ELB does not permit users to share a single IP address across multiple load balancers, but does allow for a single load balancer to support multiple port configurations.
Internal Virtual IPs Internal virtual IPs feature allows you to load balance internal services, without being penalized with external bandwidth charges. All ELBs are configured as public virtual IPs. An internal virtual IP option is not available.
SSL Termination Does not support SSL termination at the load balancer. Supports SSL termination at the load balancer.

 

Source: http://www.rackspace.com/cloud/cloud_hosting_products/loadbalancers/compare/

BigBlueButton – Copyright Labels


Hits: 4392  

BigBlueButton is an open source web conferencing system for distance education.

BigBlueButton API in PHP can be used to integrate BBB in PHP websites or Applications.

Google Code for BBB | BigBlueButton — Open Source Web Conferencing

Main file for BigBlueButton Configurations

BBB-bigbluebutton.properties

Simple steps:

# cd xxx/BigBlueButton-client
# ant localization

the command will compile the src/locale, to different swf file, take en_US for example

in src/locale there is another folder named en_US
in this folder you will see a properties file named bbbResources.properties

every time you want to change something in this file, just edit it as your willing, then use ant localization, it will make the en_US_resources.swf

just copy this file to the var/www/bigbluebutton/locale 😉

bbb.mainshell.copyrightLabel2 = (c) 2011, BigBlueButton build {0} – For more information see http://www.bigbluebutton.org/.

BBB-FlashBuilder

#----------------------------------------------------
# Default welcome message to display when the participant joins the web
# conference. This is only used for the old scheduling which will be
# removed in the future. Use the API to create a conference.
defaultWelcomeMessage=<br>Welcome to MyBBB.com.<br><br>For help <a href="event:http://mybbb.com/support/"><u>click here</u></a>.<br><br>

#—————————————————-
# This URL is where the BBB client is accessible. When a user sucessfully
# enters a name and password, she is redirected here to load the client.
bigbluebutton.web.serverURL=http://xxx.xxx.yyy.yyy:81

#—————————————————-
# Assign URL where the logged-out participant will be redirected after sign-out.
# If commented-out, it returns to bigbluebutton.web.serverURL
bigbluebutton.web.logoutURL=http://www.mybbb.com/chat_logout.php

After All Modifications just restart BBB 😉

# bbb-conf –restart

Other Links:

https://github.com/bigbluebutton/bigbluebutton
http://code.google.com/p/bigbluebutton/wiki/DevelopingBBB

BigBlueButton API in PHP


Hits: 12127  

BigBlueButton -- Open Source Web Conferencing

BigBlueButton supports sharing of slides (PDF and PPT), video, whiteboard, chat, voice (using Asterisk or FreeSWITCH), and desktops. It’s built using over many open source components, runs on Mac, Unix, and PC computers, and is supported by a community that cares about good design and a streamlined user experience.

BigBlueButton is built using the following open source components:

Ubuntu, Flex SDK, Ghostscript, Grails, ActiveMQ, Asterisk, Image Magick, MySQL, nginx, Red5, swf Tools, Tomcat, Asterisk Java, Xuggler, Open Office…

BBB is available on Google Code

BigBlueButton is an open source web conferencing system that enables universities and colleges to deliver a high-quality learning experience to remote students.

See examples of how you can integrate BigBlueButton into your applications.

Create Your Own Meeting


<?php

$IP ‘yy.yy.xx.xxx’;  // Server IP where BigBlueButton (BBB) Installed

$Port 81;  // Server port to BBB i.e. 81

// Method: create – To create meeting

$string “createname=Test+Meeting&meetingID=accounts123&attendeePW=accounts123&moderatorPW=accounts123”;

$salt “XYBGDRYUOPLJMAWDGNHYDFFGHGJJ435D”;  // security salt for BBB & API

$sha sha1($string.$salt);

$link “name=Test+Meeting&meetingID=accounts123&attendeePW=accounts123&moderatorPW=accounts123&checksum=”.$sha;

?>

<a href=”http://<?php echo $IP?>:<?php echo $Port?>/bigbluebutton/api/create?<?php echo $link?>“>Create Meeting</a><br><br>

<?php

// Method: join – To join meeting

$string “joinfullName=Joe+User&meetingID=accounts123&password=accounts123”;

$salt “XYBGDRYUOPLJMAWDGNHYDFFGHGJJ435D”;

$sha sha1($string.$salt);

$link “fullName=Joe+User&meetingID=accounts123&password=accounts123&checksum=”.$sha;

?>

<a href=”http://<?php echo $IP?>:<?php echo $Port?>/bigbluebutton/api/join?<?php echo $link?>“>Join Meeting</a><br><br>

<?php

// Method: join – To join meeting as username

$string “joinfullName=Sandeep&meetingID=accounts123&password=accounts123”;

$salt “XYBGDRYUOPLJMAWDGNHYDFFGHGJJ435D”;

$sha sha1($string.$salt);

$link “fullName=Sandeep&meetingID=accounts123&password=accounts123&checksum=”.$sha;

?>

<a href=”http://<?php echo $IP?>:<?php echo $Port?>/bigbluebutton/api/join?<?php echo $link?>“>Join Meeting as sandeep</a><br><br>

<?php

// Method: isMeetingRunning – To check meeting is active/running

$string “isMeetingRunningmeetingID=accounts123”;

$salt “XYBGDRYUOPLJMAWDGNHYDFFGHGJJ435D”;

$sha sha1($string.$salt);

$link “meetingID=accounts123&checksum=”.$sha;

?>

<a href=”http://<?php echo $IP?>:<?php echo $Port?>/bigbluebutton/api/isMeetingRunning?<?php echo $link?>“>Check Meeting Running</a><br><br>

Create Your Own Meeting Link

Checkout other article “BigBlueButton on CentOS”

Download BBB.zip

EC2 instance using Amazon SQS queues


Hits: 4306  

Amazon Simple Queue Service (Amazon SQS) offers a reliable, highly scalable, hosted queue for storing messages. Amazon SQS can be used to applications that perform different tasks, without losing messages. Amazon SQS enables users to build an automated workflow.

Amazon Elastic Compute Cloud (EC2) is a web service that provides resizable compute capacity in the cloud. Amazon EC2 can be used for building applications that start small but can scale up rapidly as demand increases (Auto Scaling).

Amazon EC2 Features:

a) Increase or decrease capacity within minutes.
b) Make one, hundreds, or even thousands of server instances simultaneously.
c) Web Service API to control the scaling of instances depending on needs.
d) Pay only for what you use (Pay Per Use) pricing model.

SQS

Features of Amazon SQS:

a) Single Amazon SQS queue can be shared by multiple servers simultaneously.
b) Server that is processing a message can prevent other servers from processing the same message at the same time using temporarily “locking” a message. The server can specify the amount of time the message is locked. When the server is done processing the message, it should delete the message. If the server fails while processing the message, another server can get the message after the lockout period.

AWS-SQS-EC2-S3

Pipeline processing with Amazon SQS:

Pipeline processing with Amazon SQS

a) Flexibility: Large monolithic server can be divided into multiple smaller servers without impacting the current system.

b) Piecemeal upgrades: Individual sub-components can be taken offline / upgraded without bringing the entire system down.

c) Tolerance to failures: Amazon SQS isolates sub-components from each other so the failure of one component does not impact the rest.


<?php

require_once('sqs.client.php');

define('AWS_ACCESS_KEY_ID''<access key>');

define('AWS_SECRET_ACCESS_KEY''<secret key>');

define('SQS_ENDPOINT''http://queue.amazonaws.com');

define('SQS_TEST_QUEUE''SQS-Queue-SVNLabs');

define('SQS_TEST_MESSAGE''Welcome to SQS.');

try

{

   $q = new SQSClient(AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYSQS_ENDPOINT);

   // create Queue

   
$result $q->CreateQueue(SQS_TEST_QUEUE);

   

   
// list Queue

   
$result $q->ListQueues();

   // send message to Queue

   
$messageId $q->SendMessage(urlencode(SQS_TEST_MESSAGE));

   // receive message from Queue

   
$messages $q->ReceiveMessage();

}

catch(
Exception $e)

{

    echo 
'Exception occurred: '$e->getMessage(), "\n<br />\n";

}

?>