장효성

장효성님의 아티클

장효성

장효성

AI 챗봇으로 슬랙에서 연말정산 Q&A 자동화 하기 (feat. OpenAI)

연말정산예시.gif

지난 OpenAI DevDay에서 PDF 등 문서를 업로드하여 이를 기반으로 질문을 하고 GPT 모델이 답을 해주는 Assistants API가 발표되었는데요, 내가 가진 자료로 AI를 학습시키기 위해 필요했던 코딩(주로 python), 랭체인의 학습이라던가 벡터DB의 구축 등 개발지식이 필요없게 된 멋진 기능이죠. 

그런데 우리 팀을 위한 자료를 학습시킨 AI를 우리 팀이 활용하려면 문제가 좀 달라집니다. 학습된 AI의 API를 활용하려면 개발자의 도움과 클라우드 서버가 필요하기 때문이죠. 

예를 들어, 신입사원을 위한 온보딩 자료 등 사내지침이 담긴 pdf파일을 학습시킨 AI를 슬랙봇(또는 Discord봇)을 통해 사내에서 팀원들이 활용할 수 있다면 참 편할텐데, 개발자 팀원에게 부탁하기엔 좀 부담스러운 일일 것입니다.

이 문제를 해결할 수 있는게 간편한 클라우드 서비스인데요, 아래의 영상을 따라하면 비개발자도 코딩한줄 없이 AI봇을 우리팀 메신저에 추가할 수 있습니다. 영상에서는 2023귀속 연말정산 자료를 활용했지만, 원하는 자료로 테스트해 보세요!

4
0
장효성

장효성

당근마켓의 클라우드 관리 방식?

당근마켓 같은  규모 있는 스타트업의 클라우드 관리 방식 궁금하지 않으신가요?

최근에  당근마켓에서 당근마켓의 클라우드 관리 방식을 공개하는 세미나가 있었어요. 주 내용은 당근마켓의 SRE팀(클라우드 서버 인프라 관리팀)이 발표한 당근마켓의 사내 개발자 플랫폼 Kontrol에 대한 것이죠.

스크린샷 2023-08-02 오전 11.08.27.png

서비스 개발을 위한 클라우드 인프라 관리에 관심 있는 메이커 여러분이라면 당근마켓의 클라우드 관리 방식에 대해 나눈 고민과 그 결과물을 살펴보는 것은 도움이 될 거라고 생각해서, 아래에 발표내용을 요약했습니다! (출처 : https://youtu.be/JWR8pEPimsY)


1. 배경

스크린샷 2023-08-02 오전 11.10.25.png

회사의 개발자는 서비스 개발직군과 인프라관리 직군으로 나뉜다.
서비스 개발자가 작업할 서버를 SRE팀에 요청하면 SRE팀에서 인프라세팅(AWS) 작업 후 요청한 엔지니어에게 전달하는 방식

VS..png

하지만 두 직군 사이에 대립되는 입장차가 존재한다. 서비스 개발자는 빠른 변경과 다양한 시도를 원하지만,  SRE팀은 안정적 운영과 보안 관련 승인 및 일관된 정책적용 관리를 원함

  1. 대안의 필요성 인식
    당근마켓은 기존의 방식이 양쪽 모두에게 불편하다는 결론에 이르게 됨
    - SRE팀은 개발직군에게 인프라를 만들어주는 일만 하고 있을 수는 없다 -> 늦은 대응으로 이어짐
    - 당사자가 신청 또는 개설을 잊고 있거나, 당일 이벤트를 위해 갑자기 요청이 들어오는 경우 바로 대응이 안될 수 있다
    - 그리고 조직이 점점 커지고 있어서 SRE팀의 업무가 과중되고 있다.

스크린샷 2023-08-02 오후 1.22.33.png

  1. 대안으로 개발자 플랫폼을 선택

Cognitive Operated by.png

기술의 발달로 인프라 및 아키텍처가 점점 복잡해지면서 개별 엔지니어가 직접 인프라를 다루기엔 인지부하(cognitive load)가 점점 커진다는 부담(=개발효율의 저하)을 플랫폼이라는 추상화된 형태로 인지 부담의 선을 정하여(다 알 필요는 없고 어디까지만 알면 된다는 선) 해결할 수 있다고 판단

Platform.png

따라서 대안으로 서비스 개발자에게 플랫폼을 제공하는 방식을 선택(Develper Self-Service, SRE팀을 거치지 않고 서버 사용)
- 일관된 정책을 적용한 상향 평준화 된 플랫폼 제공으로 서비스 개발자의 입장과 SRE팀의 입장을 동시에 충족 

  1. 결과물(당근마켓 사내 개발자플랫폼 Kontrol)

g.png

직접 개발한 Kontrol은 배포툴인 GoCD를 기반으로 만들었으나, 최근 Argo CD workflows로 교체.
생성된 프로젝트의 Ownership관리를 Katalog, 비용 시각화를 위한 Kost, 개발자가 직접 리소스를 관리할 수 있는 Krp라는 서비스도 직접 개발.

결국 당근마켓의 개발자들은 위의 기능들이 탑재된 Kontrol이라는 단일 UI의 개발자 플랫폼을 통해서 서비스 개발에 관한 통합적인 관리를 할 수 있게 된다.


5. 개발자 플랫폼을 구축해서 얻은 이득

스크린샷 2023-08-02 오후 1.35.37.png

  • 인프라 작업 요청 감소
    -> self-service로 서비스 개발자는 서버개설을 기다리지 않고 바로 개발, 인프라팀은 작업 요청 감소로 업무 부담 완화

  • 디버깅 시간 감소

    -> 동일한 모양(설정)의 서비스가 생성되기에 디버깅할 범위가 줄어듦

  • 설정 변경 시 일괄 적용 및 통일된 인프라

  • 개별 조작 없이 한 번의 명령으로 전체에 적용

    -> 개선된 효율성으로 확보된 시간을 서비스 개발에 투여할 수 있음

8
0
장효성

장효성

[웨비나] Github Actions를 활용한 CI/CD파이프라인 구축하기

안녕하세요, 클라우드타입이 웨비나를 개최합니다🙌

클라우드타입은 정기적인 웨비나를 통해 클라우드타입을 효과적으로 다루는 방법 뿐만 아니라 클라우드 기반의 다양한 기술 적용 사례 및 동향을 사용자 분들과 함께 나누고자 하는데요,

이번 웨비나는 전체적으로 두 파트로 나뉘어 진행되며, Part 1은 주제로 선정된 기술에 대한 간략한 소개, Part 2는 클라우드타입에서 직접 배포를 실습해보는 것으로 구성되어 있습니다.

DX(Developer Experience, 개발자 경험) 측면의 사용성 향상과 시스템 안정성 확보를 위해 꾸준한 업데이트를 진행하고 있는 만큼 클라우드타입에 앞으로도 많은 관심 부탁드립니다🙏


웨비나 참가신청링크 https://festa.io/events/3491

(5/30일(화) 오후2시)


클라우드타입과 GitHub Actions

GitHub Actions는 GitHub의 코드 저장소를 바탕으로 각 시스템 환경에 맞는 CI/CD 파이프라인을 손쉽게 구성할 수 있는 서비스입니다. 복잡한 소스 통합 및 배포 프로세스를 자동화하여 큰 환영을 받았고, 특히 GitHub 저장소에 설정파일을 추가하여 간편하게 워크플로우를 구성할 수 있다는 점에서 많은 개발자들의 선택을 받았습니다. 서비스에 대한 자세한 설명은 다음의 클라우드타입 블로그 포스트를 참고해주세요.

🔗 Cloudtype with GitHub Actions

실습 시간에는 자체 개발한 GitHub Actions 라이브러리를 통해 저장소의 예제 소스를 클라우드타입에 배포해 볼 예정입니다. 실습을 위해서 클라우드타입 및 GitHub 계정을 미리 생성 부탁드립니다.

🔗 클라우드타입 홈페이지

🔗 GitHub 홈페이지

클라우드타입

컨테이너 기반 PaaS 클라우드 서비스

3
0
장효성

장효성

우리팀 Slack에 ChatGPT 봇 들이기

클라우드타입의 이번 업데이트에 ChatGPT API를 연동한 슬랙봇 템플릿을 추가했어요.

다시 말해서, 위 이미지와 같이 Slack 채널에 ChatGPT가 연동된 Bot을 앱으로 추가해 사용할 수 있게 된거죠.

물론, Slack에서 자체적으로 ChatGPT와 통합하여 출시될 예정인 서비스를 사용하거나, 어플리케이션 통합 툴인 Zapier를 사용하는 방법도 있겠지만, 지금 소개하는 Slack Bot 템플릿은 클라우드타입에서 제공하는 GitHub 저장소의 코드를 기반으로 작동하고 그 코드를 수정하여 조직의 상황에 맞는 여러 커스터마이징을 할 수 있다는 차이점이 있습니다.


관심있으신 분은 아래의 가이드를 참고해서 사용해 보세요~! 무료 플랜 계정에서도 배포 및 사용이 가능합니다.

https://bit.ly/3MUCxQ0

클라우드타입

컨테이너 기반 PaaS 클라우드 서비스

2
3
장효성

장효성

스크린 스튜디오, 좋네요!

11월4일에 스크린 스튜디오라는 화면캡쳐 툴이 나왔습니다.

https://www.screen.studio/ 소문은 들어보셨나요?


날짜를 굳이 적은 이유는, 제가 최근에 저날만 기다리면서 살았었거든요. 그만큼이나 기대하고 너무 필요했던 제품이었는데, 써보니 너무 만족스럽네요!


스크린 스튜디오는 화면을 영상 캡쳐할때, 마우스 커서의 움직임이나 화면 이동을 자동으로 부드럽게 처리해주는 소프트웨어인데, 아이무비의 자르고 붙이기만 할 수 있는 제가 스크린 스튜디오로 캡쳐하고 약간의 편집을 한 결과물은 아래의 영상에서 확인하실 수 있어요.

https://youtu.be/AJKNEgOWtm0


저런 툴이 있으면 좋겠다고 생각했던건, SaaS 스타트업들을 조사하다가, https://retool.com/ 이란 서비스를 발견했을 때였죠. 서비스도 서비스지만 랜딩페이지에 retool이 어떻게 작동하는지 알려주는 mp4파일이 돌아가고 있는데, '우리 랜딩페이지에도 저런 걸 넣어야겠다!' 는 생각이 절로 들더라구요.


그걸 만들려고 스튜디오에 의뢰를 해봤는데, 비용도 비용이지만 그 결과물이 랜딩페이지에 넣기에는 만족스럽지 않았고, 직접 몇몇 툴로 하려해도 그 툴부터 배우려니 너무 어려웠구요. 그러던 와중에 스크린 스튜디오가 출시된겁니다!


웹상에서 서비스되는 프로덕트를 만드시는 메이커분이시라면, 우리 서비스가 실제 어떠한 방식으로 작동되는지 임팩트있게 표현하길 원하신다면, 스크린 스튜디오 추천드립니다!


5
1
장효성

장효성

슈퍼개발자와 스타트업 시작하기 -4-

지난 글들을 통해 초기 스타트업은 풀스택 개발자 또는 Devops엔지니어를 영입하기 어려우니, 그에 대한 대안으로 우리팀원 개발자가 ‘노옵스 툴’을 사용해서 직접 그 슈퍼개발자가 되는 것을 제시하였습니다.


오늘은 그 ‘No ops tool’에 도대체 어떤 기능이 있는지 알아보려는데요, 글보다는 체험! 실습으로 진행해볼께요. 노옵스 툴로 Next.js, tailwindcss로 작성된 랜딩페이지를 배포하는 실습을 준비했어요.

  1. 준비물은 Github 계정 하나만 있으면 되구요.
  2. 신용카드 등록없이
  3. 몇 번의 클릭으로
  4. 5분이면 됩니다.


실습을 진행하기에 앞서 지난 글에서 노옵스 툴로서 Heroku를 추천했었어요. 하지만

  1. 서버가 미국에 있어서 Heroku를 사용하면 우리의 데이터가 태평양을 건너다녀야해서 좀 느리다는 점.
  2. 한국어를 지원하지 않는다는 점
  3. Github과 연동을 시키려면 복잡한 과정을 거쳐야한다는 점
  4. 무료 플랜 제공이 종료된 점…때문에

제가 몸담은 국내 서비스인 클라우드타입을 사용하겠습니다. 위의 문제가 없고, 보다 최신의 기술을 기반으로 해서 오히려 좋지요.


실습은 아래의 과정을 거칩니다.

  1. Github(www.github.com) 에 로그인.
  2. hhttps://www.tailwindawesome.com/에 접속해서 제시된 템플릿(hhttps://www.tailwindawesome.com/resources/nextly의 코드를 내 Github계정에 fork(복사)
  3. 클라우드타입(hhttps://cloudtype.io/에 가입하고, 배포할 앱으로서 Next.js를 선택
  4. 배포할 코드로서 내 깃헙계정에 fork했던 ‘nextly-template’을 선택
  5. 개설할 클라우드서버를 서울 리전으로 선택
  6. ‘배포하기’ 버튼 클릭


여기까지는 ‘마우스 클릭’만으로 가능하지만, 글로만으로는 어려우실테니, 실습영상을 아래에 준비했습니다. 중간에 빌드되는동안 기다리는 시간(2분)은 삭제해서, 러닝타임은 총 3분입니다.

hhttps://youtu.be/hxzOyPJazBk


(제시된 템플릿은 문제 없지만, 다른 무료 또는 유료의 템플릿을 사용할때 사용목적의 범위에 대한 License 항목을 확인하시고 사용하세요)

여기까지는 디자인이 들어간 틀(frame)만 웹상에 배포한 것이구요. 이 틀에서 글자와 사진만 바꾸면(html과 css를 학습하셔야 해요), 즉 코딩만 할 줄 안다면 내가 원하는대로 랜딩페이지를 만들 수 있어요.

  1. 랜딩페이지의 코드를 수정해서 다시 배포하고
  2. 배포된 랜딩페이지에 사용자가 가진 커스텀 도메인을 붙이는 것은 아래의 영상(3분)을 참고하세요. (실습은 cloudflare의 도메인 서비스를 사용했어요)

https://youtu.be/7-OqSv_YaF8

(혹시 눈치채셨나요? 클라우드타입으로 배포하면 자동으로 부여된 URL이든 사용자의 도메인이든, https를 위한 SSL인증서가 자동으로 발급됩니다. )


“너는 코딩만 해, 나머진 우리가 다 해줄께.” 라는 문구 기억하시나요?


지난 글에서도 언급했던, 대표적인 No ops tool 서비스 페이지에서 볼 수 있는 문구죠. 그리고 실습을 따라오셨다면 지금 그 문구를, 그 기능을 체험하신 겁니다. 코드만 지정했더니 서비스(랜딩페이지)가 만들어졌으니까요.


이 글로 ‘슈퍼개발자와 스타트업 시작하기’ 시리즈를 마칩니다! 글을 쓰면서 저 스스로도 성장하는 계기가 되었는데요, 이 글을 읽는 분들은 어떠셨는지 모르겠네요. 다음엔 또 다른 컨텐츠로 돌아오겠습니다!

클라우드타입

컨테이너 기반 PaaS 클라우드 서비스

8
0
장효성

장효성

슈퍼개발자와 스타트업 시작하기 -3-

지난 글들을 통해, ‘초기 스타트업을 위한 슈퍼개발자’가 어떤 능력을 갖고 있는지 생각해보고, 이들을 영입하는 것 없이 서비스를 구현 할 수 있는 다음의 방법들을 제시했습니다.


  1. 창업 멤버에 풀스택 엔지니어(초기 스타트업을 위한 슈퍼 개발자)가 있다.
  2. 팀의 개발자가 Devops관련 지식을 학습한다. 즉 슈퍼개발자가 되버린다.
  3. ‘No code tool’을 사용한다.
  4. ‘No ops tool’을 사용한다.


2의 경우에는 창업멤버인 개발자라면 열정적으로 학습할 수 있겠지만(어렵고 오래 걸려요… 😨), 단순 개발자로 영입한 분께 Devops역할까지 학습하라고 하면 아마 저항이 있을거에요. 개발자들 사이에서 스타트업에 취업하면 너무 많은 일을 시키더라 … 는 소문의 일부가 여기에서 나온게 아닐까 해요. 🤔


3의 경우는 많은 팀들이 활용하고 있고, 가장 쉽고 추천하는 방법이에요. 문제는 내 아이디어에 맞는 노코드 툴이 없거나, 언젠가는 그 노코드 툴에서 벗어나야 할 경우도 고민해야 한다는 점이죠.


4의 경우는 개발자 팀원이 ‘Devops엔지니어의 역할을 대신 해주는 툴’, 즉 No ops tool을 사용해서 슈퍼개발자 역할을 하는 방식이에요. 비유하자면 아이언맨슈트같은 걸 입고 개발하는거죠.


3의 노코드 툴은 유명하기에 아마 어느정도 아실테니, 여러분께서 생소하실 ‘노옵스 툴’에 대한 논의로 이어가겠습니다.


먼저, 그런 툴로 생각나는 서비스가 있으신가요? 구글링해도 나오는 것은 아래의 그림처럼 ‘Devops엔지니어가 사용하는 툴’들이 나오기에 관련 배경지식이 없으신 분은 오히려 더 혼란스러우실 거에요

( 각각의 영역에서 Devops엔지니어가 선택하여 활용하는 여러가지 툴. 출처 : hthttps://www.openxcell.com/devops/)


그래서 우선 ‘No ops tool’은 ‘No code tool’에 비교해서 이해하면 쉬울 것 같아요.

No code tool = 코딩하는 개발자 없이도 서비스를 제작/운영하게 도와주는 툴

No ops tool = 코딩하는 개발자는 있지만 Devops엔지니어 없이도 서비스를 제작/운영하게 도와주는 툴


그렇다면 이러한 노옵스 툴에는 무엇이 있을까요? 우선 가장 유명하고 오래된 서비스인 ‘Heroku’가 있구요

(hhttps://www.heroku.com/)


그리고 Cloudflare Workers와 같은 서비스가 있습니다. 홈페이지의 문구를 보세요! 느낌이 오시나요?

(“너는 코딩만 해, 나머진 우리가 다 해줄께.” https://workers.cloudflare.com/)


오늘은 우리 초기 스타트업의 개발자 팀원이 슈퍼개발자 역할을 하도록 돕는 ‘No ops tool’이 무엇인지 살펴보았고, 다음글에서는 Heroku나 Cloudflare Workers같은 ‘No ops tool’이 제공하는 기능을 살펴 보면서 실제로 어떻게 활용해서 우리의 서비스를 만들지를 다뤄보겠습니다!

6
3
장효성

장효성

슈퍼개발자와 스타트업 시작하기 -2-

지난글에서 ‘초기 스타트업을 위한’ 슈퍼개발자를 생각해보았고, 이번엔 그들에 대해서 조금만 더 파볼께요.


혹시 ‘내가 직접 코딩을 해봐야겠다’라는 생각에 Python이나 React 등을 검색해보신 적은 있으신가요?


코딩을 배우면 내 아이디어를 직접 서비스로 만들 수 있을 것 같지만 그게 쉽지는 않죠. 내가 만든 코드를 실제 고객이 사용하는 서비스로 배포/운영하기 위해 해야할 일들이 너무 많기 때문이에요. 이를 위해 Youtube에서 aws강좌 등을 검색해서 하나하나 다 따라하면 시작은 할 수 있겠지만… 변화하는 상황마다 즉각 대처하는 것은 또 다른 차원의 이야기죠.


그런데 그걸 잘 해내는 분들이 있습니다! 😲

그런 분들이 ‘Devops엔지니어’라고 불리지요.

( ‘어느정도’의 서비스를 출시/운영 하려면 좌측 상단의 ‘CODE’부분을 뺀 나머지를 다 할 수 있어야 해요. 출처 : https://orangematter.solarwinds.com/2022/03/21/what-is-devops/ )

문제는 이러한 분들이 드물고 그만큼 연봉이 높다보니 투자를 받지 못한 스타트업으로서는 영입하기가 쉽지 않다는 것이죠.


정리하자면, 일반적으로 서비스를 만들기 위해,

  1. 겉으로 보이는 화면(프론트엔드)이 있어야하고,
  2. 그 화면에 접속한 유저가 명령을 내리면 그에 따라 데이터를 처리해서(백엔드) 보여주면 되는데
  3. 그 서비스가 기반하고 있는 서버인프라를 구축 및 관리(Devops)도 해야하죠.

이 세가지를 전부다 잘 하는 분을 '풀스택 엔지니어'(초기 스타트업을 위한 슈퍼개발자)라고도 하구요,


스타트업 입장에서는 풀스택 엔지니어 또는 Devops엔지니어를 영입하기엔 연봉이라는 현실적인 문제가 따르고, 프론트나 백엔드 개발자가 직접 하자니 그게 또 쉽지는 않은데다 서비스 개발이 지속적으로 더뎌지는 문제가 있죠


그렇다면 이런 분들 영입없이 MVP를 만들려면 초기 스타트업은 어떻게 해야할까요?

  1. 창업 멤버에 풀스택 엔지니어가 있다
  2. 팀의 개발자가 Devops관련 지식을 학습한다. 즉 슈퍼개발자가 되버린다.
  3. ‘No code tool’을 사용한다.
  4. ‘No ops tool’을 사용한다.

를 생각해볼 수 있을 것 같습니다.


1번의 경우는 부러우니까 다루지 않기로 하고요ㅎㅎ, 나머지의 경우는... 벌써 이렇게나 글이 길어졌으니 다음 메이커로그에서 이어가겠습니다!

9
4
장효성

장효성

슈퍼개발자와 스타트업 시작하기 -1-

안녕하세요 클라우드타입의 장효성입니다. 🙏


여기 디스콰이엇은 많은 메이커분들이 다양한 아이디어를 나누고 발전시키는 멋진 곳인데요, 아마 많은 분들이 한 번쯤은 해보셨을 것 같은 생각은 ’슈퍼 개발자를 영입하고 싶다’는 것 같아요. 공감하시나요? 🙂


그런 생각을 해보셨다면, 이 글은 도움이 될 거에요.


우선 ‘슈퍼 개발자’가 도대체 어떠한 존재인지 한번 생각해보죠. 바로 생각나는 이미지는

  1. 네카라쿠베.. 중 어딘가의 프론트엔드 리드개발자라던가,
  2. AI로 뭘 만드는게 아니라 AI엔진 그자체를 만드는 개발자
  3. 아니면 Java만 15년동안 판 개발자네요. 이 분들은 슈퍼 개발자 맞죠.

그런데 이런 분이 우리 팀에 영입되어서 기존의 코파운더와 함께 셋이 되었다고 상상해보세요. 어떤가요? 저는 여기저기 부딪히는 일이 많을 것 같아요. 🤔


그래서 용어를 살짝 바꿔서, ‘초기 스타트업을 위한’ 슈퍼 개발자를 생각해보죠.


현실적으로 우리 ‘초기 스타트업’은 모든게 완벽히 구현된 서비스를 만들 수는 없어요. 우리가 갈고닦은 아이디어를 ‘어느정도’구현해 그 가치를 인정받아 투자를 유치해야 더 많은 팀원을 영입해서 진짜로 무언가를 시작할 수 있거든요. 문제는 그 ‘어느정도’를 구현하기 위해 개발자가 해야할 일이 너무 많다는 거죠.

(서버를 한개 증설할 때마다 개발자는 비슷한 셋팅작업을 반복해야 합니다… 😨)


코딩뿐만 아니라 저 모든걸 해낼 수 있다면, 적어도 ‘초기 스타트업을 위한’ 슈퍼 개발자라고 부를 수 있다고 생각해요. 왜냐하면 아이디어를 서비스로 구현할 수 있으니까요.


그렇다면 이러한 슈퍼 개발자는 도대체 어디에 있고 영입할 수는 있을까… 하는 이야기는 다음 글에서 다뤄보겠습니다!

9
2