Cloud Foundry: Design and Architecture
Derek Collison discusses the goals, the design premises and patterns employed in creating the architecture of Cloud Foundry, VMware’s open source PaaS, unveiling internal architectural details.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Manuel Pais on Feb 23, 2012
Travis CI, a cloud-based continuous integration (CI) offering for open source projects on Github, has announced support for Java builds, as well as Scala and Groovy additions. After gaining traction among the Ruby open source community the project is now looking into the possibility of expansion to a hosted CI service (nicknamed Travis Pro).
The company recently revealed future plans for supporting private builds which could help enterprises leverage the benefits of continuous integration without the build machines and test environment maintenance overhead (either in-house or in the cloud).
Several projects such as Ruby on Rails, Ruby itself or Node.js are using Travis CI which builds and tests after every commit to the project on Github. The list of supported languages also includes PHP, Erlang and Clojure. Also .Net languages are in the pipeline as Josh Kalderimis from Travis CI explained to InfoQ:
.Net support is definitely something we are interested in providing. We have some guys in Amsterdam who are looking at how this might work, but since our current infrastructure is based on VirtualBox and Chef recipes it requires some fairly big changes which will take time.
Not all languages are supported equally however. Josh clarifies the distinction between 'first class' (Ruby, Node.js, Erlang, PHP, Scala) and 'standard' (Java, Python, Groovy) support:
We have two types of language support, standard and 'first class'. 'First class' support means we provide several vm implementations, for example we provide 8 different Ruby versions, 3 different Node.js versions, and 4 or 5 different Erlang versions, and 4 or 5 different PHP versions. This is makes Travis even more powerful for OSS testing because you can now test your library against different Ruby versions, allowing the user of the library to have peace of mind that it works with the version they have running on their production server. We are in the process of adding first class support for Python and Java, and are interested in adding more languages as requested by the community.
Another feature in the making refers to pre-tested pull requests, which could speed up considerably the integration process in open source projects with many contributors, as Josh explains:
Pull Request support, a feature which we think will be a game changer for OSS contributions. Think about contributing to Rails, you send a pull request and Travis will test it and comment on the pull request with the build results, making it easier for the contributor to know if his patch was good, but also making it easier and quicker for Rails core to merge in changes.
Whether the benefits for open source projects can be reproduced at the enterprise level (where CI often involves complex multi-step build procedures and database/test setups) remains an open challenge for Travis Pro. Interested donors can get credit for future Travis Pro accounts through crowd funding.
Introducing SQLFire: a memory-optimized, high performance SQL database
RDBMS to NoSQL: Managing the Transition
Banking Case Study: Scaling with Low Latency using NewSQL
Tools to unit test your JavaScript
App Server Evolution: REST, Cloud, and DevOps Support in Resin 4
VMware vFabric SQLFire - Test drive the data management system with memory speed, horizontal scalability and a familiar SQL interface
Derek Collison discusses the goals, the design premises and patterns employed in creating the architecture of Cloud Foundry, VMware’s open source PaaS, unveiling internal architectural details.
Andrew Watson talks about the work of the OMG, where CORBA is alive and well (hint: in your car), UML and UML Profiles vs. custom Modeling languages, DDS and other middleware, and much more.
Sohil Shah discusses creating iPhone and Android enterprise mobile applications based on cloud services using the open source platform OpenMobster.
Paul Sanford presents the transformations supported by data throughout its life cycle, and how that can be better done with Splunk, an engine for monitoring and analyzing machine-generated data.
A common “best practice” for unit tests is to only write a one assertion in each test. I intend to question this advice by showing that multiple assertions per test are both necessary and beneficial.
John Rauser presents the architectural and technological evolution of Amazon retail websites starting with 1994 and ending with adopting Amazon Web Services.
Michael Stal discusses system architecture quality, how to avoid architectural erosion, how to deal with refactoring, and design principles for architecture evolution.
Every developer has had to integrate with another system, API or component. Tis article provides strategies to handle the change and for he separating system boundaries.
No comments
Watch Thread Reply