AWS for Startups, London - Programming AWS
Upcoming SlideShare
Loading in...5
×
 

AWS for Startups, London - Programming AWS

on

  • 1,433 views

An overview of the SDKs and tools available when working with AWS. Review of sample application code and a live demo of a deployment using AWS Elastic Beanstalk.

An overview of the SDKs and tools available when working with AWS. Review of sample application code and a live demo of a deployment using AWS Elastic Beanstalk.

Statistics

Views

Total Views
1,433
Views on SlideShare
1,431
Embed Views
2

Actions

Likes
18
Downloads
59
Comments
0

1 Embed 2

https://twitter.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

AWS for Startups, London - Programming AWS AWS for Startups, London - Programming AWS Presentation Transcript

  • PROGRAMMING AMAZON WEB SERVICES Andreas Chatzakis | Solutions Architect AWS for Startups London, 12th September 2013
  • Agenda • Deploying your app: Elastic Beanstalk • Demo • Programmable Infrastructure: APIs, SDKs, CLI
  • “HOW DO I DEPLOY MY APP ?”
  • AWS Application Management Solutions Higher-level Services Elastic Beanstalk Convenience OpsWorks Do it yourself CloudFormation EC2 Control
  • ELASTIC BEANSTALK QUICKLY DEPLOY AND MANAGE APPLICATIONS
  • Select a Container IIS, Node.js, PHP, Python, Ruby, Tomcat
  • DEPLOY YOUR APPLICATION
  • THE CONTAINER IS CREATED IN EC2 User Application Application Service HTTP Service Language Interpreter Operating System Host
  • ELASTIC BEANSTALK TAKES CARE OF THE ENVIRONMENT
  • ADDING ELASTIC LOAD BALANCER
  • CONFIGURING AUTO SCALING GROUP
  • LAUNCHING INSTANCE(S)
  • ALL WIRED WITH ELASTIC BEANSTALK
  • APPLICATION IS PUBLISHED UNDER A CNAME
  • WITH LOGS AND APP VERSIONS STORED IN S3
  • HOW DO YOU CREATE AN APPLICATION FOR ELASTIC BEANSTALK ?
  • LIKE ANY OTHER APPLICATION
  • Java .war file IDE plugins Microsoft Web Deploy package PHP .zip file Git integration Python .zip file PACKAGE UP AS NORMAL
  • CONSOLE DEPLOYMENTS AND VERSION UPDATES
  • CheckDNSAvailability eb init elastic-beanstalk-check-dns-availability CreateApplication wizard to initialize an application eb start/stop elastic-beanstalk-create-application CreateApplicationVersion start/stop an application eb update elastic-beanstalk-create-application-version CreateEnvironment update application version eb status elastic-beanstalk-create-environment get status of a running application COMMAND LINE TOOLS AND “WIZARDS”
  • ECLIPSE INTEGRATION
  • VISUAL STUDIO INTEGRATION
  • GIT INTEGRATION
  • CONTAINER CONFIGURATION
  • CONTAINER CUSTOMIZATION
  • ENVIRONMENTAL PROPERTIES Accessible from within the application e.g.: define('S3_BUCKET', $_SERVER['PARAM1']);
  • TIME FOR A DEMO
  • AWS is a set of building blocks
  • WHAT DO I NEED TO Object Storage Send Email Message Queue Notification (Pub & Sub) NoSQL DB Video Transcoding Content Delivery Monitoring Search DO ?
  • WHAT DO I NEED TO ? Object Storage S3 Send Email SES Message Queue SQS Notification (Pub & Sub) SNS NoSQL DB DynamoDB Video Transcoding Elastic Transcoder Content Delivery CloudFront Monitoring CloudWatch Search CloudSearch
  • = PROGRAMMABLE PLATFORM
  • API | SDK | CLI
  • API | SDK | CLI
  • // Load the AWS PHP SDK require __DIR__ . '/../vendor/autoload.php'; $aws = AwsCommonAws::factory('/path/to/config.json'); // Instantiate the s3 client $s3client = $aws->get('s3');
  • // List available S3 buckets try { $result = $s3client->listBuckets(); foreach ($result['Buckets'] as $bucket) { echo "- {$bucket['Name']}n"; } } catch (AwsS3ExceptionS3Exception $e) { echo "Request failed.n"; } echo "n"; // upload an object into S3 $s3client->putObject(array( 'Bucket' => $bucketName, 'Key' => $objectKey, 'Body' => fopen($file->getPathname(), 'r'), 'ACL' => CannedAcl::PUBLIC_READ, ));
  • // Instantiate the DynamoDB client $ddb = $aws->get('dynamodb'); // Get today's flavors from DynamoDB $date = new DateTime(); $result = $ddb->getItem(array( 'TableName' => 'flavors-of-the-day', 'Key' => array( 'HashKeyElement' => array('N' => $date->format('n')), 'RangeKeyElement' => array('N' => $date->format('j')) ) )); $flavors = $result->getPath('Item/flavors/SS');
  • - Temporary AWS credentials provisioned on EC2 instances Automatically rotated for you multiple times per day. Initialize the client and the AWS SDK will do the rest. Increased security & convenience
  • “All files stored online by Dropbox are encrypted and kept securely on Amazon’s Simple Storage Service (S3) in multiple data centers located across the United States.”
  • “Amazon DynamoDB initially served as a secondary data store for user activity and interaction logs. However, this new NoSQL database service was integrated into the production environment as the primary data store when Shazam realized it could support over 500,000 writes per second.”
  • FREE TIER http://aws.amazon.com/free TOOLS & SDKs http://aws.amazon.com/tools ELASTIC BEANSTALK http://aws.amazon.com/elasticbeanstalk BLOG http://aws.typepad.com