2016-03-28 2 views
0

Мы планируем разработать веб-систему управления практикой в ​​сфере здравоохранения. Из-за HIPAA нам предлагается развернуть приложение в наших собственных помещениях. Наша компания относительно невелика, в настоящее время у нас есть только инженеры-программисты и нет инженеров-разработчиков, но мы все же хотим разработать приложение для поддержки горизонтального масштабирования (добавление большего количества серверов).Требование разработать масштабируемое веб-приложение

Планируемое использование:

  • Python3 (Джанго)
  • PostgreSQL

Я ищу что-то вроде AppScale но со свободой выбора нашей собственной среды выполнения, базы данных и рамки.

Другими словами, с точки зрения программного обеспечения инженера:

  • должен обеспечить простой способ для развертывания приложения Джанго
  • должны иметь панель веб-интерфейс для мониторинга и контроля (как AppScale)
  • Если сделать нагрузку балансирование простой (приложение и база данных)
+0

Простое голосование не помогает вообще. Было бы здорово, если бы я знал, какое правило я нарушил здесь. – bkmagnetron

ответ

0

Я выбрал Kubernetes, который является технологией контейнера оркестровки разработан специально для Docker и также обнаружил, что масштабирование не только ответственность платформы, что приложение развернуто на, но и ее зависит от того, как разработано и закодировано приложения. Для этого The Twelve-Factor App методология действительно полезна.

Но я не могу развернуть базу данных на Кубернете, потому что ее не рекомендовал Келси Хайтауэр (автор Kubernetes Up and Running) в своем talk. Итак, на данный момент я решил развернуть свою базу данных на виртуальной машине.

3

AppScale реализует Google App Engine APIs который, IMHO, делает его очень легким для разработки веб-приложений быстро и эффективно. Кроме того, вы получите автоматическое масштабирование, балансировканагрузки, а также возможность развертывания на локальном и подключить любую стороннюю библиотеку вам нужно. AppScale уже поставляется с приборной панелью и вскоре будет запущена новая служба управления для развертывания (ов) AppScale.

Если вы не особо повесили трубку на Python3 и PostgreSQL, все вышеперечисленное, похоже, будет отвечать вашим требованиям.

Следует отметить, что выбор модели GAE означает, что вы выбираете NoSQL, и поэтому postgres, вероятно, не самый лучший вариант.

Отказ от ответственности: Я являюсь частью команды AppScale, и мы уже помогаем компаниям разрабатывать и доставлять свои приложения в области соблюдения HIPAA.

+0

У меня нет опыта работы в NoSQL, поэтому, пожалуйста, поправьте меня, если я ошибаюсь.То, что я слышал о NoSQL, - это то, что он подходит только для диаграмм, форумов и т. Д., Другими словами приложения, которые не беспокоятся о потере данных и не требуют каких-либо сложных запросов, которые связаны с JOIN. Я могу переключиться на Python2, но мне нужно использовать RDBMS. Итак, если я использую MySQL (Cloud SQL), вместо PostgreSQL будет помощь AppScale в автоматическом масштабировании и балансировке нагрузки. – bkmagnetron

+0

Вы можете настроить MySQL на AppScale и использовать его в своем приложении. Тем не менее, вы по существу не будете использовать API Datastore, поскольку в настоящее время нигде нет слоя Datastore to MySQL. Базовый компонент AppScale NoSQL - это Cassandra, который обладает высокой масштабируемостью и эффективностью. Что касается потери данных, AppScale предлагает репликацию данных, такую ​​как GAE, а также резервные копии. Что касается JOINs, существуют ограничения ([GAE docs] (https://cloud.google.com/appengine/docs/python/datastore/), [соответствующий вопрос] (http://stackoverflow.com/questions/810303/ без-joins-on-google-app-engine-does-your-data-have-to-exist-in-one-big-tabl)) –

+0

Это не проблема, потому что мы собираемся использовать [Django] (https : //github.com/GoogleCloudPlatform/appengine-django-skeleton), который обеспечивает хороший ORM для MySQL. Но мой вопрос заключается в том, что AppScale помогает в масштабировании MySQL просто как [this] (https://github.com/AppScale/appscale/wiki/FAQs#what-is-a-recommended-production-deployment), просто указывая несколько IP-адресов. – bkmagnetron

Смежные вопросы