Browsed by
Category: Technology

Component Contracts in Service Oriented Systems

Component Contracts in Service Oriented Systems

PRINCIPLE: Relationships must be governed by contracts that are monitored for performance. In order to build a reliable system that is composed of many services, we need to have some guidelines for making the services reliable, both in the technical sense, and in the more psychological sense of people having confidence that things will work. In a system of services, just like in a society, business relationships should be governed by contracts that are monitored for performance. Wherever a dependency…

Read More Read More

Toward a Reusable Content Repository

Toward a Reusable Content Repository

There are a plethora of web-based content management systems and website publishing systems in the world. Almost all of them are what you might call “full stack solutions,” meaning that they try to cover everything you need to cook up a full publishing system, from content editing to theming. WordPress is the most obvious example, but there are hundreds of such systems varying in complexity, cost, and implementation platform. So many of the available products are full stack solutions that…

Read More Read More

CASTED: Cooperative Agents, Single Threaded, Event Driven

CASTED: Cooperative Agents, Single Threaded, Event Driven

The past looked like this: A User logs into a Computer, launches a Program, and interacts with it. The future looks like this: The Computer on your desk runs a Program (in the background) that collaborates with a Program running on the Computer in your pocket and another Program running on a Computer in the Cloud, operating on your behalf without the need to interact. In the past, a Program and an Application were the same thing. More and more,…

Read More Read More

Evolving Systems vs Design Consultants – A Recurring Pattern

Evolving Systems vs Design Consultants – A Recurring Pattern

I often think of systems architecture as analogous to this word game I played as a child. I don’t know if the game has a name, but it is begun by selecting two words, say “cat” and “dog”. The goal is to begin with one word, and end with the other. The rules are, you can change only one letter each turn, and at the end of every turn, you must be left with a true word. Hence, one way…

Read More Read More

Django Settings: Three Things Conflated

Django Settings: Three Things Conflated

If you work on a large Django project, there’s a good chance that you would describe your settings file as “a mess” (or perhaps you use harsher language). You may even have broken your settings out into a whole package with multiple files to try and keep things organized. We’re highly skilled and organized developers, how does this happen to us? I believe part of the problem is that the “settings” bucket holds three different kinds of things without differentiating between them….

Read More Read More

Heroku and the Twelve Factor App: Architecting for High Velocity Web Operations

Heroku and the Twelve Factor App: Architecting for High Velocity Web Operations

A while back I wrote that infrastructure should be delivered as code along with every web application, because web applications are not run by users, they are operated on behalf of users, and are therefore incomplete without the infrastructure needed to operate them. In that article, I mentioned Heroku, a platform-as-a-service company that makes a living operating other people’s web applications. Inspired by their experience in web operations, some of those folks recently wrote a guide to creating web applications that can…

Read More Read More

Web Developers: Infrastructure is part of your Application!

Web Developers: Infrastructure is part of your Application!

One of the most difficult realities for web developers to face is that their application code, elegant and beautiful as it may (or may not) be, does not run in the ivory tower of Code Perfection. It runs on a real machine (or several) in a real data center, competing for resources to serve real clients, and tripping over all-too-real limitations of the environment. Operations people, those shadowy, pager-carrying folks that developers call “sysadmins”, know that there is so much…

Read More Read More

Web Analytics for Operations

Web Analytics for Operations

Web analytics packages, from free to exorbitant, have grown in complexity over the life of the web. That’s great news for marketers using the web as a tool to deliver a message to an audience. These tools allow them to measure audience reach, time spent viewing a page, return visits, session length, and other useful customer engagement factors that helps shape the business strategy. Unfortunately, while the marketers have won some great tools, where does that leave the techies who…

Read More Read More