Рубрики
Uncategorized

Мое облачное резюме брошина путешествие — Мунавар Харрис

Мое резюме | Мой github. Я заложил глаза на облако Форрест Безвореальское возобновление. Задача в прошлом году во время моего … с меткой облака, безвестен, AWS, DEVOPS.

Мое резюме |. Мой github.

Я проложил глаза на Форрест Безвоэаль Облако возобновить вызов В прошлом году во время моего поиска облачных проектов, связанных с облачными проектами после того, как я получил сертификацию в AWS Solutions Architect Associate.

Я видел персонализированные крики «Бейэааль» людям, которые завершили этот вызов и получили довольно пораженные, когда увидел их удивительные веб-сайты и истории успеха. В то время я думал, что никогда не смогу завершить это. Как я должен работать на Frontend и Backend, требуя нескольких квалификаций в HTML, JavaScript, Python Testing, и все ??!

Тем не менее, моя мотивация попытки этой проблемы вызовела предыдущую неделю прямо до выходных в пятницу. Поэтому я закончил эту проблему в 3 изнурительных днях, и очень горжусь и взволнован, чтобы увидеть мои конвейеры CI/CD, которые становятся зелеными, как я пишу этот пост!

На данный момент срок действия персонализированного кода Forrest Bonearae срок действия кода истек. Даже тогда, завершение этой проблемы чрезвычайно полезно в изучении самых важных облачных услуг AWS. Эта проблема гарантирует, что вы что-то поймете о разработке программного обеспечения, контроль версий, инфраструктуру в качестве кода, автоматизации, непрерывной интеграции и доставки, облачных услуг и «безременительную», безопасность приложений и сетей. А также, да .. Googling Stuff.:)

Достаточно Chitchat, давайте перейдем на технические вещи.

1. Усилитель AWS Cloud практикующий сертификат. 2. Резюме должно быть написано в HTML. 3. Резюме HTML должно быть стилизовано с CSS. 4. Развернуть HTML возобновить в ведре AWS S3. 5. Разверните статический сайт S3 с AWS CloudFront (позволяет HTTPS). 6. Внедрить пользовательское доменное имя для веб-сайта. 7. Включите счетчик веб-сайта в веб-странице с помощью JavaScript. 8. Счетчик должен получить и обновлять счетчик просмотра в базе данных (I.e., dynamodb). 9. Используйте веб-API для получения/обновления данных представления, а не реализуют JavaScript напрямую. 10. Напишите функцию AWS Lambda в Python, чтобы реализовать все это. 11. Создайте тесты для кода Python. 12. Используйте Sam CLI, чтобы развернуть вашу безрусной архитектуру. 13. Реализуйте CI/CD-трубопроводы для интерфейса и бэкэнда, используя действия GitHub.

Фаза 1: S3 Статический сайт и пользовательское доменное имя

Во-первых, я не знаю, как создавать веб-сайты, используя CSS и HTML с нуля. Bootstrap имеет отличный opensource Startup Шаблоны Так что я позаимствовал их за мое использование. После загрузки файлов в мое ведро S3 я сразу же купил доменное имя для моего сайта. После этого я предоставил сертификат для моей области для HTTPS.

Этап 2: настройка DNS и распределения Cloudfront

AWS Manage 53 — это то, где происходит волшебство DNS. Я сгенерировал файлы зоны с помощью консоли AWS, но пока не указывал записи для моего домена. Затем я создал распределение CloudFront, где был предоставлен сертификат SSL. После этого я создал соответствующие записи и псевдоним, указывающие на распределение CloudFront.

Фаза 3: AWS Lambda, Web API, Dynamodb и JavaScript Counter

Основная часть моего времени проводилась на этом этапе. Я также чувствовал, что это было самым сложным для понимания базовых механизмов и взаимодействия между серверусными решениями. Я сначала создал таблицу Dynamodb Dynamodb, затем создал функцию AWS Lambda в Python, которая вернула полезную нагрузку API в формате JSON. Полезная нагрузка может быть отправлена в JavaScript через веб-API. Создание сервисов без сервеса через консоль AWS было легко. Но помните, что эти развертывания должны быть автоматизированы для практики CI/CD.

Фаза 4: Реализация IAAC через облачность и Сэм Выступ

Мне очень понравилось развертывать мою архитектуру без сервеса с помощью инструментов IAAC, таких как AWS CloudFormation и CLI SAM CLI. Это заставка времени, когда вы должны развернуть и настроить несколько сервисов без сервеса в вашей архитектуре. Это позволило мне проверить свои функции лямбда и веб-API так много разных способов. Обязательно быть чрезвычайно знаком с чтением YAML или JSON форматов. Есть и другие способы реализации ресурсов AWS, такие как Terraform и Servelless Framework. Но я решил сделать с самой AWS, так как это был шанс для меня быть более знакомым с AWS.

Фаза 5: Создание теста Python

Создание теста Python для тестирования функции Lambda была очень сложной. Я использовал pteest, boto3 и Мото Пакеты для создания MOCK AWS Dynamodb Table и проверьте функцию лямбда на этом. Кривая обучения очень крутой. После нескольких неудачных попыток создания теста Python удовлетворение пропущенного теста нереально!

Фаза 6: Реализация CI/CD с Действиями GitHub и автоматическое развертывание моей архитектуры

Я многому научился, когда попытался развернуть CI/CD для моей интерфейсы и Backend. На этом этапе мне пришлось рефакторировать свой код JavaScript

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

Я столкнулся с несколькими неудачными попытками развертывания трубопроводов CI/CD для моего интерфейса и бэкэнда благодаря проблему с пользовательскими политиками в развертывании ресурсов AWS. Убедитесь, что вы знаете, где посмотреть, и какие разрешения необходимы для создания, обновления и удаления ресурсов с помощью SAM CLI и вашего пользовательских учетных данных AWS без root. Но еще раз, увидев успешное развертывание вашей безрусной архитектуры, — это неописуемое чувство!

Это было очень сложно, но вознаграждение. И я очень рад, что я протал и закончил. Я узнал тонну о AWS и развертыванию архитектуры без сердца через IAAC. Мало того, что тестирование приложений является очень важным аспектом для реализации трубопроводов CI/CD для вашего кода. Конечно, Code Re-reperites и рефакторинг обычно обычно в этом аспекте. Оглядываясь назад, нам нужно иметь правильное мышление, чтобы сделать возможным автоматическое развертывание/программное обеспечение.

Мой немозвенный дизайн развернут, как показано ниже:

Оригинал: «https://dev.to/mharrist/my-cloud-resume-challenge-journey-munavar-harris-5hlo»