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 Jonathan Allen on Jun 16, 2011
The .NET Micro Framework is an implementation of the CLR that is targeted for very small devices, often with well under a megabyte of RAM. It was originally sold as a commercial platform with a per-device licensing model. Due to the price sensitivity of manufacturers, the pricing model simply wasn’t tenable so Microsoft dropped the fees. At the same time it was decided that Microsoft would release the source code under the Apache open source license and, even more surprisingly, accept community contributions.
Since becoming an open source project the framework has continued to grow. Version 4.2 has just entered its beta period with a long list of new features. Among these is support for Visual Basic, something wasn’t considered possible prior to VB 10 SP 1. There were two limiting factors here: the size of the VB runtime and the Visual Basic compiler’s use of features not found in the micro version of the CLR such as late binding and unstructured error handling. Another important feature in 4.2 is MFUpdate.
The MFUpdate feature provides a framework for enabling software updates (remotely or locally). The update framework provides storage, backup and installation facilities that are configurable from the porting kit. A porting kit developer can either use some of our sample facility providers like the BlockStorageUpdate storage provider or the MicroBooter installation provider, or they can provide their own facilities. This way both the download application and the update facilities are configurable, thus giving the user the most flexibility while at the same time limiting what they need to implement. The managed developer simply needs to create an application using their preferred transport and communication protocol to receive the update packets. Then they will use the update facilities to validate, store and eventually install the packets. When you combine this functionality with the Cryptographic framework that was added to .Net MF for v4.2, we enable the developers to create a secure remote update story. In the porting kit we have one platform (iMXS_net_open) and two samples firmware upload mechanisms: MFDeploy and HttpServer. MFDeploy and the HttpServer sample transfer .nmf flies (compress firmware binaries) packet by packet to the iMXS_net_open platform. The emulator has the capability to upload firmware but it will obviously not be able to do an install. This provides an easy sample for testing custom update applications.
It should be noted that the licensing for the .NET Micro Framework is not compatible with the other open source version of the CLR, Mono. This licensing incompatibility has undoubtedly caused the developers on the .NET Micro Framework to implement some features from scratch that could have otherwise been adopted from Mono.
Introducing SQLFire: a memory-optimized, high performance SQL database
Automating Error Reporting for .NET Applications
Visual Studio vNext: ALM features for Agile Planning, Team Collaboration
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
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