BLOG

Tag: 'iron foundry'


Iron Foundry

Windows 8 & RT Discussions, Thor, Thor .NET and vcap-client Status Updates

A few updates from the teams:

Thor

Thor is moving along with implementation of services starting yesterday (Monday). You can view our live Huboard Kanban to see what is currently being worked on. The interface in the last few weeks has gotten a faster, cleaner appearance and stabilized even more around deploying and maintaining your Cloud Foundry based environments.

Read More
Iron Foundry

Latest Alpha Release Features & Additions for the Thor Cloud Foundry UI

Hello Thor Users. We're still in alpha with Thor, but I wanted to share some of the latest progress that has been made over the last few weeks. Here's a run down point by point of the latest pull request #109:

  • Button, styles, and related materials are in line with OS-X standards for the workflow screen of deploying an application.
  • Deployments for node.js, erlang, java, .NET and the other supported applications now works.
  • More unit tests added around new key features, especially detection of the language/framework support.
  • Easier to navigate workflow wizard for deployment with appropriate drop out points, etc.
As for the next steps, our list of stories is listed on Github. Get involved and we'll have them knocked out even faster. We'd also love any input on features that are available now or in the future or any code reviews, architecture suggestions, or similar. Just join the discussion group and let's talk. Here's a list of some of the key feature stories coming in our next push:
  • Thor User wants to be able to add a service to the available services.
  • Thor User wants to view a list of services available for use.
  • Thor user wants to be able to view multiple bound services for an application.
  • Thor User wants to be able to bind a service to an application.
  • Thor user wants to see various X parameters for their running services.
  • Thor user wants to be able to view available services for their application(s).

Read More
Iron Foundry

Weekend Iron Foundry Work (Downtime Window)

This weekend we'll be doing some upgrades to the instances & software that the current Iron Foundry sand box runs in (api.ironfoundry.me). The time frame of the down time will be between 8pm and 10pm on Sunday night. We'll update this blog post with any additional news that might affect the applications currently running or being tested in the Iron Foundry sand box environment.

Read More
Iron Foundry

Iron Foundry vcap-client (AKA The .NET Cloud Foundry vcap-client)

Ever want to write code against the Cloud Foundry API but you don't want to go to the trouble of wrapping up the API calls with library? Well, have no fear there's no need to! With dilligent work from the Iron Foundry team, a few suggestions from outside, and a few contributions from the community we've pulled this together for you. Here's a step by step of what we've accomplished in the last week to bring a solid, clean and tested library to you.

Read More
Iron Foundry

Alpha For Thor - Download, Try, Get Involved

Today we're releasing the alpha Thor Applications with installers for Mac OS-X and a partial Windows 7 release. We wanted to get minimally viable products out the door as soon as possible so people could check out our progress and work we've accomplished for the Thor User Interfaces with Cloud Foundry and Iron Foundry Environments! So here they are. Here's a few screen shots to how we're doing... [caption id="attachment_145" align="aligncenter" width="816"]Thor Running on OS-X Thor Running on OS-X[/caption] [caption id="attachment_144" align="aligncenter" width="707"]Adding a Cloud Foundry Target Adding a Cloud Foundry Target[/caption] To download the Thor OS-X and Windows 7 installer releases check out the downloads page. We'll be iterating on the code base regularly still, so if you know github well I'd suggest going to clone the code itself and running it. The installers are still however a working option to check it out.

Getting Involved

What's Being Worked On? The workflow we're using for Thor & Thor .NET is viewable via the issues section on Github and also for a good kanban visualization we're using Huboard. For each of the projects we've started or are starting a Hubaord Kanban. Getting the Code To clone/fork/download the latest code to work with, contribute, and send pull requests with follow these steps.
  1. Navigate to the main source and fork the code.
  2. Once you've forked the code, navigate to your repository and clone to your local development machine.
git clone [email protected]:YourGithubAccount/Thor.git
  1. Once the clone is complete, for the OS-X version you'll need to pull the submodules with the following command. For the Windows 7 version just do a clone and build.
git submodule update --init --recursive Your local repository should have executable code now. Open the project with XCode or Visual Studio 2010, depending on which project you're checking out and see if everything works. If it doesn't, please post a comment to our discussion list or message us via Twitter on @ironfoundryorg. Working on the Code Once you've added the feature, or completed one of the stories or items in the Thor issues list or Thor .NET issues list leave a comment on the issue and submit a pull request (or just submit the pull request). We'll then merge it back in, or if there are conflicts we'll work with you to merge it back in and add the code to master.

Read More
Iron Foundry

Contribute to Iron Foundry, Here's How!

We've been asked a few times, "what's the quickest, easiest and fastest way to get the code, build it and contribute back to Iron Foundry?" Here's a quick start for doing just that.

Read More
Iron Foundry

Thor!

The Iron Foundry project has had an amazing nine months since its launch. Thank you to the entire community for your support and contributions.

Read More
Iron Foundry

Choosing the Right Database Option for Your Iron Foundry Applications

Iron Foundry offers a host of database services that developers can leverage when building Iron Foundry applications. While there may not be a “wrong” choice (although in some cases, there are horribly inefficient choices!), how can we choose the best database for the situation at hand? Below, we look at each database option in Iron Foundry and why you would, or would not, select it for your application.


MongoDB


What is it?

MongoDB is a popular open-source NoSQL database. While called a “document database”, MongoDB does not store unstructured documents like PDFs or Microsoft Word files, but rather, stores its data as JSON-like files. Each document represents a database record while a collection is similar to a database table. However, unlike traditional relational databases with a fixed schema, MongoDB collections have no such restriction and each document could have entirely different fields. Developers use the Mongo Query Language to find records in MongoDB collections. Through the use of drivers, MongoDB supports a wide variety of languages such as Ruby, Scala, C#, Node, Java and more. MongoDB supports a variety of features (such as replication and indexing) that you’d typically find in RDMS offerings, but also offers unique capabilities such as auto-sharding and batch processing via MapReduce.

When to use it?

There’s actually an excellent page on the MongoDB site that outlines the core use cases and anti-patterns. They also have a useful list of customer stories that explain (sometimes with attachments!) how they are using MongoDB. Basically, MongoDB is a good choice for high performing apps that have complex data objects with a variable schema. Don’t choose MongoDB if you have intense cross-object transactions and heavy SQL coding requirements. While there has been some backlash against MongoDB in the past year, it remains crazy popular for its performance, approachability and lively ecosystem.

Microsoft SQL Server


What is it?

SQL Server is the flagship database product from Microsoft. It uses a relational structure and is made up of databases, tables and records. The tables in a SQL Server database have a fixed schema made up of typed columns. SQL Server has some of the capabilities that you expect to find in a traditional relational database: stored procedures, indexes, constraints and cross-object transactions. Data is queried through the rich T-SQL syntax that allows variables, a full set of operations for creating/reading/updating/deleting data, control flow statements and more. Starting with SQL Server 2005, developers can also write stored procedures and triggers based on the .NET language. While SQL Server uses a proprietary data streaming format (TDS), there are still many ways to access SQL Server data from non-Microsoft clients through ODBC. There are also many libraries to make this easier in Ruby, Node, and Java. While relational databases sometimes get a bad rap for poor scalability, many high volume web sites rely heavily on relational databases like SQL Server. SQL Server consistently ranks as a leader among relational database providers  in “transactions per second” metrics as calculated by TPC.

When to use it?

If you have a relatively static data structure and have many objects with inter-relationships, SQL Server is a good choice. Likewise, if you already have an investment in SQL Server tools, then using the Iron Foundry version will be very straightforward. Developers can easily use the SQL Server Management Studio against Iron Foundry instances and treat the PaaS database just like one installed locally. Microsoft themselves tout use cases for internal business applications, high volume storage for web applications, and more.

MySQL


What is it?

MySQL, now owned by Oracle, claims to be the most popular open source database and is the “M'” in the ubiquitous LAMP (Linux/Apache/MySQL/PHP) web stack. It is a relational database that runs on multiple platforms including Linux, Windows, Mac OS, Solaris and IBM AIX. MySQL has a wide range of capabilities including support for stored procedures, triggers, database views, indexing, and ACID-compliant transactions. Something that’s unique about MySQL (vs other relational databases) is that it offers multiple storage engines that can be used for a given table. Some engines support data types that others do not, and some offer differently levels of support for transactions and indexing. There are engines provided natively, as well as engines created by partners and community members. Queries against MySQL data are performed use SQL that should familiar to anyone who has coded against databases in the past. MySQL offers a series of drivers for client connectivity and there are plenty of other libraries for technologies like Node and Ruby.

When to use it?

Some of the largest web properties in the world rely on MySQL for their data storage. Many of the same reasons that you would use Microsoft SQL Server apply here as well. Structured data, object relationships, and a need for transactions and indexing. Also, if you already have a skills investment in MySQL, then using MySQL for your Iron Foundry application is a no-brainer. The MySQL team has a very nice article on why you’d choose MySQL over Microsoft SQL Server, and Microsoft has the same sort of article on their site. You won’t really go wrong with either choice!

Neo4j


What is it?

Neo4j is an open-source, NoSQL graph database. While many of us are familiar with the other types of NoSQL databases (document databases like MongoDB, or key-value stores like Redis), graph databases are a bit more obscure. Graph databases put a high priority on the relationships between objects and makes it easy to query these relationships. In fact, it’s often much easier than querying relationships in a relational database! The “things” in a graph database are called a node, and the “relationships” are called edges. The Neo4j database is Java-based and stores its data on disk. It’s designed to be very fast and also ACID transaction compliant. The database itself can be embedded within an application or deployed as a full-fledged standalone server. While the API places a premium on Java, developers can also access it through an HTTP/REST interface. Data queries are executed using the Cypher Query Language which is designed for efficient traversal of graphs.

When to use it?

This database will be a great choice for Iron Foundry applications that place a premium on relationships between schema-less data structures. That means that this will be a good fit for social networks, genome analysis, recommendation algorithms and more.

PostgreSQL


What is it?

PostgreSQL is an increasingly popular open-source object-relational database system. You can run PostgreSQL on nearly every operating system including Linux, UNIX, and Windows. It’s a very robust database that is ACID-compliant and has features like joins, views, triggers, stored procedures and native programming interfaces for popular languages/frameworks like Java, .NET, Python, Ruby, ODBC and more. PostgreSQL has a lot of sophisticated features such as GIST indexing, table inheritance,  and a rules system. Queries against the structured tables are done using SQL and should be easy for any database programmer to use. An article about the rise of PostgreSQL generated a lengthy discussion on Hacker News where many proponents and detractors of the platform debated the merits and shortfalls of the platform. It’s a good read.

When to use it?

PostgreSQL has some prominent customers across industries. You’ll often find PostgreSQL compared to MySQL or SQL Server. In essence though, consider choosing PostgreSQL for your Iron Foundry application if you want to use an open-source database for a high-performing (web) application that uses SQL queries. It’s a great fit for complex scenarios that can take advantage of the differentiating features like inheritance and advanced query optimization.

Redis


What is it?

Redis is a fast, widely used open-source NoSQL database that uses a key-value store paradigm. Data is typically stored in-memory, although now users can optionally snapshot data to disk periodically. It runs on UNIX/Linux/MacOS (although non-production quality ports for Windows exist). Redis supports a handful of data types including strings, lists (of strings), sets (unordered collections of strings), sorted sets and hashes (which are useful for object representations). While optimized for individual key retrieval, database content can be filtered/searched through operations like ZRANGE, LRANGEGETRANGE and more. Redis also has some cool features like content expiration, and a pub/sub engine that opens up a whole host of possibilities. There are a variety of data access libraries available for languages/frameworks like .NET, Java, Node, PHP and many more.

When to use it?

Use Redis with your Iron Foundry application when you want blazing speed and have a data set that can sit comfortably in RAM. You would need to be comfortable with the prospects of losing data in the event of a server failure. Many large organizations are using Redis, often to provide a high performing caching layer to their application. You’ll also see everything from  storing session data to creating URL shorteners built with Redis.

Read More
Iron Foundry

Stackato 2.0 integrates Iron Foundry!

Today ActiveState released a new version of their Stackato PaaS built on Cloud Foundry. In this new version they've done a spectacular job integrating the Iron Foundry code into the solution, just add a Windows DEA and you're set.

Read More
Iron Foundry

Iron Foundry Support for Stackato 1.2 Released

With the latest changes from the Cloud Foundry team (re: anniversary of Cloud Foundry) comes a new and improved Stackato & Iron Foundry Micro VM combo. We've checked and tweaked things to run even better in your Stackato + Iron Foundry environment with the latest downloads. So check out the latest available micro image downloads for Stackato. The ActiveState Stackato team provides images available in:

Some of the changes and additions include...
  • Introduction of group management to Stackato managed applications
    • Support for separate per-user and per-group limits
    • Users can be in zero or many groups
  • Heroku buildpack framework support, with built-in buildpacks for Clojure, Go, Java, JRuby, Play! and Python
  • Updated Stackato App Store
    • Multiple App Store sources supported
    • Stackato admins can control App Store sources from the console
For Iron Foundry one of the key changes is the way DEA droplets spec handles things. So get the latest to be sure you have the best compatibility between these two Cloud Foundry Micro Environments. Find out about even more of the Stackato features here: http://community.activestate.com/node/8626 We've been testing this release and have added to the Iron Foundry VMs to include the following formats: We've posted release notes on our latest VM images here:  http://help.ironfoundry.org/entries/20950078-micro-cloud-release-notes For information on setting up these images follow the previously posted instructions "Iron Foundry, Stackato, a New Micro Image Pair". More news is coming here at the Iron Foundry Project so stay tuned. We'll be back with more soon.

Read More