Cloud Development with Camel and Amazon Web Services
Upcoming SlideShare
Loading in...5

Cloud Development with Camel and Amazon Web Services



This presentation will demonstrate how to rapidly prototype and develop distributed, scalable applications with Apache Camel, its AWS Components and the AWS Java SDK. ...

This presentation will demonstrate how to rapidly prototype and develop distributed, scalable applications with Apache Camel, its AWS Components and the AWS Java SDK.

Robin Howlett is Senior Architect at Silver Chalice, a Chicago White Sox affiliated start-up, based in Boulder, CO, with a portfolio of high-value digital-based businesses in the fields of sports, media and entertainment. In 2011, he built the Advanced Media Platform, a proprietary cloud-based platform that services millions of requests per day across dozens of mobile application products, heavily utilizing the Apache Camel framework.



Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



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.

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

Cloud Development with Camel and Amazon Web Services Cloud Development with Camel and Amazon Web Services Presentation Transcript

  • ABOUT ME • Robin Howlett • Senior Architect at Silver Chalice (Boulder, CO) • Lead for Advanced Media PlatformFriday, May 18, 12
  • ABOUT SILVER CHALICE • Work with sports and media entities to build digital businesses • Focus on mobile, digital sales, video, social and digital networks, and new media technologies • Backed by Chicago White Sox ownership • Clients are major media and sports companiesFriday, May 18, 12
  • WHY CAMEL + AWS? • Startup: small team, big project, quick deadline • Existing products in market; needed to scale on day 1 • Complex data ecosystem; variety of providers, data formats and distribution methods • Needed expressive, powerful integration frameworkFriday, May 18, 12
  • STYLE • Brief overviews for context • Technical detail over broad descriptions • Code-first approach; fewer slides • Increasing complexity • Personal experience • Q&A best for business and management questionsFriday, May 18, 12
  • AGENDA • Introduction to Amazon Web Services • Details of selected AWS products and architectures • Overview of AWS SDK for Java and AWS Toolkit for Eclipse • Demo: Camel’s AWS components • Scaling Demo: Camel and AWS Elastic Beanstalk • Cloud Routing Demo: Camel and AWS Simple Workflow (SWF) • Q&AFriday, May 18, 12
  • AMAZON WEB SERVICES • Pay-as-you-go • Scalable-on-demand resources • HA • Global • Computing, Storage, Middleware, Database, Networking, CDN, Security, DevOps • Open source technologies prominent • Web service APIs and SDKs • IaaS, PaaS, ?aaSFriday, May 18, 12
  • AWS MAPFriday, May 18, 12
  • IMPLICATIONS • Rapid engineering • Smaller teams with greater scope • Budgeting • SLAs • Security • Non-traditional engineering • ComplexityFriday, May 18, 12
  • AWS PRODUCTS & SERVICES • EC2 & EBS • Elastic Beanstalk • S3 & CloudFront • ELB & Auto-Scaling • RDS, SimpleDB & DynamoDB • Route 53 • SQS • ElastiCache • SNS • CloudSearch • SWF • CloudFormation • IAM • VPC • EMR • CloudWatch • SES • AMIsFriday, May 18, 12
  • EC2 • Micro-instances to high-computing clusters • On-demand, spot or reserved pricing options • EBS vs Instance Stores: implications • Templating with AMIs and CloudFormation • Security: IAM users, key pairs and security groups • Load Balancing and Elastic IPsFriday, May 18, 12
  • S3 • What’s cooler than a trillion objects? • Buckets of objects, uniquely identified • REST & SOAP interfaces; HTTP and BitTorrent • SLA: 99.9% “uptime”; 99.999999% durability • Static content, publicly accessible • Combine with CloudFront for an instant global CDNFriday, May 18, 12
  • RDS, SIMPLEDB & DYNAMODB • RDS: MySQL or Oracle relational databases • RDS: Invisible, auto-sharding, multi-AZ deployment, read replicas • SimpleDB: non-relational (NoSQL) key-value-based data store; basically giant tables • SimpleDB: automatically replicated and geographically distributed • DynamoDB: NoSQL database service; columns of key-values like SimpleDB; non- binary data • DynamoDB: SSDs! Only 64KB limit on item/row however and complex pricing arrangementFriday, May 18, 12
  • SQS • Hosted, distributed queue • Ordering, idempotency and approximations • Consumers control message lifecycle with visibility timeouts • Unlimited number of messages can be processed (64KB of text max)Friday, May 18, 12
  • SNS • Pub-Sub web service • Notification protocols include HTTP(S), SQS, email, SMS • Subscribers must opt-in (SQS is automatic) • Great for monitoring and mobileFriday, May 18, 12
  • AWS SDK FOR JAVA • • Apache 2.0 License; some Apache Commons dependencies • Almost all products and services supported • Samples includedFriday, May 18, 12
  • AWS TOOLKIT FOR ECLIPSE • Includes AWS SDK for Java • AWS Explorer GUI administration tool • Go through couple of AWS samples • Demo toolkitFriday, May 18, 12
  • CAMEL-AWS • AWS-SQS (2.6.0) • AWS-SNS (2.8.0) • AWS-S3 (2.8.0) • AWS-SES (2.8.4) • AWS-SDB (2.8.4) • AWS-DDB (2.10.0*)Friday, May 18, 12
  • DEMO: CAMEL-AWS COMPONENTSFriday, May 18, 12
  • AWS ELASTIC BEANSTALK • Platform-as-a-Service • Provisioning, deployment, auto-scaling policies, load balancing, monitoring • Leverages EC2, S3, SNS, Elastic Load Balancing, and Auto-Scaling • Linux AMI, Apache Tomcat (6/7, 32- or 64-bit), Apache Web Server, Java EE • Demo with AWS ToolkitFriday, May 18, 12
  • SWF • Simple Workflow Service • Distributed coordination hub web service • Manages state, tasks, execution dependencies, scheduling, monitoring and history • Console provided • Tasks, Workers and Deciders • Camel complements itFriday, May 18, 12
  • Activity workers are independent task processors. They can do a variety of different tasks e.g. poll, store and converts providers’ data Activity to our reference data models Workers Different workers can be responsible for each processing step, and can be combined in any way, so they are extremely scaleable The workflow engine is the coordination and orchestration system. It is capable of Workflow controlling clusters of workers, load balancing, Engine handling distributed exceptions and tracking workflow progress. Workflow workers decide the order, timing Workflow The workflow scheduler is Workflow and concurrency of tasks the Workers Scheduler responsible for when workflows activity workers should be started work onFriday, May 18, 12
  • AWS FLOW FRAMEWORK • Java programming framework for SWF • Translates method calls into schedule decisions; assigns tasks to workers • Long running workflows, large media processing • @Workflow and @Activities (show simple example)Friday, May 18, 12
  • CLOUD ROUTING DEMO: CAMEL & SWFFriday, May 18, 12
  • Q&AFriday, May 18, 12