Your SlideShare is downloading. ×
Elastic Grid talk at JavaZone 08 (Oslo, Norway)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Elastic Grid talk at JavaZone 08 (Oslo, Norway)

768
views

Published on

The slides can be downloaded from Elastic Grid Blog at: http://blog.elastic-grid.com

The slides can be downloaded from Elastic Grid Blog at: http://blog.elastic-grid.com

Published in: Technology, Business

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
768
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Elastic Grid and EC2 How can Amazon EC2 Benefit from the Elastic Grid Solution? Jerome Bernard
  • 2. About Elastic Grid • Project initiated in early ’08 • LGPLv3 license • Part of the OW2 forge • ETA for initial Early Access version: end of Oct. ‘08 • Elastic Grid, LLC. founded in May ’08 • Dennis Reedy: Director US Operations at Elastic Grid LLC, founder of the Rio OSS project, old VP Advanced Technology at GigaSpaces, old Principal Engineer at Sun • Jerome Bernard: Director EMEA Operations at Elastic Grid LLC, committer on various OSS projects like Rio, Typica, JiBX.
  • 3. Agenda • EC2 and Amazon Web Services • Capabilities, benefits and challenges • Elastic Grid introduction • Technology, approach and benefits • Elastic Grid and EC2 • Deploying and scaling applications using Elastic Grid • Demonstration
  • 4. Cloud Computing • A way to increase capacity or add capabilities on the fly without investing in new infrastructure, training new personnel, or licensing new software • Virtualized hardware available for computation • Resources “in the cloud” • Low cost of entry, utility based model • Pay for what you use • Embraced by startups, and medium to large corporations as a way to bypass IT • Cloud Computing Providers (Utility)
  • 5. Amazon EC2 Overview In a nutshell • Provides resizable compute capacity in the cloud EC2 Amazon Machine Image (AMI) • Operating System & application “stack” • Deployed using Amazon Web Services to the “cloud” • EC2 Instances that run AMIs • Virtual machines 5
  • 6. Typical Architecture Taxonomy Applications Virtual Platform Upper Platform Lower Platform Hardware Platform
  • 7. Typical Architecture Taxonomy (more detail) Applications Middleware Support, JDBC, JMS, … Enterprise Containers, JEE, Spring, ESBs, OSGi, ... Provisioning, Management, Monitoring & Metering Hardware Platform
  • 8. EC2 AMI Stack Applications Middleware Support, JDBC, JMS, … AMI Enterprise Containers, JEE, Spring, ESBs, OSGi, ... Provisioning, Management, Monitoring & Metering Hardware Platform Virtualized
  • 9. EC2 AMIs: Deployment Challenges • The EC2 AMI is a boot image, requires substantial system administrator knowledge • As application code changes, AMIs typically need to change / be re-bundled • Not focused on developer productivity Boot base AMI Copy private key and Upload to S3 certificate (for bundling image) Install and configure requisite software
  • 10. Elastic Grid (abbreviated as EG) • Dynamic infrastructure for the dynamic deployment, activation and management of Java applications on virtualized hardware • Technology building blocks • Rio: • used for provisioning of services, • both EG founders are committers of the projects • Typica: Elastic Grid, LLC is an active committer on this project • JetS3t: the most popular Java API for using Amazon S3 • Jini (River)
  • 11. Elastic Grid Architecture Administrative Application Console S3 Monitor SLA Policy Enforcement Monitor & Meter Application Agents
  • 12. Elastic Grid Architecture Administrative Application Console S3 Monitor SLA Policy Application Monitor Enforcement Deploys and manages applications (composed of services), provides failover (if service(s) fail they are re-created), and methods to scale and relocate services Monitor & Meter Application Agents
  • 13. Elastic Grid Architecture Administrative Application Console S3 Monitor SLA Policy Enforcement Application Agent EG AMI Represents the capabilities of a virtualized compute resource, acts as a dynamic agent instantiating application services Monitor & Meter Application Agents
  • 14. Elastic Grid EC2 AMI Stack Applications Middleware Support, JDBC, JMS, … Dynamic Application Enterprise Containers, JEE, Spring, ESBs, OSGi, ... Provisioning, Management, Monitoring & Metering EG AMI Hardware Platform Virtualized
  • 15. EC2 AMIs: Deployment with EG AMIs • EG AMIs are pre-set, no need to (re-)bundle • As application code changes, upload to S3 and deploy • Focuses on developer productivity Boot EG AMIs Deploy ... Upload (modified) app to S3
  • 16. Elastic Grid Deployment • Deploy application code S3 • Run the Deploy Command 1 Upload S3 • All code is dynamically served 3 As needed download and instantiated application resources • Application is monitored and managed across EC2 2 Deploy instances activate Application Monitors Application Agents
  • 17. Elastic Grid Scalability on EC2 • Across existing EC2 Instances App Agent EC2 Instance App Monitor EC2 Instance SLA App Service Policy Handler 80% allocate Memory Observer register • Allocate an Application Service • Create a SLA Policy Handler that registers for Memory utilization notifications • SLA has upper limit set to 80%
  • 18. Elastic Grid Scalability on EC2 • Across existing EC2 Instances App Agent AMI App Monitor AMI SLA App Service Policy Handler increment 80% Memory Observer notify • Memory utilization exceeds 80% • SLA Policy Handler is notified • App Monitor allocates another Application Service instance to appropriate App Agent Instance
  • 19. Elastic Grid Scalability on EC2 • Across existing EC2 Instances App Agent AMI App Monitor AMI SLA App Service Policy Handler increment 80% Memory Observer notify • Memory utilization exceeds 80% • SLA Policy Handler is notified • App Monitor allocates another Application Service instance to appropriate App Agent Instance
  • 20. Elastic Grid Scalability on EC2 • New EC2 Instance App Agent EC2 Instance App Monitor EC2 Instance EC2 App Service Policy Handler 80% allocate Memory Observer • Allocate an Application Service • Create an EC2 Policy Handler which registers for Memory utilization notifications • SLA has upper limit set to 80%
  • 21. Elastic Grid Scalability on EC2 • New EC2 Instance App Agent EC2 Instance App Monitor AMI SLA App Service Policy Handler increment 80% Memory Observer App Agent EC2 Instance notify App Service SLA Policy Handler Memory Observer
  • 22. Elastic Grid Benefits So what EG does for the app? • Ease development and deployment of Java applications using Amazon services • Provides automated management, fault detection and scalability for the application • To come soon: Cloud Bursting! Why EG should be used? • Ease deployment and management of your Java applications • The same app can work on the LAN or on the Cloud 19
  • 23. Elastic Grid Benefits - Illustrated EG uses a specific DSL meaning it’s easy to write the deployment descriptor and deploy a J2EE app on EC2 What EG does for you in that case? • Download from S3 a regular Tomcat distribution • Download your Webapp • Provision Tomcat as an external service being monitored (if Tomcat dies, it’s (re-)provisioned! 20
  • 24. Elastic Grid Tools Tools Used in the Demonstration Rio UI IntelliJ plugin • Web Console
  • 25. Demonstration – A real world use case French TV channel in need of video conversion for streaming of short videos on the Web • for now on... • VOD will come really soon • ... and CatchUp TV is close too, I suppose! Video conversion and streaming • done by a 3rd party, • but there are streaming issues and some conversion glitches As of the beginning of April ‘08, • more than 1.1K videos... • ... for about 40GB of MPEG-4 data! 22
  • 26. Demonstration – A real world use case Pricing: • 7!/GB for streaming, • 300!/month for video conversion • This solution won’t day ... scale: • about 30 videos per • ... made of 1.5GB of MPEG-4 ... • ... to process to 6 different flavors (resize, extract, etc.) • being converted on 1 machine! 23
  • 27. Demonstration – A real world use case Storage should be cheap • MPEG-4 videos and FLV videos should be stored on Amazon S3 • Streaming should beto increasereliable bps and the QoS fast and • cheap CDN in order both the • being seed from our FLV videos on Amazon S3 Flexibility of deployments for video conversion • should be able to work both on a LAN • ... and EC2 infrastructure! • Flexibility ofto wait for hours... video conversion deployments for • don’t want 24
  • 28. Demonstration Architecture SQS send conversion requests polls Video Tomcat Web App Converter reads writes S3 S3 (source) (dest)
  • 29. Demonstration Iterations • Approach 1 - Scalability on the LAN • LAN based approach using a single computer • Using automated SLA management • System scales based on observed thresholds • Approach 2 - Scalability on the Cloud • EC2 based deployment, using EG AMIs • Dynamic deployment of application to EC2 from S3 • Using automated SLA management • System scales application instances (as opposed to EC2 instances) based on observed thresholds
  • 30. Demonstration – LAN deployment Local/network file system for both the MPEG-4 videos and the converted videos (FLV). Distribution of video conversion requests: • done by our “smart proxy” sending Amazon SQS messages • .. with the name of the video to convert • Video conversion done on to the MPEG-4 videos! machines on the LAN • those machines needs access Use of a dynamic service (with the help of the EG framework) • driving the mencoder OpenSource tool • each Video Converter polls the SQS queue for requests 27
  • 31. Demonstration – LAN deployment – Results Number of Services 1 2 4 6
  • 32. Demonstration – Cloud deployment Same as before, but this time, the cluster is hosted on Amazon EC2! The videos were previously uploaded on S3! Each service running on Amazon EC2: • downloads the S3 video from a “bucket”, • convert it to the many FLV flavors, • and uploads the encoded videos to another “bucket” 29
  • 33. Demonstration – 2nd approach - Results Slower on a per instance basis, but can scale to tens, or hundreds of instances in order to run this in a timely fashion! Number of Amazon EC2 instances 1 2 4 6
  • 34. Video Conversion for Streaming of Short Videos
  • 35. Summary • Elastic Grid extends EC2, enabling users to manage & dynamically scale application service instances and EC2 instances based on declarable SLAs • Cloud decides allocation of services • QoS approach provides feedback mechanisms based on SLAs • Today: Human decides/admins each machine • Provisioning/changing services is simple • Dynamic reconfigurable systems • Make it live through the network • Availability • EG EC2 AMI is available (easy to find with the IntelliJ plugin :))
  • 36. Elastic Grid and EC2 How Can Amazon EC2 Benefit from the Elastic Grid Solution? info@elastic-grid.com