ИНФРАСТРУКТУРА КАК КОДЕКС
Начало работы | Инфраструктура как код (IaC) с примерами.
Понимание IaC в деталях.
Обзор
Инфраструктура является жизненно важной частью разработки программного обеспечения. Это помогает нам создавать и развертывать программное приложение. Инфраструктурой могут быть серверы, балансировщики нагрузки или БД. Нынешнее поколение разработки программного обеспечения имеет несколько сред и требует от нас создания различной инфраструктуры для отдельной среды. Это создает сложность и увеличивает время, затрачиваемое разработчиком на создание инфраструктуры для каждой среды. Традиционный подход к развертыванию приложения заключался в ручном создании инфраструктуры, что является очень неправильным способом, когда речь идет о таких решениях, как масштабируемость и надежность. Вот почему «Инфраструктура как код» стала важной частью повседневной деятельности разработчиков.
Инфраструктура как код (IaC) управляет инфраструктурой и предоставляет ее с помощью кода, а не вручную. В IaC записываются файлы конфигурации, содержащие спецификации и сведения об инфраструктуре, что упрощает создание и редактирование необходимых конфигураций. Это также гарантирует, что каждый раз, когда вы запускаете конкретный код IaC, он создает точно такую же инфраструктуру.
Поскольку IaC — это, по сути, код, который мы можем поддерживать в системе управления версиями, это помогает нам отслеживать каждое развертывание и легко выполнять откат, если мы сталкиваемся с какими-либо проблемами.
Важные преимущества IaC перечислены ниже.
- Управление версиями: мы можем отслеживать последнюю и старую информацию.
- Нет ручного вмешательства: после того, как конфигурации будут написаны, нам не потребуется ничего менять, что снижает вероятность создания неправильной инфраструктуры.
- Расширенная автоматизация. IaC можно широко использовать при создании конвейеров CI/CD.
- Снижение затрат. Мы создаем ровно столько, сколько необходимо, сокращая избыточную инфраструктуру.
- Увеличение скорости развертывания:поскольку нет ручного вмешательства, развертывание выполняется быстро и быстро.
- Разные варианты. Существует несколько способов написания кода IaC.
Декларативная и императивная инфраструктура как код
- Декларативный IaC: нам нужно только установить желаемый файл конфигурации состояния, а инструмент IaC позаботится о создании всей инфраструктуры.
- императивный IaC:нам нужно создать шаги/команды, и они будут выполняться одна за другой, чтобы создать всю инфраструктуру.
Некоторые инструменты IaC используют декларативный подход и автоматически предоставляют необходимую инфраструктуру в соответствии с предоставленными конфигурациями. Если вы внесете изменения в конфигурацию, инструмент IaC применит эти изменения за вас. Императивный инструмент потребует от вас выяснить, как следует применять эти изменения.
Вот несколько популярных вариантов для IaC:
Ниже приведены примеры различных инструментов для создания корзины S3 в AWS.
- Терраформ
resource "aws_s3_bucket" "b" { bucket = "DOC-EXAMPLE-BUCKET" tags = { Name = "My bucket" Environment = "Dev" } } resource "aws_s3_bucket_acl" "example" { bucket = aws_s3_bucket.b.id acl = "private" }
пример: https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket
2. Облакообразование AWS
AWSTemplateFormatVersion: "2010-09-09" Resources: S3Bucket: Type: 'AWS::S3::Bucket' DeletionPolicy: Retain Properties: BucketName: DOC-EXAMPLE-BUCKET
3. АВС CDK
new Bucket(scope, 'Bucket', { bucketName : 'DOC-EXAMPLE-BUCKET' removalPolicy: RemovalPolicy.RETAIN, });
пример: https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.Bucket.html
4. Бессерверная среда
resources: Resources: ModuslandBucket: Type: AWS::S3::Bucket Properties: BucketName: DOC-EXAMPLE-BUCKET
кредиты: https://moduscreate.com/blog/upload-files-to-aws-s3-using-a-serverless-framework/
Спасибо за прочтение. Надеюсь, эта история была полезной. Если ты заинтересован,
посмотрите другие мои статьи.
вы также можете посетить shubhamdeshmukh.com