Критично для бизнеса

 

Семьдесят процентов клиент-серверных приложений, созданных вами сегодня, за два года устареют. Почему так мрачно? Да потому, что мы строим системы не стратегически, а тактически. Руководство давит со сроками, а в повышении квалификации и изучении новых приемов проектирования не помогает. Мы делаем свои приложения в бешеном темпе, и они тоже получаются малость не в своем уме.

 

Мы пробовали архитектуру с упором на клиентскую часть. Ею легко управлять, ее легко настраивать и реализовывать, с ней комфортно работать. Но ее трудно поддерживать, сложно повышать производительность сервера, и она не способствует повторному использованию кодов, приводит к слишком большому времени реакции сервера, имеет единственную точку отказов, а масштабировать ее можно только путем существенной модификации клиентской части или установкой более быстрой сети.

 

Тогда мы попробовали архитектуру с упором на серверную часть. Ею легко управлять, ее легко настраивать, реализовывать и поддерживать. Но возникают трудности при попытке повысить производительность клиентской части и интегрировать ее с другими приложениями для настольных ПК.

 

Этот подход приводит к большему времени реакции при нарушении ограничений, имеет единственную точку отказов, масштабирование достигается только путем существенной модификации серверной части.

 

Надо было что-то сделать. Мы начали разделять приложения, но не думаю, что этот путь правилен. Я не думаю, что хорошей идеей окажется трехуровневое разделение  -  оно привязывает к определенной модели. Подумайте вместо этого о многоуровневости.

 

Вот семь “заповедей” для успешного разделения приложений.

 

Не поддавайтесь обаянию клиент-серверных средств первого поколения. Для рабочей группы или отдела они хороши, но недостаточно мощны для обеспечения системы масштаба предприятия.

 

Знайте скорости своих транзакций. Не скорость выполнения оператора COMMIT в вашей СУБД, а скорость реальных бизнес-транзакций.

 

Не идите по дороге приемлемых упрощений. Вначале такое “сглаживание углов” облегчает жизнь, но в конце концов получается крайне неудобное и трудно поддерживаемое приложение.

 

Умеренность во всем  -  хорошая вещь. Следуйте духу масштабирования, а не ортодоксии разделения приложений.

 

Платите то, что должны. Пока все идет хорошо, трудно увидеть необходимость приобретения средств моделирования, управления системами и процессами. Но, когда к вам обернется мерзкая морда неполадок, эти жертвы окажутся принесенными не зря.

 

Не вносите в систему хаоса. Ни слишком много компонентов, ни слишком много средств не дадут улучшения  -  успешные технологии и структуры всегда элегантны и просты.

 

Неисповедимы пути работы распределенных систем. Приложите все усилия, чтобы ваша система была настолько предсказуема, документирована и управляема, насколько это будет возможным.

 

А я с удовольствием пошлю вам наш бесплатный набор для начинающего в области распределения приложений. Сообщите только мне по Е-mail адрес вашей обычной почты.

 

Кристина Комафорд

 

Я не думаю, что хорошей идеей окажется трехуровневое разделение  -  оно привязывает к определенной модели. Подумайте вместо этого о многоуровневости