Cloud Computing was in fact the opening topic by Dave Douglas on the general session (the other topic was Open Solaris).
It was interesting to learn that SUN Cloud offer started only few months ago, but it has been quite successful with more than 3000 people using it every days.
Dave did introduce also a couple of interesting companies that offer applications that run on the SUN Cloud infrastructure:
- Moonwalk uses the cloud to save data for disaster recovery.
- Vertica : Column oriented DBMS with a version for the cloud.
- WebAppVM : Virtual Machine - to migrate from local machine to the cloud.
- Apache Hadoop a software platform that helps write and run applications that process vast amounts of data (using MapReduce).
There also a very good material on programming languages and the Cloud from Ted Leung Principal Engineer at SUN who presented an overview of cloud computing architectures and the ways they interact with programming languages. He covered various topics : Security, Concurrency, Performance, Distribution, Operational Considerations and Domain Specific Languages (DSL).
Ted introduced some of the innovations in the Cloud infrastructure including storage and computing in the Infrastructure as a Service (aaS) layer, Virtual Machine Images (Stack aaS), AppEngine, Heroku, Zembly (Platform aaS), Salesforce (Software aaS).
Infrastructure aaS issues:
- No predefined Software Stack
- You have to do everything
- Languages cannot help
- You get whatever language is in the stack
- Depends on the quality of the stack interaction
- Languages can help, part of the stack interaction
- Services are not part of the stack
- Specialized high performance Data Access/Storage (CouchDB, Big Table, Key/Value Stores, Non Relational DB, Map Reduce)
- Identity
- Asynchronous messaging (XMPP, Queing)
- Payments
- You get whatever language is in the platform
- Platform inlcudes network services beyond language runtime
- Leads to a service oriented system
- Part of the difference is the quality of the integration
- SaaS application may or may not be programmable
- The SaaS may have its onw language
- Learning curve/training
- Integration
- Multitenants
- Heterogeneous
- Scalability is a goal
- Elastic/Provisioned by machine
- Monitored/Audited
- Services Oriented
Areas where languages intersect the Cloud:
- Security/Resource Control
- Performance
- Concurrency
- Distribution
- Operational Considerations
- Domain Specific Languages
- Sandboxing (Java, Pypy, Google AppEngine)
- Capabilities (Caja, Joe-E, E)
- Transactional Memory (Haskell, Clojure)
- Actors (Erlang, Scala, Axum/F# ...)
- Futures (Java, Python, Ruby libraries)
- MapReduce (Hadoop, Disco)
- Persistence Data Structures (Clojure)
- Tuple Spaces (Jini/JavaSpaces, GigaSpace, Blitz, Tspaces ...)
Other topics at Community One:
There were also other interesting topics besides Cloud Computing:
OpenSolaris:
- Network vitualization
- Snapshot using ZFS (very cool@!)
- Optimization of storage devices using Flash drives
(these days, the bottle neck for a applications is data read/write on storage devices!) - SUN 7000 Storage: New enterprise storage appliance - 800 customers in just 4 months. up to 1/2 Petabytes of storage!
- To help managed the business context data of entities or objects involved in business transaction (great for Context Management!)
- Can be used in System aggregation/federation (e.g. portals)
- Just in time business models require agility and integration across the enterprise
- Help ongoing mergers and acquisitions
- Compliance and localized governmental requirements
- Includes a Master Index Studio, Data Integrator, Data Quality, Data Mashup/Services, Data Migrator
- see also Mural (Open source Master Data Management from SUN)
Atmosphere: a POJO based framework using inversion of control (IoC) to support Comet.
IceFaces / AjaxPush: updates on the J2EE Ajax framework presentation by IceSoft.
Here is an example that uses Liferay Portal platform.
Android: some good tips about the use of adapters, bitmap scaling, background refresh.
By the way, the next version of Android (Doughnout) is expected in Q3 of 2009.
JRuby: updates on the Java implementation of the Ruby.