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 Abel Avram on Jul 26, 2011
Google added GAE support for Go with SDK 1.5.2. Developers can write and test Go applications locally on Linux and Mac OS X and run them on GAE.
Google App Engine SDK 1.5.2 comes with a new addition, tools to build applications written with Go and to run them on GAE. Go is Google’s pet language that resembles C but adds features such as dynamic typing, reflection, garbage collection, concurrency and parallelism.
The SDK contains the Python development server providing a sandbox to run and test Go applications locally before uploading them to GAE in order to run them inside the Go runtime environment. The server simulates a Datastore and GAE services so the developer can test most of the application locally.
The SDK comes with a build service, automatically rebuilding the code when the source changes, so the user does not have to directly interact with the compiler.
Go applications can access all the standard services – Datastore, Blobstore, Channel, Mail, Memcache, Task Queue, etc. –, but the sandbox introduces some limitations, for example, the application cannot write to the local file system or to make arbitrary network connections. The Go runtime environment provides support for goroutines, which are allocated a single thread, and does not support parallel execution yet, which may be provided later.
Developers are reminded that the GAE Go environment is still experimental, so it is wise not to start writing commercial applications yet. The SDK is available on Linux and Mac OS X both on 32 and 64-bit, and will probably be made available on Windows as soon as Go is ported to Microsoft’s OS, a process that is underway but not yet finished, according to Go Windows Support wiki page.
Want to know how software releases can be stress-free and happen with one click? Try Go free!
Improving Software Delivery Cycles: Pre-requisites and Inhibitors
RDBMS to NoSQL: Managing the Transition
Go: Agile Release Management Solutions. Go enables predictable, defect-free and timely software releases.
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