Основные принципы хорошо спроектированной платформы Azure
Облако изменило способ решения бизнес-задач для организаций, а также разработку приложений и системы. Роль архитектора решения не ограничивается предоставлением бизнес-ценности с помощью функциональных требований приложения. Они также должны обеспечить, чтобы решение было разработано таким образом, чтобы оно было масштабируемым, устойчивым, эффективным и безопасным.
Архитектура решения касается планирования, проектирования, реализации и постоянного улучшения технологической системы. Архитектура системы должна сбалансировать бизнес-требования и соответствовать им с помощью технических возможностей, необходимых для выполнения этих требований. В итоговой архитектуре должен достигаться правильный баланс риска, стоимости и возможностей всей системы и ее компонентов.
Платформа Azure с продуманной архитектурой
Хорошо спроектированная платформа Azure — это набор руководящих принципов для создания высококачественных решений в Azure. Нет единого подхода к проектированию архитектуры, но существуют некоторые универсальные понятия, которые применяются независимо от архитектуры, технологии или поставщика облачных служб.
Эти понятия не являются все инклюзивными, но они могут помочь вам создать надежную, безопасную и гибкую основу для вашего приложения.
Хорошо спроектированная платформа Azure состоит из пяти основных критериев.
- Оптимизация затрат
- Эффективность работы
- Оптимизация производительности
- Надежность
- Безопасность
Оптимизация затрат
Вы хотите разработать облачную среду таким образом, чтобы она была экономически эффективной для операций и разработки. Следует определить неэффективность и издержки вложений в облако, чтобы гарантировать вложение средств с максимальной отдачей.
Эффективность работы
Благодаря преимуществам современных методик разработки, таких как DevOps, можно обеспечить более быстрое выполнение циклов разработки и развертывания. Необходима архитектура с эффективным мониторингом, чтобы можно было определять сбои и проблемы до их возникновения или как минимум до того, как их заметят пользователи. Автоматизация — ключевой аспект этого критерия, позволяющий устранить отклонения и ошибки, одновременно повысив эксплуатационную гибкость.
Оптимизация производительности
В архитектуре, которая оптимально работает и масштабируется надлежащим образом, объем ресурсов должен соответствовать спросу. В большинстве случаев облачные архитектуры выполняют динамическое масштабирование приложений на основе действий в приложении. Меняется спрос на услуги, поэтому очень важно, чтобы архитектура имела возможность настройки по требованию. Разрабатывая архитектуру с учетом производительности и масштабируемости, вы обеспечиваете отличный опыт для клиентов, а также экономии.
Надежность
Самый большой страх любого архитектора — сбой архитектуры без возможности ее восстановления. "Успешная" облачная среда разрабатывается с учетом сбоев на всех уровнях. При этом проектируется система, которая может восстановиться после сбоя, в течение времени, требующегося заинтересованным лицам и пользователям.
Безопасность
Данные являются самой ценной частью технической базы вашей организации. В этом руководстве основное внимание уделяется защите доступа к архитектуре с помощью проверки подлинности и защиты приложений и данных от уязвимостей сети. Кроме того, необходимо защитить целостность данных с помощью таких средств, как шифрование.
Аспекты безопасности нужно учитывать на протяжении всего жизненного цикла приложения — от разработки и реализации до развертывания и эксплуатации. Облако обеспечивает защиту от различных угроз, таких как вторжение в сеть и атаки DDoS. но вам все равно необходимо обеспечить безопасность в своем приложении, процессах и организационной культуре.
Общие принципы проектирования
Помимо этих основных критериев, существует ряд принципов проектирования, которые должны учитываться во всех компонентах архитектуры.
Включение архитектуры эволюции: архитектура не является статической. Обеспечьте эволюционное развитие архитектуры, чтобы она могла использовать новые службы, средства и технологии по мере их появления.
Используйте данные для принятия решений: сбор данных, их анализ и использование для принятия решений, связанных с архитектурой. От данных о затратах до производительности до загрузки пользователей с помощью данных можно сделать правильный выбор в вашей среде.
Обучение и включение: облачные технологии быстро развиваются. Обучайте специалистов по разработке, эксплуатации и бизнес-операциям, чтобы помочь им принимать правильные решения и создавать средства для решения бизнес-проблем. Документируйте конфигурацию, решения и рекомендации и предоставляйте доступ к ним сотрудникам организации.
Автоматизация: автоматизация действий вручную снижает операционные затраты, сводит к минимуму ошибки, введенные вручную, и обеспечивает согласованность между средами.
Общая ответственность
Переход к облаку представляет модель общей ответственности. В этой модели поставщик облачных служб управляет определенными аспектами приложения, оставляя вас с оставшейся ответственностью.
В локальной среде вы несете ответственность за все. При переходе на инфраструктуру как службу (IaaS), а затем на платформу как службу (PaaS) и программное обеспечение как услуга (SaaS), ваш поставщик облачных служб берет на себя большую часть этой ответственности.
Эта общая ответственность играет роль в ваших архитектурных решениях, так как эти решения могут иметь последствия для затрат, безопасности и технических и операционных возможностей вашего приложения. Переложив эти обязанности на своего поставщика, можно сосредоточиться на повышении ценности своего бизнеса и отказаться от действий, которые не являются основной бизнес-функцией.
Проектные решения
В идеальной архитектуре вы создадите самые безопасные, высокопроизводительные, высокодоступные и эффективные среды. Однако, как и во всем, есть компромиссы.
Максимальный уровень этих возможностей требует своей цены. Она может быть выражена в денежном эквиваленте, в виде времени доставки или в форме эксплуатационной адаптивности. Каждая организация имеет разные приоритеты, которые влияют на выбор дизайна, сделанный в каждом столе. При разработке архитектуры необходимо определить, какие компромиссы приемлемы и которые не являются.
При создании архитектуры Azure нужно учитывать множество факторов. Вы хотите, чтобы ваша архитектура была безопасной, масштабируемой, доступной и поддерживающей восстановление. Чтобы сделать это возможно, необходимо принимать решения на основе затрат, приоритетов организации и риска.