Cloudfork
cloud computing using Smalltalk




         Ernest Micklei & Jan van de Sandt
               ESUG 2009, Brest, ...
Talking about
 Cloudfork and Cloud Computing
   what is there and how can it be used ?
 ActiveItem
   demo
 Future of Clou...
Cloud Computing




Cloud computing is a style of computing in which
dynamically scalable and often virtualized resources ...
Cloudfork

Cloudfork
  interfaces to use Cloud Computing services
  portable Smalltalk
  open source (MIT)
focus on Amazon...
Cloudfork AWS

interfaces to Amazon WebServices
  Simple Storage Service (S3)
  Simple Queuing Service (SQS)
  SimpleDB
  ...
AWS in general
Pay-per-use, low cost
High Availability
SOAP + REST api
Global accessible
Architecture:
  BASE: basically a...
AWS in dollars*
               Storage            Data transfer                    CPU
                                   ...
AWS - S3
Simple Storage Service


 Objects [1 Byte .. 5 GB] in Buckets
 Unique key within a Bucket
 meta data
 streaming
 ...
Cloudfork - S3

s3 := CFSimpleStorageService newWith: awsCredentials.

s3 createBucketNamed: ‘esug.2009.bucket’.

bucket :...
AWS - SQS
Simple Queue System


 a-synchronous communication
   decoupling systems
   jobs
 Private queues
 8 KByte messag...
Cloudfork - SQS

sqs := CFSimpleQueueService newWith: awsCredentials.

qurl := (sqs createQueue: ‘esug-2009-queue’) result...
AWS - SimpleDB
“Huge dictionary in the Cloud”
domains with items
multi-valued attributes
Strings only
auto-indexed
query a...
AWS SimpleDB

                 8)   677866)   *%+,-')
 !"#!$$%&'()
                                .)',+/)
               ...
Cloudfork - SimpleDB
simpleDB := CFSimpleDB newWith: awsCredentials.

simpleDB createDomain: ‘esug-2009-domain’.

domain :...
Embrace the Cloud

The Cloud is a chance for the Smalltalk vendors to
innovate:
  New pricing models
  Create standard arc...
http://www.flickr.com/photos/z-s-k/3797325107/sizes/o/
Cloudfork - ActiveItem

 ActiveRecord pattern implementation on top of
 Amazon SimpleDB
 attribute mappings
 association m...
ActiveItem features

 auto-mapping common types
 DSL for relations ( belongsTo, hasMany, ownsOne, ...)
 inheritance
 valid...
Domain Sharding

    AWS SimpleDB item:                        user.dennis      2004-09-16      male




     users.a-f   ...
Time to browse...
Future of Cloudfork ?


 complete the API
 add API to other AWS services
 other providers
More Amazon APIs ...
Auto Scaling
Elastic Load Balancing
CloudWatch (beta)
Cloudfront
Elastic MapReduce
Flexible Payment S...
More Cloud providers ...
Cloudfork App-engine


like Google App Engine
upload a prepared image
the app-engine deploys is and ensures serviceability...
Add Cloud support for

Magritte & Pier
  Persistency to SimpleDB and S3
Seaside
  Hosting on EC2 (+ httpd load balancer fr...
Build in the Cloud

 Continuous Integration Server in the Cloud
   Build Core and Dev images
   Test reports
   QA reports...
c’est fini


 cloudfork.googlecode.com
 blog.doit.st
ActiveItem composition


      Person       1                1        Address   Examples:
 id                             ...
ActiveItem - tools

 SimpleDBEmulator for Unit tests
 AiBrow for exploring items
   Seaside
   Glare-DataServices
CloudFork
Upcoming SlideShare
Loading in...5
×

CloudFork

1,346

Published on

CloudFork - Flying into the Cloud with Smalltalk by E. Micklei, J. van de Sandt. ESUG09, Brest, France

Published in: Technology, Travel
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

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

No notes for slide

CloudFork

  1. 1. Cloudfork cloud computing using Smalltalk Ernest Micklei & Jan van de Sandt ESUG 2009, Brest, France
  2. 2. Talking about Cloudfork and Cloud Computing what is there and how can it be used ? ActiveItem demo Future of Cloudfork ? discussion !
  3. 3. Cloud Computing Cloud computing is a style of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet. Users need not have knowledge of, expertise in, or control over the technology infrastructure in the "cloud" that supports them.
  4. 4. Cloudfork Cloudfork interfaces to use Cloud Computing services portable Smalltalk open source (MIT) focus on Amazon Web Services (AWS)
  5. 5. Cloudfork AWS interfaces to Amazon WebServices Simple Storage Service (S3) Simple Queuing Service (SQS) SimpleDB Elastic Cloud Computing (EC2)
  6. 6. AWS in general Pay-per-use, low cost High Availability SOAP + REST api Global accessible Architecture: BASE: basically available, soft state, eventually consistent KISS: keep it simple ....
  7. 7. AWS in dollars* Storage Data transfer CPU $0.10 per GB in $0.01 per 10,000 S3 $0.15 per GB / month $0.17 per GB out GET requests $0.10 per GB in $0.01 per 10,000 SQS n.a. $0.17 per GB out requests First 1 GB free First 1 GB free $0.14 per SimpleDB $0.25 per GB / month $0.10 per GB in Machine Hour $0.17 per GB out ranging from $0.10 per hour ( small linux ) EC2 to $1.20 per hour ( extra large windows ) * see aws.amazon.com for exact pricing
  8. 8. AWS - S3 Simple Storage Service Objects [1 Byte .. 5 GB] in Buckets Unique key within a Bucket meta data streaming distribution ( bittorrent ) access controlled
  9. 9. Cloudfork - S3 s3 := CFSimpleStorageService newWith: awsCredentials. s3 createBucketNamed: ‘esug.2009.bucket’. bucket := s3 openBucketNamed: ‘esug.2009.bucket’. bucket putObject: ‘presenting in Brest, France’ as: ‘tweet’. ( bucket getObject: ‘tweet’ ) result asString.
  10. 10. AWS - SQS Simple Queue System a-synchronous communication decoupling systems jobs Private queues 8 KByte messages non-transactional
  11. 11. Cloudfork - SQS sqs := CFSimpleQueueService newWith: awsCredentials. qurl := (sqs createQueue: ‘esug-2009-queue’) result. sqsq := sqs openQueue: qurl. sqsq sendMessage: ‘ESUG 2009’. msg := (sqsq receiveMessage) result body
  12. 12. AWS - SimpleDB “Huge dictionary in the Cloud” domains with items multi-valued attributes Strings only auto-indexed query api
  13. 13. AWS SimpleDB 8) 677866) *%+,-') !"#!$$%&'() .)',+/) 8) 9) 0(/+) !12-3&(/) .)',+/) 8) 9) .)',+/) 8) •!86:;)<,(,)=/2)<%+,-') •!>?@)!12-3&(/)',+/.A,5&/)=,-2B)=/2)-(/+) 8779) 4,5&/)
  14. 14. Cloudfork - SimpleDB simpleDB := CFSimpleDB newWith: awsCredentials. simpleDB createDomain: ‘esug-2009-domain’. domain := simpleDB openDomain: ‘esug-2009-domain’. item := CFSimpleDBItem new name: ‘esug-conference-2009’ ; valueAt: ‘visitors’ put: ‘400’. domain itemPut: item. ( domain itemAt: ‘esug-conference-2009’ ) result.
  15. 15. Embrace the Cloud The Cloud is a chance for the Smalltalk vendors to innovate: New pricing models Create standard architectures loadbalancing different persistence solutions
  16. 16. http://www.flickr.com/photos/z-s-k/3797325107/sizes/o/
  17. 17. Cloudfork - ActiveItem ActiveRecord pattern implementation on top of Amazon SimpleDB attribute mappings association mapping save , delete , find
  18. 18. ActiveItem features auto-mapping common types DSL for relations ( belongsTo, hasMany, ownsOne, ...) inheritance validators domain sharding strategies
  19. 19. Domain Sharding AWS SimpleDB item: user.dennis 2004-09-16 male users.a-f users.g-p users.q-z itemName attribute ... itemName attribute ... itemName attribute ... user.andre user.lisa user.theo
  20. 20. Time to browse...
  21. 21. Future of Cloudfork ? complete the API add API to other AWS services other providers
  22. 22. More Amazon APIs ... Auto Scaling Elastic Load Balancing CloudWatch (beta) Cloudfront Elastic MapReduce Flexible Payment Service
  23. 23. More Cloud providers ...
  24. 24. Cloudfork App-engine like Google App Engine upload a prepared image the app-engine deploys is and ensures serviceability and scalability
  25. 25. Add Cloud support for Magritte & Pier Persistency to SimpleDB and S3 Seaside Hosting on EC2 (+ httpd load balancer front-end)
  26. 26. Build in the Cloud Continuous Integration Server in the Cloud Build Core and Dev images Test reports QA reports Test package compatibility
  27. 27. c’est fini cloudfork.googlecode.com blog.doit.st
  28. 28. ActiveItem composition Person 1 1 Address Examples: id id aPerson address. address aPerson ownsOne: #address => address is stored in aPerson
  29. 29. ActiveItem - tools SimpleDBEmulator for Unit tests AiBrow for exploring items Seaside Glare-DataServices
  1. Gostou de algum slide específico?

    Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

×