Software Engineering

Software Engineering

1635 bookmarks
Newest
OmniTI ~ On the Engineering of SaaS
OmniTI ~ On the Engineering of SaaS
SaaS has been around in many forms. Many companies (and investors) have recognized the opportunities that SaaS provides as a business model, but transitioning to it from a standard software development model requires a lot more than an executive decision. Herein I’ll try to lend some insight into what’s in store for you as you transition from a software company into a SaaS company.
OmniTI ~ On the Engineering of SaaS
iClassify - GitHub
iClassify - GitHub

iClassify allows for the easy registration and classification of nodes. Most of the time, a node is a server. With iClassify:

Nodes register themselves with a central web service, including reporting Facter facts. You can then tag those nodes, and add manual attributes. You can search the nodes with a full text search engine You can write recipies for icagent to auto-classify and auto-attribute your nodes. You can tie it in to Puppet as an external node classification tool, enabling you to easily configure hundreds of nodes at a time. You can tie it in to Capistrano, and have a dynamic ad-hoc configuration tool, see CapistranoTask.

iClassify - GitHub
Collection of symfony framework tools - Symfohub: useful libs for symfony frameworks
Collection of symfony framework tools - Symfohub: useful libs for symfony frameworks

Symfohub is a collection of all symfony related code stored on GitHub. Owners can add and edit their repositories to share them with community. By gathering tweets, comments, blogposts, rates, user's assertions we provide powerful social platform on symfony ecosystem.

This project is noncommercial and made in purposes of symfony community. We plan to increase quality and reusability of 3rd-party symfony's code by promoting the best symfony's plugins, bundles and application.

Collection of symfony framework tools - Symfohub: useful libs for symfony frameworks
InfoQ: Agile Contracts
InfoQ: Agile Contracts
"This article will look at four models available to suppliers and customers for establishing contracts for Agile work. In time new models are likely to appear but right now there are broadly four options."
InfoQ: Agile Contracts
You Must Have A Killer In Your System – MySQL Diary
You Must Have A Killer In Your System – MySQL Diary
"It is a good idea to have a script killer that can kill these slow queries when necessary. Since a script killer will sacrifice the page that called the slow query, this concept works well where the slow query is called from very few and less trafficked pages. Killing these queries will allow more productive and more frequently called queries to execute while the slow query is being investigated."
You Must Have A Killer In Your System – MySQL Diary
Jo HTML5 Mobile App Framework
Jo HTML5 Mobile App Framework

A Pretty UI Widget Framework With a side of DOM, event and data stuff Open Source Under a friendly OpenBSD License Cross Platform webOS, iOS, Android, Symbian, Safari, Chrome, Dashboard Widgets (wait, what?) Light and Efficient Minified JavaScript is just over 8K with no dependancies Compatible with PhoneGap Plus most other JavaScript frameworks

Jo HTML5 Mobile App Framework
Treesaver/treesaver - GitHub
Treesaver/treesaver - GitHub

Treesaver is a JavaScript framework for creating magazine-style layouts that dynamically adapt to a wide variety of browsers and devices. Designers use standards-compliant HTML and CSS for both content and design, no JavaScript programming is required. Key features and aspects: Fast and compact: The JavaScript is under 25K gzipped (important for mobile).Highly compatible: Works with most modern browsers, and degrades gracefully for older browsers (or those with JavaScript disabled).Liberally licensed: Dual-licensed as MIT and GPL.

Treesaver/treesaver - GitHub
Puppet - Puppet Best Practice - Puppet Labs
Puppet - Puppet Best Practice - Puppet Labs

To effectively maintain a large number of systems, Puppet is essential to keep the systems in a consistent state. Often, Puppet manifests will be written by multiple system administrators to manage several dozen types of systems. These standards and best practices are presented here as an evolving effort to document and architect the Puppet service in a manageable fashion in such a large environment. One should also review the Style Guide .

These best practices were developed at Stanford University with contributions from the greater Puppet community and represent the embodiment of two years of Puppet infrastructure deployment and management.

Puppet - Puppet Best Practice - Puppet Labs
phpmemcacheadmin - Project Hosting on Google Code
phpmemcacheadmin - Project Hosting on Google Code

Graphic stand-alone administration for memcached to monitor and debug purpose This program allows to see in real-time (top-like) or from the start of the server, stats for get, set, delete, increment, decrement, evictions, reclaimed, cas command, as well as server stats (network, items, server version) with googlecharts

You can go further to see each server slabs, occupation, memory wasted and items (key & value).

phpmemcacheadmin - Project Hosting on Google Code
How Facebook Ships Code « FrameThink – Frameworks for Thinking People
How Facebook Ships Code « FrameThink – Frameworks for Thinking People
"I hope that releasing these notes will help shed some light on how Facebook has managed to push decision-making “down” in its organization without descending into chaos… It’s hard to argue with Facebook’s results or the coherence of Facebook’s product offerings. I think and hope that many consumer internet companies can learn from Facebook’s example."
How Facebook Ships Code « FrameThink – Frameworks for Thinking People
etckeeper
etckeeper
etckeeper is a collection of tools to let /etc be stored in a git, mercurial, darcs, or bzr repository. It hooks into apt (and other package managers including yum and pacman-g2) to automatically commit changes made to /etc during package upgrades. It tracks file metadata that revison control systems do not normally support, but that is important for /etc, such as the permissions of /etc/shadow. It's quite modular and configurable, while also being simple to use if you understand the basics of working with revision control.
etckeeper
Centralised logging with rsyslog | Canonical
Centralised logging with rsyslog | Canonical
The management of multiple systems requires the setup of tools to control the servers behaviour in real time and post analysis. Moreover, regulations and best practices often require the IT department to maintain an accurate log of all events happening in their systems in order to allow for later analysis. Performing such analysis on each system is time consuming and is relatively insecure because if a server is compromised, the attacker, having gained root access, will be able to cover its traces by removing the portions of the logs that he wants.
Centralised logging with rsyslog | Canonical
this, is boomerang
this, is boomerang

"boomerang is a piece of javascript that you add to your web pages, where it measures the performance of your website from your end user's point of view. It has the ability to send this data back to your server for further analysis. With boomerang, you find out exactly how fast your users think your site is.

boomerang is opensource and released under the BSD license, and we have a whole bunch of documentation about it. "

this, is boomerang
What does Librato Silverline do? / Getting Started / FAQs - librato Support
What does Librato Silverline do? / Getting Started / FAQs - librato Support

Silverline is a lightweight, application-centric virtualization solution for Linux and Windows that enables you to systematically monitor and control all your disparate applications and workloads in both cloud and physical data center environments. Through Silverline's monitoring and workload management you can:

Consolidate different applications on the same shared machines, increasing overall resource utilization and reducing total cost of ownership (TCO). Guarantee service level agreements (SLAs) for consolidated applications by ensuring that specified minimum resource allocations are dedicated to each application. Improve machine utilization by dynamically sharing out unused resources to applications that can benefit from additional capacity. Provide fine-grained tracking of machine utilization to accurately understand which of your customers impact your infrastructure the most and bill business unit customers for IT-managed resources.

What does Librato Silverline do? / Getting Started / FAQs - librato Support