XaC(X as a Code) - 코드로 널리 세상을 이롭게 하다.

capybara·2024년 7월 5일
0
post-thumbnail

내가 만든 단어 X as Code

IaC(Infrastructure as Code)를 중심으로 서비스를 만들고 관련 서비스를 연구하면서 PaC(Policy as Code)와 SaC(Security as Code)를 접했습니다. 코드를 통해 해결할 수 없었던 문제들을 코드를 도입하여 해결하는 사례들을 알게 되면서 코드가 할 수 있는 것들은 어디까지인지 궁금해졌습니다. 관련 서비스들은 얼마나 존재하는지도 궁금해졌습니다.

코드로 여러 문제들을 해결하는 것을 X as Code라고 정의해봤으며, 어떤 XaC가 있는지 알아보았습니다.

X as Code에는 어떤 것들이 있는지 알아보기 전에..

왜 다 코드로 만들까?

IaC를 시작으로 SaC, PaC를 알게 되면서 왜 모든것들을 코드로 만들어서 문제를 해결하려할까 생각해봤습니다. IaC의 장점을 다른 것들에 대입해봤을때 다들 어느정도 비슷한 이유에서 만들어진 것 같습니다.

1. 비용을 줄일 수 있다.

코드로 정의한 것은 문서로 정의되어 있는 것과 달리 컴퓨터가 처리할 수 있어 매우 빠릅니다. 수작업을 줄이고 자동화된 시스템을 도입하여 운영 비용을 줄일 수 있습니다.

2. 실수를 줄일 수 있다.

코드로 정의된 설정과 프로세스는 반복작업을 자동화하여 수작업으로 인한 실수를 줄일 수 있습니다.

3. 협업이 용이하다.

코드는 버전관리가 가능하며, 여러 팀이 동시에 작업할 수 있습니다. 협업을 통해 작업물의 품질을 높일 수 있습니다.



XaC에는 어떤 것들이 있을까?

IaC

Infrastructure as Code

서버, 네트워크, 데이터베이스 등 인프라를 코드로 정의하여 프로비저닝 및 관리합니다.

IaC의 종류로는 Hashicorp의 Terraform, AWS의 Cloudformation 등이 있으며, AWS 사용자의 절반 이상은 이미 Terraform을 도입하여 인프라를 관리하고 있을 정도로 인기있는 도구입니다.


IaC 관리 솔루션 Rocket


SaC

Security as Code

보안 설정과 정책을 코드로 정의하여 보안 점검을 자동화합니다. 소프트웨어 개발 생명주기 전반에서 SaC 구현이 가능하며, 보안 자동화를 통해 보안성과 배포 속도를 높일 수 있습니다.


PaC

Policy as Code

조직의 정책이나 규정을 코드로 정의하여 자동화된 정책 준수 및 감사를 수행합니다.

PaC의 한 사례인 OPA(Open Policy Agent)는 코드 기반으로 정책을 정의하고 관리하여 클라우드 환경의 보안, 정책 자동화를 수행할 수 있습니다.

해당 링크에서 OPA를 직접 사용해볼 수 있습니다. 코드로 정책을 작성하고 input값과 데이터를 입력하면 output에서 정책 준수 여부를 확인할 수 있습니다.


CaC

Compliance as Code

규정 준수 요건을 코드로 정의하여 자동으로 준수 상태를 모니터링하고 보고합니다.

원래는 수작업으로 인프라가 컴플라이언스를 준수하는지 일일이 확인해야 했습니다.
PaC를 통해 CIS 벤치마크, DISA STIG 등과 같은 규정 및 표준에 대한 IT 인프라의 규정 준수를 쉽게 테스트하고 증명할 수 있습니다.


DaC

Diagram as Code

다이어그램을 코드로 정의하고 생성하여 인프라나 데이터의 구조와 흐름을 확인합니다. 대표적인 서비스로는 Mermaid가 있습니다.

플로우차트, 간트차트, 클래스 다이어그램 등 코드 입력을 통해 다이어그램을 생성합니다.

AI와의 채팅을 통해 원하는 다이어그램을 얻고, 편집기로 이동하여 원하는대로 코드를 수정할 수 있습니다.



XaC(X as Code)는 대부분의 소프트웨어 개발과 운영에서 중요한 패러다임으로 자리잡은 것 같습니다. 앞으로 코드가 소프트웨어 개발, 더 나아가 더 많은 분야에서 많은 것들을 해결하는 열쇠가 될 것으로 기대됩니다.

0개의 댓글