Сообщение Промышленный подход к разработке ПО от 06.06.2019 10:21
Изменено 06.06.2019 11:04 drVanо
Промышленный подход к разработке ПО
Хочу поделиться нашим опытом по внедрению "промышленного" подхода к разработке и продаже ПО.
1. Билдсервер.
Первый сервак собрали на базе десктопного железа (пять лет назад вышло примерно в $2700):
— проц Intel Core i7-4820K
— мать ASUS P9X79 LE
— память Kingston 4 x 8 GB 1600
— 4 x Samsung 256GB SSD 840 PRO
— 2 x HDD WD5003AZEX
— хороший корпус, кулер и бесперебойник
Софт (все крутилось под управлением ESXi 5.5):
— Виртуальные Windows (лицензия + Visual Studio 2015), OSX 10.8, XUbuntu для сборки ПО разные операционки
— Репозиторий на базе "Git for windows"
— HTTP сервер на базе IIS 7 (MSSQL + JIRA + Confluense + Bamboo)
Такое железо у нас беспроблемно прожило 5 лет (за все время сдох один БП и USB порт на материнке).
2. Продажи
Для ведения продаж написана небольшая БД под MSSQL. Далее все это автоматизировано следующим образом:
— Все платежи принимаются через PayPro
— В панели настроен IPN, который дергает скрипт на HTTP сервере
— Скрипт парсит все параметры из IPN, дальше по email ищет покупателя из БД и регистрирует покупку (если что-то пошло не так — отправляет на внутреннюю почту письмо с темой "Exception Notification" )
— При создании новой записи в о покупке запускается скрипт в Bamboo, который создает лицензию, собирает нужный продукт, выкладывает на FTP и шлет ссылку на закачку конченому пользователю.
— На сервере также существует возможность создать запись о покупке у ручном режиме (сделана соотвествующая форма, которая в итоге дергает тотже самый IPN скрипт)
3. Refund/Chargeback
— IPN отслеживает не только покупки, но и возвраты (со статусом OrderRefunded/OrderChargedBack). По такому запросу ищутся все активные покупки покупателя, которые переводятся в статус "аннулирована" и в дальнейшем сборка ПО ним не производится
— Также на сервере есть возможность добавить email покупателя в черный список (помимо аннулирования всех лицензий происходит блокировка покупателя)
P.S. Чуть позже напишу про наше новое железо!
1. Билдсервер.
Первый сервак собрали на базе десктопного железа (пять лет назад вышло примерно в $2700):
— проц Intel Core i7-4820K
— мать ASUS P9X79 LE
— память Kingston 4 x 8 GB 1600
— 4 x Samsung 256GB SSD 840 PRO
— 2 x HDD WD5003AZEX
— хороший корпус, кулер и бесперебойник
Софт (все крутилось под управлением ESXi 5.5):
— Виртуальные Windows (лицензия + Visual Studio 2015), OSX 10.8, XUbuntu для сборки ПО разные операционки
— Репозиторий на базе "Git for windows"
— HTTP сервер на базе IIS 7 (MSSQL + JIRA + Confluense + Bamboo)
Такое железо у нас беспроблемно прожило 5 лет (за все время сдох один БП и USB порт на материнке).
2. Продажи
Для ведения продаж написана небольшая БД под MSSQL. Далее все это автоматизировано следующим образом:
— Все платежи принимаются через PayPro
— В панели настроен IPN, который дергает скрипт на HTTP сервере
— Скрипт парсит все параметры из IPN, дальше по email ищет покупателя из БД и регистрирует покупку (если что-то пошло не так — отправляет на внутреннюю почту письмо с темой "Exception Notification" )
— При создании новой записи в о покупке запускается скрипт в Bamboo, который создает лицензию, собирает нужный продукт, выкладывает на FTP и шлет ссылку на закачку конченому пользователю.
— На сервере также существует возможность создать запись о покупке у ручном режиме (сделана соотвествующая форма, которая в итоге дергает тотже самый IPN скрипт)
3. Refund/Chargeback
— IPN отслеживает не только покупки, но и возвраты (со статусом OrderRefunded/OrderChargedBack). По такому запросу ищутся все активные покупки покупателя, которые переводятся в статус "аннулирована" и в дальнейшем сборка ПО ним не производится
— Также на сервере есть возможность добавить email покупателя в черный список (помимо аннулирования всех лицензий происходит блокировка покупателя)
P.S. Чуть позже напишу про наше новое железо!
Промышленный подход к разработке ПО
Хочу поделиться нашим опытом по внедрению "промышленного" подхода к разработке и продаже ПО.
1. Билдсервер.
Первый сервак собрали на базе десктопного железа (пять лет назад вышло примерно в $2700):
— администрирование через VMWare vSphere Client
— проц Intel Core i7-4820K
— мать ASUS P9X79 LE
— память Kingston 4 x 8 GB 1600
— 4 x Samsung 256GB SSD 840 PRO
— 2 x HDD WD5003AZEX
— хороший корпус, кулер и бесперебойник
Софт (все крутилось под управлением ESXi 5.5):
— Виртуальные Windows (лицензия + Visual Studio 2015), OSX 10.8, XUbuntu для сборки ПО разные операционки
— Репозиторий на базе "Git for windows"
— HTTP сервер на базе IIS 7 (MSSQL + JIRA + Confluense + Bamboo)
Такое железо у нас беспроблемно прожило 5 лет (за все время сдох один БП и USB порт на материнке).
2. Продажи
Для ведения продаж написана небольшая БД под MSSQL. Далее все это автоматизировано следующим образом:
— Все платежи принимаются через PayPro
— В панели настроен IPN, который дергает скрипт на HTTP сервере
— Скрипт парсит все параметры из IPN, дальше по email ищет покупателя из БД и регистрирует покупку (если что-то пошло не так — отправляет на внутреннюю почту письмо с темой "Exception Notification" )
— При создании новой записи в о покупке запускается скрипт в Bamboo, который создает лицензию, собирает нужный продукт, выкладывает на FTP и шлет ссылку на закачку конченому пользователю.
— На сервере также существует возможность создать запись о покупке у ручном режиме (сделана соотвествующая форма, которая в итоге дергает тотже самый IPN скрипт)
3. Refund/Chargeback
— IPN отслеживает не только покупки, но и возвраты (со статусом OrderRefunded/OrderChargedBack). По такому запросу ищутся все активные покупки покупателя, которые переводятся в статус "аннулирована" и в дальнейшем сборка ПО ним не производится
— Также на сервере есть возможность добавить email покупателя в черный список (помимо аннулирования всех лицензий происходит блокировка покупателя)
4. Новое железо
Итак, через 5 лет использования сервера на базе десктопа решили перейти на следующий уровень (вышло в $4400):
— платформа SuperServer 5019S-WR
— проц Intel Xeon E3-1270V6
— память 4 х 16GB, ECC UDIMM, DDR4-2666
— 4 х Intel SSD S4610 Series SATA 2,5" 480Gb
— LSI MegaRAID SAS 9341-4i
— 2 сетевых порта + IPMI
Сервак крутится под ESXI 6.7, доступ к админке/виртуалкам через браузер.
Все это дело теперь стоит в ЦОД (стоимость размещения — 2000 руб./месяц).
5. Планы на будущее
Хотим перетащить на сервер почту и сайт, тем более что железо позволяет использовать отдельный от билдсервера IP.
1. Билдсервер.
Первый сервак собрали на базе десктопного железа (пять лет назад вышло примерно в $2700):
— администрирование через VMWare vSphere Client
— проц Intel Core i7-4820K
— мать ASUS P9X79 LE
— память Kingston 4 x 8 GB 1600
— 4 x Samsung 256GB SSD 840 PRO
— 2 x HDD WD5003AZEX
— хороший корпус, кулер и бесперебойник
Софт (все крутилось под управлением ESXi 5.5):
— Виртуальные Windows (лицензия + Visual Studio 2015), OSX 10.8, XUbuntu для сборки ПО разные операционки
— Репозиторий на базе "Git for windows"
— HTTP сервер на базе IIS 7 (MSSQL + JIRA + Confluense + Bamboo)
Такое железо у нас беспроблемно прожило 5 лет (за все время сдох один БП и USB порт на материнке).
2. Продажи
Для ведения продаж написана небольшая БД под MSSQL. Далее все это автоматизировано следующим образом:
— Все платежи принимаются через PayPro
— В панели настроен IPN, который дергает скрипт на HTTP сервере
— Скрипт парсит все параметры из IPN, дальше по email ищет покупателя из БД и регистрирует покупку (если что-то пошло не так — отправляет на внутреннюю почту письмо с темой "Exception Notification" )
— При создании новой записи в о покупке запускается скрипт в Bamboo, который создает лицензию, собирает нужный продукт, выкладывает на FTP и шлет ссылку на закачку конченому пользователю.
— На сервере также существует возможность создать запись о покупке у ручном режиме (сделана соотвествующая форма, которая в итоге дергает тотже самый IPN скрипт)
3. Refund/Chargeback
— IPN отслеживает не только покупки, но и возвраты (со статусом OrderRefunded/OrderChargedBack). По такому запросу ищутся все активные покупки покупателя, которые переводятся в статус "аннулирована" и в дальнейшем сборка ПО ним не производится
— Также на сервере есть возможность добавить email покупателя в черный список (помимо аннулирования всех лицензий происходит блокировка покупателя)
4. Новое железо
Итак, через 5 лет использования сервера на базе десктопа решили перейти на следующий уровень (вышло в $4400):
— платформа SuperServer 5019S-WR
— проц Intel Xeon E3-1270V6
— память 4 х 16GB, ECC UDIMM, DDR4-2666
— 4 х Intel SSD S4610 Series SATA 2,5" 480Gb
— LSI MegaRAID SAS 9341-4i
— 2 сетевых порта + IPMI
Сервак крутится под ESXI 6.7, доступ к админке/виртуалкам через браузер.
Все это дело теперь стоит в ЦОД (стоимость размещения — 2000 руб./месяц).
5. Планы на будущее
Хотим перетащить на сервер почту и сайт, тем более что железо позволяет использовать отдельный от билдсервера IP.