2020년 12월 14일 새벽

뜬금없이 2020년 백엔드(Back-End), 데브옵스(DevOps), 프론트엔드(Front-End) 개발자 로드맵 내용이 페이스북에서 조회가 되서 차근차근 읽어보았다. 

회사일로 바쁘다보니, 최신 신기술에 대한 내용 습득이 쉽지 않다는걸 느끼고, 많이 부족하다는 걸 느낌.

그렇지만, 이거 보고 채용 관련 면접 문제 내는데 도움이 될듯?

회사에서 주로 백엔드(Back-End)를 주로 개발하면서 데브옵스(DevOps)내용도 좀 알지만, 프론트엔드(Front-End)는 10여년전에 사회생활때 다룬 jQuery 기술 이것만 쓰니 발전이 없다는걸 느낌.

 

코로나 덕에 새로운 AMD Ryzen3 르누아르(Renoir) CPU 및 Nvidia GPU 탑재 노트북을 사고, 대형 모니터 22인치와 17인치 모니터 연결하여 쓰는 재택근무환경 구축으로, 이제 집에서 열심히 모르는 내용을 2020년 말 유종의 미를 거두기 위해서 열심히 시간 날때마다 자투리로 공부를 해야할것 같음.

 

2020 백엔드 개발자 로드맵 velog.io/@exploit017/2020-%EB%B0%B1%EC%97%94%EB%93%9C-%EA%B0%9C%EB%B0%9C%EC%9E%90-%EB%A1%9C%EB%93%9C%EB%A7%B5

 

2020 백엔드 개발자 로드맵

https://github.com/devJang/developer-roadmap/blob/master/pdf/backend.pdf

velog.io

 

 

2020년 백엔드(Back-end) 개발자 로드백 PDF 한국어 번역 파일 

github.com/devJang/developer-roadmap/blob/master/pdf/backend.pdf

 

devJang/developer-roadmap

2020년 웹 개발자가 되기 위한 로드맵 :kr:. Contribute to devJang/developer-roadmap development by creating an account on GitHub.

github.com

2020년 데브옵스(DevOps) 개발자 로드백 PDF 한국어 번역 파일 

github.com/devJang/developer-roadmap/blob/master/pdf/devops.pdf

 

devJang/developer-roadmap

2020년 웹 개발자가 되기 위한 로드맵 :kr:. Contribute to devJang/developer-roadmap development by creating an account on GitHub.

github.com

2020년 프론트엔드(Front-end) 개발자 로드백 PDF 한국어 번역 파일 

github.com/devJang/developer-roadmap/blob/master/pdf/frontend.pdf

 

devJang/developer-roadmap

2020년 웹 개발자가 되기 위한 로드맵 :kr:. Contribute to devJang/developer-roadmap development by creating an account on GitHub.

github.com

참조한 내용

www.facebook.com/finereportkorea/posts/206365954287198

 

Facebook에 로그인

메뉴를 열려면 alt + / 키 조합을 누르세요

www.facebook.com

 

Buy me a coffeeBuy me a coffee

개발자(Developer)와 감사자(Auditor)가 생각하는 클라우드(Cloud), IaaS, PaaS, SaaS정의


정보시스템 감사를 하는 감사자(Auditor)가 생각하는 클라우드(Cloud), IaaS, PaaS, SaaS의 정의는 아래 미국 정보시스템 감사통제협회 ISACA(Information Systems Audit and Control Association)에서 내놓은 2014 CISA(Certified Information Systems Auditor) 리뷰 매뉴얼책을 참조하였습니다.



2014 CISA Review Manual(한글판)

저자
ISACA 지음
출판사
한국정보시스템감사통제협회 | 2014-02-01 출간
카테고리
컴퓨터/IT
책소개
『2014 CISA Review Manual(한글판)』은 국제정...
가격비교



미국 정보시스템 감사통제협회 ISACA(Information Systems Audit and Control Association)의 CISA(Certified Information Systems Auditor) 매뉴얼에서 나오는 클라우드와 IaaS, PaaS, SaaS정의

클라우드 컴퓨팅

클라우드에 대해 기본적인 정의를 내린 두 기관은 NIST(National Institute of Standards and Technology)와 클라우드 보안 연합(Cloud Security Alliance)이다. 두 단체 모두 클라우드를 설정이 가능한 컴퓨팅 자원(네트워크, 서버, 스토리지, 애플리케이션 시스템 및 서비스)의 공유 저장소에 필요할 때 즉시 이용가능한 편리한 네트워크 접근을 가능하게 하는 하나의 모델로서 정의하고 있다. 클라우드에서는 이러한 자원들이 최소의 관리노력 또는 서비스 제공자와의 최소의 상호작용으로 신속하게 보급될 수 있다. 클라우드에서 제공하는 서비스를 설명하는 또 다른 방법으로서 공공서비스에 비유를 들 수 있다. 전기, 가스, 수도 사용에 대해 기업이 비용을 지불하는 것처럼 사용량에 따라 IT서비스에 대해서 비용을 지불할 수 있는 선택권이 생긴 것으로 이해할 수 있다.



클라우드 컴퓨팅 서비스 모델

 서비스모델

정의

고려사항

 서비스로서의 인프라

(Infrastructure as a Service: IaaS)

프로세싱, 스토리지, 네트워크 그리고 기타 기본적인 컴퓨팅 자원 제공 가능성 

운영체제 및 애플리케이션 프로그램을 포함하여 어떠한 소프트웨어라도 고객이 가동운영할 수 있도록 해준다

클라우드 서비스 제공업체로부터 서비스 장애가 발생할 경우 영향을 최소화하기 위한 대책

서비스로서의 플랫폼

(Platform as a Service: PaaS)

클라우드 서비스 제공업체가 지원하는 프로그래밍언어 및 툴로 고객이 개발 또는 도입한 애플리케이션 시스템을 클라우드 인프라 상에서의 가동 가능성

  • 가용성
  • 기밀성
  • 민감한 정보를 다루는 데이터베이스가 외부에 있음으로 인해 보안사항 위반 시 프라이버시 및 법적 책임 문제
  • 데이터 소유권
  • e-discovery 관련 문제

서비스로서의 소프트웨어

(Software as a Service: SaaS)

클라우드 인프라에서 동작하는 애플리케이션 시스템의 사용 가능성. 애플리케이션 시스템은 웹브라우저와 같은 저사양 단말용(thin client) 인터페이스를 통해 다양한 종류의 단말기에서 접근 가능하다.(예: 웹기반 E-mail서비스)

  • 애플리케이션 시스템에 대한 소유권
  • 애플리케이션 시스템이 가동되는 장소

 출처: ISACA, Cloud Computing: Business Benefits With Security, Governance and Assurance Perspectives, USA, 2009, 5페이지 도표 1.

http://www.isaca.org/Knowledge-Center/Research/ResearchDeliverables/Pages/Cloud-Computing-Business-Benefits-With-Security-Governance-and-Assurance-Perspective.aspx


정보시스템 개발을 하는 개발자(Developer)가 생각하는 클라우드(Cloud), IaaS, PaaS, SaaS의 정의는 아래 "생생 IT 토크 - 프로그래머들의 클라우드 이야기"의 내용을 참조하였습니다


"생생 IT 토크 : 프로그래머들의 클라우드 이야기" - http://www.hanbit.co.kr/ebook/look.html?isbn=9788968486920


정보시스템 개발을 하는 개발자(Developer)가 생각하는 클라우드(Cloud), IaaS, PaaS, SaaS, BaaS의 정의

클라우드

네트워크를 도식화하여 표현할 때 사용하던 구름 모양의 아이콘에서 유래된 것으로, 구름과 같은 무형의 공간에서 컴퓨터로 할 수 있는 업무들이 가능하도록 설계한 것을 뜻한다. 또한 클라우드 서비스란 컴퓨팅의 기능을 네트워크를 통해 제공하는 것으로 네트워크에 접속할 수 있는 단말만 있으면 컴퓨터를 보유하고 있는 것과 같은 효과가 있다.



설명

 IaaS(Infrastructure as a Service)

클라우드 서비스의 가장 기초적인 모델, 쉽게 말해 컴퓨터와 같은 기본적인 저수준 자원(인프라스트럭처:Intrastructure)을 제공해주는 서비스를 말한다. 물리적인 컴퓨터도 상관없지만 대부분 가상 서버를 제공한다. 컴퓨터 외에도 가상의 저장소(디스크), 방화벽, 로드밸런서, IP주소, 가상LAN까지 제공하기도 한다. IaaS이용자는 인터넷으로 요청만 하면 원하는 컴퓨팅 환경을 수 분 이내에 사용 가능한 상태로 제공받을 수 있고 사용한 만큼만 지급하면 된다.

 PaaS(Platform as a Service)

서비스 제공자가 운영체제, 프로그래밍 실행 환경, 데이터베이스, 웹 서버와 같은 컴퓨팅 플랫폼을 제공해주는 클라우드 서비스 모델이다. 이 서비스를 이용하면 각 플랫폼의 라이선스 구매나 복잡한 설치 과정 등을 신경 쓸 필요가 없다. PaaS위에 구축한 서비스 이용자가 늘어나면, 이를 지탱하는 데에 필요한 밑단의 컴퓨팅 파워와 저장소 크기도 자동으로 늘어난다.

 SaaS(Software as a Service)

 클라우드로 서비스되는 일반 사용자가 이용하는 애플리케이션 소프트웨어를 말한다. 클라우드로 서비스한다는 것은 사용자가 자신의 컴퓨터 애플리케이션을 설치할 필요 없이 언제 어디서건 네트워크만 연결되어 있다면 그 소프트웨어를 이용할 수 있다는 의미로 G메일이나 드롭박스가 대표적이다.

 BaaS(Backend as a Service)

 넓게 보면 PaaS에 포함할 수도 있는 서비스로 최신 트랜드의 모바일 혹은 웹 애플리케이션에서 공통으로 쓰이는 기능을 묶어 백엔드 형태로 제공하는 서비스다. 사용자 관리, 각종 통계, 소셜 네트워크 서비스와의 연동, '푸시 노티피케이션[Push Notification]'등이 이에 포함된다. BaaS를 사용하면 앱 개발자는 UI등 프론트엔드에 집중할 수 있어서 앱 개발이 빨라지고 직접 구축하는 것에 비해 안정적인 서비스도 가능하게 된다.



위의 감사자와 개발자가 생각하는 클라우드, IaaS, PaaS, SaaS정의를 견주어 보면 약간의 시각의 차이가 있음을 알수 있습니다.

감사자(Auditor)의 경우는 회사 조직의 전략과 목표, 그리고 외부 위협 및 위험 대처에 대하여 감사를 하다보니 고려사항에 법적 책임과 소유권, 서비스 장애 등의 대책까지 고려를 해야합니다. 결국에는 기업 측면에서 바라보게 되구요

개발자(Developer)의 경우는 클라우드, IaaS, PaaS, SaaS를 구현하기 때문에 구체적인 정의 및 작동과 기능적인 측면에서 접근하는 시각이 있습니다. 구체적인 동작 기능 측면에서 바라보게 됩니다.


개발자와 감사자 모두 시스템을 보는데에, 감사자가 기능을 중시하나 기업 거버넌스와 IT거버넌스에 맞게 해석한다면, 개발자는 말그대로 개발하는 입장이기 때문에 구체적인 동작, 기능 측면에서 해석하게 됩니다.


이번에 CISA(Certified Information Systems Auditor)시험을보고 나서 개발자가 생각하는 것과 감사인이 생각하는 것이 다르다는 것을 느꼈습니다. 그 느낌을 클라우드 개념 정리할때 위의 내용처럼 확실하게 구분할 수 있게 되더군요.


개발자도 개발자의 시각에서만 바라보지 말고, 사용자 그리고 감사자의 시각으로 어떻게 보는지 알아야겠다는 생각을 CISA시험을 통해 느낍니다.

Buy me a coffeeBuy me a coffee




웹개발자를위한대규모서비스를지탱하는기술
카테고리 컴퓨터/IT > 프로그래밍/언어 > 웹프로그래밍 > 웹프로그래밍일반
지은이 이토 나오야 (제이펍, 2011년)
상세보기


일본에서 매우 유명한 웹 서비스 업체(쉽게 말해서 다음, 네이버와 같은 대형 포털)인 하테나(Hatena,はてな)의 CTO와 엔지니어가 쓴 "웹 개발자를 위한 대규모 서비스를 지탱하는 기술"이 한국에 번역되어 출간된다군요.

저는 커피닉스에서  [공동구매] 웹 개발자를 위한 대규모 서비스를 지탱하는 기술 링크를 보고 책을 구입하게 되었습니다.


이 책은 하테나(Hatena)사의 인턴들에게 인턴십과정중에서 수행되는 실제 기술 강의를 기반으로 구성되어 있습니다.

대규모 서비스 개발과 운영을 다룬 책인데 한국에서 이런 책을 찾기가 가뭄에 콩나물 보듯 어렵다 보니 관심이 갑니다.

(참고로 2009년 5월 12일자로 커피닉스 공동구매로 구입한 "서버/인프라를 지탱하는 기술"이란 책도 일본의 유명인터넷 업체인 하테나(Hatena,はてな)와 KLab의 서버 운영 노하우를 기술한 책으로 지금 소개할 책과 비슷합니다.)


서버인프라를지탱하는기술24시간365일
카테고리 컴퓨터/IT > 데이터베이스 > SQL서버 > SQL서버일반
지은이 이토 나오야 (제이펍, 2009년)
상세보기


아직 2011년 3월 2일 발매라 아직 책을 얻지 못했지만, 도서 설명 내용을 보니 네이버나 다음, 구글, 페이스북과 같은 대규모 웹서비스를 운영하는 회사의 노하우가 들어갔다는 생각을 합니다.

아래는 책의 목차입니다.


1 대규모 서비스 개발 오리엔테이션 -전체 그림 파악하기

강의 0 책의 근본 - 책에서 설명하는 것과 설명하지 않는

강의 1 대규모 서비스와 소규모 서비스

강의 2 계속 성장하는 서비스와 대규모화의

강의 3 서비스 개발의 현장


2 대규모 데이터 처리 입문 - 메모리와 디스크, 애플리케이션과 부하

강의 4 하테나 북마크의 데이터 규모 - 데이터가 많을수록 처리에 시간이 걸린다

강의 5 대규모 데이터 처리의 어려운 메모리와 디스크

강의 6 규모조정의 요소

강의 7 대규모 데이터를 다루기 위한 기초지식


3 OS 캐시와 분산 - 대규모 데이터를 효율적으로 처리하는 원리

강의 8 OS 캐시 구조

강의 9 I/O 부하를 줄이는 방법

강의 10 국소성을 살리는 분산


4 DB 스케일아웃 전략 - 분산을 고려한 MySQL 운용

강의 11 인덱스를 올바르게 운용하기 분산을 고려한 MySQL 운용의 대전제

강의 12 MySQL 분산 확장을 전제로 시스템 설계

강의 13 MySQL 스케일아웃과 파티셔닝


5 대규모 데이터 처리 실전 입문 - 애플리케이션 개발의 급소

강의 14 용도특화형 인덱싱 대규모 데이터를 능수능란하게 다루기

강의 15 이론과 실전 양쪽과의 싸움


6 [과제] 압축 프로그래밍 - 데이터 크기, I/O 고속화와의 관계 인식하기

강의 16 [과제] 정수 데이터를 컴팩트하게 가져가기

강의 17 VB Code 속도감각

강의 18 과제에 대한 상세설명과 응답 사례


7 알고리즘 실용화 - 가까운 예로 보는 이론ㆍ연구의 실전 투입

강의 19 알고리즘과 평가

강의 20 하테나 다이어리의 키워드 링크

강의 21 하테나 북마크의 기사 분류


8 [과제] 하테나 키워드링크 구현 - 응용으로 가는 깨닫기

강의 22 [과제] 하테나 키워드 링크 만들기

강의 23 응답 사례와 사고방식


9 전문 검색기술 도전 - 대규모 데이터 처리의 노하우

강의 24 전문 검색기술의 응용범위

강의 25 검색 시스템의 아키텍처

강의 26 검색엔진의 내부구조


10 [과제] 전문 검색엔진 작성 - 기초, 상세부분 작성, 속도와 정확성 추구

강의 27 [과제] 하테나 북마크 전문 검색 만들기

강의 28 응답 사례와 사고방식


11 대규모 데이터 처리를 지탱하는 서버/인프라 입문 - 서비스의 백엔드

강의 29 엔터프라이즈 vs. 서비스

강의 30 클라우드 vs. 자체구축 인프라


12 확장성 확보에 필요한 사고방식 - 규모 증대와 시스템 확장

강의 31 계층과 확장성

강의 32 부하 파악, 튜닝


13 다중성 확보, 시스템 안정화 - 100% 근접한 가동률을 실현하는 원리

강의 33 다중성 확보

강의 34 시스템 안정화

강의 35 시스템 안정화 대책


14 효율향상전략 - 하드웨어의 리소스 사용률 높이기

강의 36 가상화 기술

강의 37 하드웨어와 효율향상 저비용을 실현하는 요소기술


15 서비스와 네트워크 - 서비스의 성장

강의 38 네트워크 분기점

강의 39 한층 높은 단계로


특별편 현대 서비스 구축에 필요한 실전 기술 - 대규모 서비스에 대응하기 위해서

Special 강의 1 작업큐(Job-Queue) 시스템 TheSchwartz, Gearman

Special 강의 2 스토리지 선택 RDBMS key-value 스토어

Special 강의 3 캐시 시스템 Squid, Varnish

Special 강의 4 계산 클러스터 Hadoop



일단은 책을 받아 읽고보고 나서야 소감을 쓸수 있을것 같다.


ps1. 책의 목차를 보니 체계적으로 정리된듯 하다. 인터넷에서 수박 겉핥기로 알고 있는 내용들이 정리된다는 느낌? 

ps2. 한국의 웹서비스 회사에서 이런 노하우를 책으로 공개할 수 있을까?


Buy me a coffeeBuy me a coffee

+ Recent posts