Upload
elastic-grid-llc
View
1.351
Download
0
Tags:
Embed Size (px)
Citation preview
www.devoxx.com
Dynamic Deployment and Scalability for the Cloud
Jerome BernardDirector, EMEA OperationsElastic Grid, LLC.
www.devoxx.com
Overall Presentation Goals
Learn what Cloud Computing is about
Learn how to deploy and scale applications on any Cloud Platform
www.devoxx.com
Speaker’s qualificationsJerome Bernard is a committer on Rio, Typica, JiBX and co-founder of Elastic Grid, LLC.
Jerome Bernard speaks frequently on Cloud Computing
Recently: JavaOne, JavaZone and the Open World Forum
Jerome Bernard is working with many clients using EC2, from TV channels to specialized media processing companies.
Cloud Computing event in the work for early ‘09 in Paris, France. You’re invited!
3
www.devoxx.com
Agenda
Introduction to the Cloud ComputingIntroduction to Amazon EC2Introduction to Elastic Grid
Sample DeploymentsDemo
www.devoxx.com
Why Cloud Computing?
Next logical step after virtualization
We want to use resources to their best usage, nothing more, nothing less, and be able to scale hardware too
Can your traditional hosting scale to thousands of machines in a week?
Can you afford spending huge amounts buying hardware if you only need it for a week?
5
Intro to the Cloud Computing
www.devoxx.com
Which Cloud Computing flavor?
Software as a Service (SaaS)
Platform as a Service (PaaS)
Infrastructure as a Service (IaaS)
References
SaaS : SalesForce, Facebook, LinkedIn
PaaS : SalesForce (EC2), Google App Engine, Microsoft Azure
IaaS : Amazon EC2, GoGrid, Flexiscale6
Intro to the Cloud Computing
www.devoxx.com
Google App Engine
Make use of BigTable and Memcache
Integrate with Google Accounts
But in Python only...
Microsoft Azure
Mostly thought for Windows and .Net solutions
Pricing model yet unclear
7
Platform as a Service
www.devoxx.com
PaaS Pros
Usually easier to use than IaaS
Integrate with specific environments (Google, Microsoft Live, etc.)
PaaS Cons
Less/No control over the Infrastructure
Languages/Services chosen by the provider
Vendor Lock-in
8
PaaS vs IaaS
www.devoxx.com
Amazon EC2 is Infrastructure as a Service (IaaS)
Rent a server on a per hour base (from $.10 to $.80)
Many Operating Systems (Linux, Solaris, Windows)
EC2 Amazon Machine Image (AMI)
Operating and system stack
Deployed to Amazon S3 (cheap storage)
EC2 instances
Virtual machines that run AMI
9
Introduction to Amazon EC2
www.devoxx.com
Typical Architecture Taxonomy
10
Introduction to Amazon EC2
Enterprise Containers, JEE, Spring, ESBs, OSGi, ...
Hardware Platform
Applications
Provisioning, Management, Monitoring & Metering
Middleware Support, JDBC, JMS, …
www.devoxx.com
Typical Architecture Taxonomy
11
Introduction to Amazon EC2
Enterprise Containers, JEE, Spring, ESBs, OSGi, ...
Hardware Platform
Applications
Provisioning, Management, Monitoring & Metering
Middleware Support, JDBC, JMS, …
www.devoxx.com
Typical Architecture Taxonomy
11
Introduction to Amazon EC2
Enterprise Containers, JEE, Spring, ESBs, OSGi, ...
Hardware Platform
Applications
Virtualized
Provisioning, Management, Monitoring & Metering
Middleware Support, JDBC, JMS, …
AMI
www.devoxx.com
EC2 AMI 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
12
Amazon EC2 pitfalls
Copy private key and certificate (for bundling
image)
Install and configure requisite software
Upload to S3
Boot base AMI
www.devoxx.com
Infrastructure challenges
Networking: no multicast but this is what most Java framework uses for clustering (JGroups, Shoal, etc.)
Backup: the local filesystem has no durability guarantee
From the time you ask for an EC2 instance to boot and the time it is ready, you can expect a few minutes...
Failures: you have to design your application to be resilient to EC2 instance failures. Anyway you should always do so :-)
13
Amazon EC2 pitfalls (cont.)
www.devoxx.com
Some few AWS advices
I/O: prefer an than Elastic Block Storage (EBS) volume to a local filesystem
Snapshot EBS volumes periodically (incremental backup) but export to S3 for complete backups
Choose the right instance type
Don’t use Small for production!
Don’t choose based on disk space (think EBS)
Choose based on available memory and CPU cores
14
Amazon EC2 advices
www.devoxx.com
Elastic Grid (abbreviated as EG)
Project initiated in early ’08
AGPLv3 license
Part of the OW2 community
Elastic Grid, LLC. founded in May ‘08
Dennis Reedy: Director US Operations, founder of the Rio OSS project, old VP Advanced Technology at Gigaspaces, old Principal Engineer at Sun
Jerome Bernard: we already went through this :-)
15
Introduction to Elastic Grid
www.devoxx.com
Elastic Grid (abbreviated as EG)
16
Introduction to Elastic Grid
www.devoxx.com
Cloud Management Fabric
Provides an adaptive capability to dynamically instantiate, monitor & manage application components
The deployment provides context on service requirements, dependencies, associations and operational parameters
Provisioning services additionally provides pluggable download distribution and resource utilization analysis mechanisms to effectively use resources on the network
17
Introduction to Elastic Grid
www.devoxx.com
Cloud Virtualization Layer
Abstracts specific Cloud Computing provider technology
Allows portability across specific implementations
You can deploy on:
Private Cloud
Amazon EC2
More to come soon...
18
Introduction to Elastic Grid
www.devoxx.com
Service Level Agreements (SLAs)
Specified in Deployment Descriptors: non-intrusive with your code
Provides selection of the best machine where to deploy the services based on the requirements
Provides active monitoring of SLA with many strategies like service relocation, provisioning of additional instances, provisioning of additional services, etc.
Green Computing and Cost Savings: when the load decreases, EG un-provision your unneeded services instances and servers
19
Introduction to Elastic Grid
www.devoxx.com
Elastic Grid Architecture
20
Introduction to Elastic Grid
Administrative Console S3
Monitor & Meter
Application Monitor
SLA PolicyEnforcement
Application Agents
www.devoxx.com
Elastic Grid Architecture
20
Introduction to Elastic Grid
Administrative Console S3
Monitor & Meter
Application Monitor
SLA PolicyEnforcement
Application Agents
Application MonitorDeploys and manages applications (composed of services), provides failover (if service(s) fail they are re-created), and
methods to scale and relocate services
www.devoxx.com
Elastic Grid Architecture
20
Introduction to Elastic Grid
Administrative Console S3
Monitor & Meter
Application Monitor
SLA PolicyEnforcement
Application Agents
Application AgentRepresents the capabilities of a virtualized compute resource,
acts as a dynamic agent instantiating application services
EG AMI
www.devoxx.com
Typical Architecture Taxonomy
21
Introduction to Elastic Grid
Hardware Platform
Applications
Provisioning, Management, Monitoring & Metering
Middleware Support, JDBC, JMS, …
Enterprise Containers, JEE, Spring, ESBs, OSGi, ...
www.devoxx.com
Typical Architecture Taxonomy
22
Introduction to Elastic Grid
Hardware Platform
Applications
Provisioning, Management, Monitoring & Metering
Middleware Support, JDBC, JMS, …
Enterprise Containers, JEE, Spring, ESBs, OSGi, ...
www.devoxx.com
Typical Architecture Taxonomy
22
Introduction to Elastic Grid
Hardware Platform
Applications
Virtualized
Provisioning, Management, Monitoring & Metering
Middleware Support, JDBC, JMS, …
Enterprise Containers, JEE, Spring, ESBs, OSGi, ...
DynamicApplication
EG AMI
www.devoxx.com
Deploy
Upload (modified) app to S3
Boot EG AMIs...
Deployments with Elastic Grid
EG AMIs are pre-set, no need to (re-)bundle
As application code changes, upload to S3 and deploy
Focuses on developer productivity
23
Introduction to Elastic Grid
www.devoxx.com
Introduction to Elastic GridElastic Grid Deployments
Deploy application code to S3
Run the deploy command
All code is dynamically served and instantiated
Application is monitored and managed across EC2 instances
Deploy
Upload S3
ApplicationMonitors
Application Agents
As needed download application resources
activate
1
2
3
www.devoxx.com
Introduction to Elastic GridElastic Grid Scalability on EC2
Across existing EC2 instances
25
App Agent EC2 Instance
App ServiceSLA
Policy Handler
Memory Observer
80%
• Allocate an Application Service• Create a SLA Policy Handler that registers for Memory utilization notifications• SLA has upper limit set to 80%
register
allocate
App Monitor EC2 Instance
www.devoxx.com
Introduction to Elastic GridElastic Grid Scalability on EC2
Across existing EC2 instances
26
80%
App ServiceSLA
Policy Handler
• Memory utilization exceeds 80%• SLA Policy Handler is notified• App Monitor allocates another Application Service instance to appropriate App Agent Instance
notify
increment
App Agent AMI
Memory Observer
App Monitor AMI
www.devoxx.com
Introduction to Elastic GridElastic Grid Scalability on EC2
Across existing EC2 instances
26
80%
App ServiceSLA
Policy Handler
• Memory utilization exceeds 80%• SLA Policy Handler is notified• App Monitor allocates another Application Service instance to appropriate App Agent Instance
notify
increment
App Agent AMI
Memory Observer
App Monitor AMI
www.devoxx.com
Introduction to Elastic GridElastic Grid Scalability on EC2
New EC2 instance
27
App Agent EC2 Instance
App ServiceEC2
Policy Handler
80%
App Monitor EC2 Instance
• Allocate an Application Service• Create an EC2 Policy Handler which registers for Memory utilization notifications• SLA has upper limit set to 80%
Memory Observer
allocate
www.devoxx.com
Introduction to Elastic GridElastic Grid Scalability on EC2
New EC2 instance
28
App ServiceSLA
Policy Handler
Memory Observer
80%
increment
App Monitor AMI
notify
App Agent EC2 Instance
www.devoxx.com
Introduction to Elastic GridElastic Grid Scalability on EC2
New EC2 instance
28
App ServiceSLA
Policy Handler
Memory Observer
80%
increment
App Monitor AMI
notifyApp Agent EC2 Instance
App Service
Memory Observer
SLAPolicy Handler
App Agent EC2 Instance
www.devoxx.com
Sample Deployments
www.devoxx.com
Calculator
Made of 4 core services (add, subtract, divide, multiply)
Consumed by a Calculator, with the help of dynamic associations
30
Sample Deployments
www.devoxx.com
Spring Bean Deployment
Simple tell the name of the Spring context
.. and the Bean to expose as a Service
You still benefit from SLAs, associations, etc.
31
Sample Deployments
www.devoxx.com
SummarySo what does Elastic Grid for the app?
Ease development and deployment of Java applications using Amazon services
Provides automated management, fault detection and scalability for the application
To be soon available: Cloud Bursting!
Why Elastic Grid should be used?
Avoid Cloud Computing platforms pitfalls
Focus on development, not infrastructure
32
www.devoxx.com
DEMO
Spring dm Server
Deployment on Amazon
www.devoxx.com
Call to Action
Private Beta: come and see me at the end of the talk so that you can get an early access to Elastic Grid.
Conference with Amazon Technology Evangelist on Friday Morning
www.devoxx.com
Q&A
www.devoxx.com
Thanks for your attention!
Elastic Grid Website: http://www.elastic-grid.comElastic Grid Blog: http://blog.elastic-grid.comElastic Grid Wiki: http://wiki.elastic-grid.com