Программное обеспечение - это все, что вы можете себе позволить, - стоит поддерживать приложение. Подобно тому, как ваш дом в конечном итоге будет нуждаться в ремонте или замене элементов, от крыш до холодильников, очень важно планировать расходы на обслуживание приложения, чтобы поддерживать его в рабочем состоянии.
Ничто не остается блестящим, новым и идеально работающим навсегда без заботы - это так же верно для приложений. В keepwarning.comмы обсуждаем эту тему во время наших спринтов по дизайну, когда целую неделю работаем с вами над созданием и тестированием прототипа для вашей идеи. Тем не менее, стоимость обслуживания различна для каждого приложения, так как существует множество переменных, поэтому мы собираемся взглянуть на базовый уровень для расчета долгосрочных затрат.
Когда вы смотрите на программное обеспечение, независимо от того, является ли оно мобильным приложением или чем-то еще, его нужно отслеживать и заботиться. Точно так же, как вы должны помнить, чтобы менять фильтр печи и кормить собаку, программное обеспечение подвергается различным затратам, которые возникают в разные периоды его жизненного цикла.
Для систем HVAC степень, когда и как вы выполняете обслуживание, зависит от нескольких переменных. Количество и частота кормления собаки зависят от размера и породы животного.
Конечно, ваше приложение (или должно) быть разработано для монетизации. Ваша система отопления и охлаждения может сэкономить деньги, если вы недавно установили более эффективную систему, чем предыдущая установка. Ваша собака, вероятно, никогда не заработает ни копейки - хотя я слышал от сотрудника, как собака его приятеля получила награду «первое место», когда они были на музыкальном фестивале, который заплатил за свое пиво.
Вообще говоря, большинство домашних животных находятся в «минусе», если вы посмотрите на их заработок против ваших расходов.
Вы создаете приложение для получения дохода или, по крайней мере, доставки контента в рамках своей воронки продаж и путешествия клиента. Таким образом, существуют различные бизнес-методы, которые необходимо учитывать в любой ситуации - вы не всегда можете рассчитывать на прогнозируемый доход, который вы получите, чтобы покрыть расходы, поскольку иногда даже лучшие идеи не переводятся в быстрые деньги. ,
Подобно «Инь и Ян» или «Сила Звездных войн», есть баланс, чтобы научиться распределять существующее финансирование, правильно тратить доходы, которые вы получаете, и принимать лучшие решения для масштабирования на основе требований бэкэнда, новых функций и финансовых ресурсов.
В начале вам, вероятно, понадобится дополнительное финансирование для покрытия расходов, связанных с ранним ростом. Зачастую выручка должна быть немедленно реинвестирована для покрытия накладных расходов - не рассчитывайте на эти поступления для покрытия всех расходов. Планируйте откладывать часть вашего финансирования для покрытия расходов на дополнительные ресурсы и нужды развития.
Начальная разработка и приобретение подходящего оборудования - или, скорее всего, поиск подходящего хостинг-провайдера - это то, с чего все начинается. В дальнейшем речь идет о поддержке кода и адаптации этих систем к растущей базе пользователей.
Давайте рассмотрим некоторые из наиболее значительных затрат на обслуживание приложения, начало дополнительных или новых затрат на разработку. Далее мы рассмотрим внутренние затраты на услуги облачного хостинга.
Текущие затраты на разработку - это необходимый элемент для включения в ваш бюджет. С точки зрения дополнительной разработки, они являются одними из наиболее значительных с точки зрения затрат на поддержание приложения.
Размещение новых функций, обновлений ОС и новых устройств. Конечно, успешное приложение потребует дополнительной разработки вовремя. Это может быть для новых функций, которые развернуты во времени. Кроме того, новые устройства и обновления операционных систем иногда требуют настройки кода для соответствия форм-факторам устройства или новым функциям в обновлении платформы.
Существуют и другие проблемы, которые возникают, когда приложения используются для корпоративных приложений и управляются решением управления мобильными устройствами (MDM). Помимо обновлений платформы, некоторые изменяющиеся политики требуют настройки кода или в консоли MDM. Хотя некоторые политики могут обновляться без изменения кода, в некоторых случаях политики и код приложения (в зависимости от решения) могут конфликтовать - в некоторых случаях эти проблемы можно решить в консоли MDM, но в других случаях код необходимо изменить ,
Ежегодные изменения в Apple App Store для Apple. Пограничные изменения даже набирать «iOS App Store» очень болезненно, поскольку это одна из самых проблемных проблем для клиентов и разработчиков. По нашему опыту, это немного непредсказуемо, так как они устареют за рамки или заставят компилировать стандарты, требуя экстренного вмешательства.
Иногда изменения версии iOS, которые выходят каждый год, могут сломать приложение. В прошлом Apple заставляла приложения использовать HTTP и вытесненные компоненты, такие как традиционное веб-представление. В других случаях новые возможности, которые могут принести пользу приложению, такие как темный режим, введенный в iOS 13, не сломают приложение, а требуют небольших изменений в приложении, чтобы пользователь мог воспользоваться этой функцией в своем приложении. Если эти проблемы не будут своевременно устранены, это может привести к тому, что Apple пометит приложение как устаревшее и заберет его из магазина.
Сторонние плагины для вашего приложения на Android, iOS и Windows вызывают такие же проблемы. Например, Google Places совсем недавно принудительно обновил комплект разработки программного обеспечения (SDK), который создает схватку для разработчиков, поскольку приложения, использующие устаревшую версию, внезапно перестали работать, в основном кодированная версия Индианы Джонса в «Храме Судьбы», скользящая под закрытием Дверь затем потянулась назад, чтобы схватить его за шляпу, прежде чем она раздавит его руку
Этот точный сценарий только что произошел в keepwarning.com с проектом на прошлой неделе. Это означало, что мы должны были быстро перестроить и просмотреть существующее приложение, прежде чем Google выгнал его из своего магазина.
Не обращая внимания на незначительные обновления ОС. Если команда не тестирует и не обновляет свое приложение для новой версии iOS, то они могут обнаружить, что их приложение внезапно сломалось с новой версией iOS. Крайне важно, чтобы ваша команда или хотя бы один назначенный сотрудник обращали внимание на небольшие обновления, которые представляются в течение года, а также основные обновления платформы.
Определенные изменения в базовых зависимостях могут полностью сломать приложение, привести к неработоспособности функции или вообще ничего не делать. Проверка кода - это непрерывный процесс, поэтому важно выделять средства для внутренней команды разработчиков или агентства, чтобы оставаться на высоте и поддерживать работоспособность вашего приложения.
Чтобы запустить приложение, вам нужны серверы для размещения кода и базы данных для хранения информации, которую конечный клиент (то есть приложение) использует для передачи и извлечения информации. Каждый провайдер работает немного по-разному, и его стоимость варьируется, поэтому мы будем использовать Amazon Web Services (AWS) в качестве примера.
Решение Amazon для баз данных «все в одном»: RDS
Amazon RDS - это вариант хостинга, который привязывает службу базы данных, которая хранит все данные в приложении, такие как информация о пользователе и продукте. Настройка RDS работает в сочетании с виртуальной машиной (ВМ), на которой обычно размещается код, на котором выполняется приложение. Приложению требуется база данных, такая как MySQL, SQL Server, PostgreSQL или другая система, для сохранения и использования данных для различных частей приложения. Преимущество этого варианта в том, что управление базами данных в основном удалено, что позволяет группам сосредоточиться на других задачах.
Цена варьируется в зависимости от вида системы, которая может варьироваться в любом месте, начиная с 0,03 долл. В час, но может доходить до 33 долл. В час (на самом деле, она может значительно выше), в зависимости от других факторов, таких как размер занимаемой площади. система (то есть пропускная способность), скорость восходящей линии связи и то, является ли система платной по ходу (то есть по требованию) или частью контракта.
Для приложений, которые только что запустились, мы увидели, что затраты на RDS, как правило, являются самой высокой текущей частью ежемесячного счета AWS. Приведенный ниже снимок экрана является лишь примером, поскольку существует множество различных комбинаций RDS между ОС и типом базы данных, а также уровнями обслуживания по запросу или зарезервированными службами.
Автономные виртуальные машины Amazon на EC2
EC2 можно рассматривать как компьютер в облаке, который запускает серверную логику для вашего приложения. Ваш код, развернутый в EC2, действует как связующее звено между внешним мобильным приложением и данными, которые хранятся в базе данных RDS. Преимущество систем EC2 в том, что они модульные, что дает разработчикам большую гибкость в настройке и управлении при расширении набора функций.
На приведенном ниже снимке экрана показана цена AWS для нашего стандартного де-факто компьютера, хотя она может меняться в зависимости от требований приложения. В зависимости от целей и технологий, мы обычно выбираем Windows или Linux, причем первая стоит чуть менее чем вдвое дороже системы Linux, потому что это продукт Microsoft.
Как правило, чтобы обеспечить высокую доступность и время безотказной работы, мы развертываем два экземпляра EC2 для питания приложения за балансировщиком нагрузки. Это позволяет приложению обрабатывать скачки трафика и удерживать ваше приложение на плаву, если по какой-либо причине одна из машин решит взять больничный день.
Горизонтальное и вертикальное масштабирование
В какой-то момент ваша пользовательская база растет, и к ней будут предъявляться дополнительные требования к соединениям и хранилищу, а это означает, что вам нужно запускать новые экземпляры для обеспечения избыточности и обеспечения доступности, и в этом случае затраты начинают увеличиваться. В других случаях система может просто нуждаться в дополнительных ресурсах, чтобы ускорить ее работу.
Представьте, что вы управляете небольшой компанией по доставке. Некоторое время он может работать только с одним водителем, поэтому вы вкладываете средства в то, чтобы сделать их автомобиль более быстрым и эффективным - это похоже на вертикальное масштабирование, поскольку вы просто модернизируете автомобиль, который стоит дешевле, чем покупка нового автомобиля. Если все идет хорошо, вам может понадобиться другой водитель - это можно сравнить с горизонтальным масштабированием, так как вы покупаете совершенно новый автомобиль, чтобы добавить в свой парк.
Важно запланировать дополнительные системы на будущее, так как увеличение мощности любой отдельной системы не помогает вашему приложению работать в случае сбоя, когда в игру вступает горизонтальное масштабирование. В зависимости от того, как используется приложение, может быть лучше дополнить систему (или системы) большим количеством ресурсов, и именно здесь вступает в силу вертикальное масштабирование.
Keepwarning может помочь вам в оценке и разработке вашего приложения
Если вы впервые создаете программное обеспечение, это может показаться ошеломляющим. Вот почему мы делаем наш процесс максимально прозрачным, пока работаем над спринтом дизайна. Мы также помогаем решить загадки с ценами на инфраструктуру, будь вы собираетесь использовать собственные хосты или, в идеале, выбрать провайдера, такого как Amazon, Microsoft или другой сервис.
Обратитесь к нам в keepwarning чтобы узнать больше о том, как мы разрабатываем ваше приложение, и помочь вам разобраться в сложностях ценообразования для укрепления вашей финансовой стратегии.