2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화

Terry Cho
Terry ChoPrincipal Architect en Cloud Consulting Corp
소프트웨어
개발 트렌드의 변화
Facebook Server Side Architect 그룹
대표 운영자 조대협
http://bcho.tistory.com
발표자 소개
• 회원 13만명 자바스터디(www.javastudy.co.kr) 운영자.. (기억의 저편..)
• 천리안 자바 동호회 초대 시삽
• 벤처 개발자
• BEA 웹로직 기술 지원 엔지니어
• 오라클 장애 진단, 성능 튜닝
• NHN 잠깐
• 오라클 컨설턴트 (SOA,EAI,ALM,Enterprise 2.0)
• 오라클 아키텍트 (대용량 분산 시스템)
• MS APAC 클라우드 수석 아키텍트
• 프리렌서 (잘나가는 사장님)
• 지금은 Chief(Cheap?) 아키텍트 – 오픈 소스 기반 글로벌 분산 서버 구축
블로그 : http://bcho.tistory.com
이메일 : bw.cho@samsung.com
페이스북 ServerSideArchitectGroup
https://www.facebook.com/groups/serverside/
조대협 본명 조병욱
????
싸장님
오늘 할 이야기는?
Layer Component Product
Access
Layer
Reverse Proxy apache httpd, nginx, haproxy
Enterprise Service Bus (ESB
Approach)
mule, Oracle Service Bus
Enterprise Service Bus (API
Platform Approach)
Apigee, Layer 7,Mashery,3scale
Identity Management
Shiboleth, SimpleSAML PHP,
OpenAM, CA Site Minder
Integration Layer Apache Camel, Spring Integration
Business
Layer
Transaction processing(Sync)
apache tomcat, jetty ,apache mina ,apache
netty ,redhat jboss ,oracle weblogic
Message Queue (Async) Rabbit MQ, Active MQ, Zero MQ
data grid
Memcached,redis , oracle coherence ,Infinispan
,Hazlecast
Persistent
Layer
RDBMS mysql,maria db, postgres,MS SQL,Oracle
mysql replication Ganglia , tungsten ,oracle golden gate
file system (NFS) glusterfs
file system (object store) openstack swift,S3,BlobStorage
NoSQL
Hbase , Cassandra , mongodb,
Riak, Couch Base
Analysis
Layer
log gathering Flume , flumed, Logstash, GrayLog,Sentry
analysis service splunk
ETL Pentaho
map & reduce Hadoop,pig,hive
cep esper
OAM
cmdb zookeeper
monitoring Jennifer , ganglia , nagios
configuration management Puppet , chef,ancible
Deployment Fabric,RPM
오픈 소스 솔루션 스택?
최신 기술 동향?
대용량 분산 시스템
아키텍쳐?
그것 보다는 많은 사람들에게
도움이 되는 이야기..!!
어떻게 개발 트랜드가 변하고 있는가?
요즘 실리콘 밸리에서는…
개발자는 레티나 디스플레이!!
요즘 실리콘 밸리에서는…
잘하는 것 부터 시작해서 발전
대세는 스크립트 언어
스스로 공부,스스로 개발,내재화
소규모 조직 [10~20명]
대우 받는 개발자
클라우드 컴퓨팅
빠른 시장 진입,저비용,누구나 서비스
젊은 개발자 (한국은 접는 개발자)
협업
[SNS,오픈소스,GitHub]
CI to CD
유연한 고용 시장
메뚜기!!
3년 넘으면 바보
한국은 배신자
개발자의 변신은 무죄
새로운 능력..!! 잉여력STAR UP
요즘 실리콘 밸리에서는…
대세는 수퍼 개발자!!
4가지 관점에서
개발 트렌드의 변화를 이해
이에 적절한 오픈소스 개발 전략 수립!!
소프트웨어 개발
중심의 변화
시대별 기술의
변화
개발 방식의
변화
오픈소스 개발
전략
1. 소프트웨어 개발 중심의 변화
소프트웨어 개발 중심의 변화
시대별로 소프트웨어를 개발하는 이유가 어떻게 변화 했을까?
우리가 지금 쓰는 기술들은 왜?
인터넷,SNS의 시대엔터프라이즈 시대 모바일 시대
서비스 사업자
대단한 님들!!
벤더
개발자!!
(스타트업,앱개발자)
 당신도 할 수 있다
기술 변화의 주체
2. 시대별 기술의 변화
시대별 기술의 변화
인터넷,SNS의 시대엔터프라이즈 시대 모바일 시대
EJB, JAVA, SERVLET/JSP
들어는 보셨나요?
벤더 : “이게 최신 기술임!!.
교육 부터 다 해드림!!
나만 믿으세요” $$$
먹고 살 걱정 없음!!
Spring,Hibernate,MySQL
,Struts,Ruby On
Rails,PHP ..
서비스사 : 제품은 비쌈.
우리가 만든거 가져다 쓰
세요!! 대신 책임은 니꺼!
공부해야 함.. 압박!!
조금씩 먹고 살기 힘들어짐
(버틸만 함-그래도 대세는 있음)
JavaScript,
Cloud,node.js, Ruby
on Rails,NoSQL
개발자:어려워서 못 써
먹겠음. 차라리 만듬..!!
기술 변화도 심함
이제는 생존의 문제!!
명퇴가 눈앞에..
시대별 기술 변화
인터넷,SNS의 시대엔터프라이즈 시대 모바일 시대
UNIX 서버
벤더 소프트웨어
X86 서버
오픈소스
클라우드
오픈소스
스크립트 언어!!
ORACLE MySQL NoSQL
API
HTML 5
안드로이드,IOS웹웹,4GL
쉽고 빠른 개발
기술의 홍수
대체제 성격
새로운 기술 흐름을
만드는 전환기
안정성,미션 크리티
컬 업무 위주
시대별 기술자
• 왜 이런 현상이 생기는가? 쉬운 기술이 주목 받는 이유
스타트업. 앱 개발
조합 1.
기획자 창업
디자이너 - 기획자 여자 친구
개발자 – 기획자의 친구 (디자이너를 사랑함)
조합 2.
디자이너 창업
기획자 - 디자이너의 여자 친구
개발자 – 디자이너의 친구 (기획자를 사랑함)
개발자 1인 혼자 다 해야함 (클라이언트, 서버, 하드웨어 인프라)
배우기 쉬워야 함
돈 떨어지기전에 시장 출시해야함
빨리 배울 수 있어야함
시장 상황
수많은 앱들 / 치열한 경쟁
빠른 출시, 빠른 업데이트가 필요
요구 되는 기술
빠른 출시, 빠른 업데이트가 필요
쉬운 기술 필요
낮은 비용
클라우드
컴퓨팅
스크립트
언어
운영 효율화
Devops
자동화
클라우드 컴퓨팅
• 클라우드 컴퓨팅이 가져다준 변화
– 저비용으로 시작 가능
– 무제한적 리소스
– 지역/시간 제약에서 자유로워짐
– 쉽다. 하드웨어 인프라에 대한 작업이 없어짐
개발자가 인프라를 핸들링 가능
클라우드 컴퓨팅
• IaaS (Infrastructure As A Service)도 어렵다.
• PaaS (Platform As A Service) 유행
• IaaS : VM (Linux, Windows box)를 만들어줌
• PaaS : 웹서버, DBMS를 깔아줌.
클라우드 컴퓨팅
• 고려 사항
빠른 시장 진입
운영비 절감
초기 투자비 절감
유연한 자원 사용
(Auto Scale Out)
느려요
IO Performance
싸지 않아요
기존 솔루션이 안돌아요
장애가 납니다. 아주 잘!!
(멀티 데이타 센타 설계)
클라우드 컴퓨팅의 장점 설계시 고려 사항
Devops의 등장
Devops = Development + Operation (개발 + 운영)
개발과 운영 조직을 하나로 묶어서 원할한 의사 소통
빠른 반영, 빠른 피드백 반영 가능
자동화
• 흔한(평범한) 개발 환경 시나리오
– 개발자가 아침에 출근해서
– 이클립스를 키고, 소스코드를 Git에서 Check Out 한후
– JIRA를 통해서 오늘 할당된 작업을 확인 한후에 코딩을 하고
– PC에서 Junit등을 이용하여 단위테스트등을 모두 끝 마치고
– 코드를 Git에 Commit하면
– Jekins에서 코드 변경을 감지하여, 자동으로 Check Out해서 mvn을 이용해서
컴파일 하고, 테스트 서버에 배포해서 단위 테스트를 모두 수행하고, 코드의
라인커버리지를 분석하여 리포팅 한다.
– 팀장은 빌드가 완료되었음을 확인하고, 단위 테스트 100% 완료 및 라인 커
버리지 80% 완료를 확인한다.
– 릴리즈 날짜가 오면, 배포 엔지니어는 별도의 작업 없이 Jenkins에서 빌드된
그날 WAR를 확인하고, Fabric으로 된 배포 스크립트를 수행하면, 자동으로
개발,QA 환경으로 배포가 되고, 환경별로 필요한 resource 파일들이 자동으
로 customization해서 배포가 완료된 후, Junit 기반의 단위 테스트, SOAP UI
기반의 REST API 테스트, Seleniuem 기반의 UI 테스트까지 자동으로 완료
한다. 만약에 배포나 테스트가 실패하면, 이전 버전으로 자동 롤백한다.
자동화
• 빌드 자동화, 테스트 자동화, 배포 자동화
DEV QA STAGE
테스트完
가상화 or 클라우드
필요할때만 전개
릴리즈
연계시스템
클라이언트
단말(모바일)
자동 빌드 배포 시스템
Python Fabric
Ruby Capistrano
mvn & RPM
리포지토리
rpm
스크립트 언어
Ruby on Rails, Python,PHP
대세는 node.js
아키텍쳐 변화
중앙 집중형
고가용성(HA)
분산형
Resilience
트랜젝션 보장 장애 허용
한정된 용량 대용량
목표 성능 한계 성능
엔터프라이즈 시대 모바일 시대
먹고 살기 좋던 시절 요즘
RMI,WebService REST OPEN API
3. 개발 방식의 변화
정보 습득 방식의 변화
벤더 교육 센터 제품 메뉴얼 책
책
온라인 메뉴얼
블로그
찾아보기
물어보기(영어로…)
중수
코드 까보기
고수
네이버?
개발 방식의 변화
벤더가 시키는데로
솔루션에 포함된 예제 보고
책 예제 보고
진리를 깨우치고
물어보고
다른데 프로젝트 했던 SI 불러서
그럴 시간 없음….
Copy & Paste
Stack overflow
하는데 까정 해본다. 시간 없음
기술 검증 PoC,BMT
똑똑하면 소스 깐다.
Trial & Error
단계별 개발 모델의 변화
• 1단계 스타트업!!
스타트업
단계별 개발 모델의 변화
• 2단계 펀딩 받았다.
성숙된 개발 조직
단계별 개발 모델의 변화
• 3단계 깨달았다.
CD & DEVOPS
개발 방법론
<Insert Picture Here>
그래서…
저명한 박사님들께서.. 방법론을 만드시니..
RUP,CBD,CMMI
개발 방법론
But…
그러나 현실은
 방법론은 방법론…
 우리는 조금 더 현실적인 방법론이 필요합니다.
개발 방법론
실용주의 방법론
구세주 등장!!
• 실용주의 방법론
• Erich Gamma, Joel Spolsky, Kent beck, Andrew Hunt
• Iterative & Incremental
• 애자일 기반
• 기존 방법론과 차이
• 요구 사항이 변화할 것을 가정
• 에러가 있을 것을 가정하여, 자주 테스트
• 협업과 커뮤니케이션
개발 방법론
• 대표적인 개발 방법론
스크럼이 대세!!
관리자 입장에서는 예측 불가
조직에 맞게 바꿔서 쓰세요
http://agilescout.com/learn-more-agile-software-
development-methods-this-year/
개발 방법론
http://bcho.tistory.com/
내용이 많아서, 여기에 다 있습니다.
아시는 분들은 이미 알고, 자료도 많으니 모르시는 분들은
이것만도 7박 8일은 이야기 할 수 있으니, Scrum 만 기억해 가세요
개발 방법론
• 이것만 기억하세요
요구 사항은 변한다…
변하는게 나쁜게 아니라 고객이 원한다…
결국은 사람이 답이다.
커뮤니케이션을 원할하게 하는 방향으로 변화
역할과 원칙, 프로세스를 잊지 마라
안그러면 망한다. 애자일은 무슨~~
4. 오픈소스 개발 전략
오픈소스 개발전략은
에코 시스템
영어…!!
13년이나 배웠잖아요
요즘 한국개발자들 많이함
해보면 됨!!
라이센스. 특허!!
개인 정보 보호법
블로그.. 메뉴얼… 예제…
(공모전에는 필요 없을지도…)
몇가지 팁
• 오픈소스는 혜택이 많습니다. (착한 분들이 많아서…)
Atlassian JIRA 무료 입니다 – 오픈소스는 (좋아요.. 꼭쓰세요)
클라우드가 필요하면 Microsoft에서 스타트업용으로 일정기간 무료 제
공 해준답니다. BizSpark 인가? (연락처 : TBD)
정부 단체를 잘 이용하세요.. (법무,세무 컨설팅…)
1 de 41

Recomendados

Micro Service Architecture의 이해 por
Micro Service Architecture의 이해Micro Service Architecture의 이해
Micro Service Architecture의 이해Terry Cho
21.3K vistas35 diapositivas
모바일 개발 트랜드 por
모바일 개발 트랜드모바일 개발 트랜드
모바일 개발 트랜드Terry Cho
4.9K vistas21 diapositivas
제13회컨퍼런스 조대협 서버사이드개발 por
제13회컨퍼런스 조대협 서버사이드개발제13회컨퍼런스 조대협 서버사이드개발
제13회컨퍼런스 조대협 서버사이드개발Terry Cho
28.3K vistas39 diapositivas
MSA를 이용해 구현하는 고가용/고확장성 서비스 por
MSA를 이용해 구현하는 고가용/고확장성 서비스MSA를 이용해 구현하는 고가용/고확장성 서비스
MSA를 이용해 구현하는 고가용/고확장성 서비스DoHyun Jung
18.5K vistas74 diapositivas
5. 솔루션 카달로그 por
5. 솔루션 카달로그5. 솔루션 카달로그
5. 솔루션 카달로그Terry Cho
18.2K vistas30 diapositivas
마이크로 서비스 아키텍쳐 소개 및 구현 방법 por
마이크로 서비스 아키텍쳐 소개 및 구현 방법마이크로 서비스 아키텍쳐 소개 및 구현 방법
마이크로 서비스 아키텍쳐 소개 및 구현 방법Young Soo Lee
6.7K vistas30 diapositivas

Más contenido relacionado

La actualidad más candente

Spring boot + java 에코시스템 #1 por
Spring boot + java 에코시스템 #1Spring boot + java 에코시스템 #1
Spring boot + java 에코시스템 #1SeungHa Eom
1.1K vistas17 diapositivas
마이크로서비스 아키텍처로 개발하기 por
마이크로서비스 아키텍처로 개발하기마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기Jaewoo Ahn
33.6K vistas46 diapositivas
SOSCON2015 SI이노베이션 por
SOSCON2015 SI이노베이션SOSCON2015 SI이노베이션
SOSCON2015 SI이노베이션DoHyun Jung
2.4K vistas39 diapositivas
4. 대용량 아키텍쳐 설계 패턴 por
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴Terry Cho
17.4K vistas70 diapositivas
SK플래닛_README_마이크로서비스 아키텍처로 개발하기 por
SK플래닛_README_마이크로서비스 아키텍처로 개발하기SK플래닛_README_마이크로서비스 아키텍처로 개발하기
SK플래닛_README_마이크로서비스 아키텍처로 개발하기Lee Ji Eun
20.5K vistas47 diapositivas
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해 por
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해Terry Cho
33.9K vistas73 diapositivas

La actualidad más candente(20)

Spring boot + java 에코시스템 #1 por SeungHa Eom
Spring boot + java 에코시스템 #1Spring boot + java 에코시스템 #1
Spring boot + java 에코시스템 #1
SeungHa Eom1.1K vistas
마이크로서비스 아키텍처로 개발하기 por Jaewoo Ahn
마이크로서비스 아키텍처로 개발하기마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기
Jaewoo Ahn33.6K vistas
SOSCON2015 SI이노베이션 por DoHyun Jung
SOSCON2015 SI이노베이션SOSCON2015 SI이노베이션
SOSCON2015 SI이노베이션
DoHyun Jung2.4K vistas
4. 대용량 아키텍쳐 설계 패턴 por Terry Cho
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴
Terry Cho17.4K vistas
SK플래닛_README_마이크로서비스 아키텍처로 개발하기 por Lee Ji Eun
SK플래닛_README_마이크로서비스 아키텍처로 개발하기SK플래닛_README_마이크로서비스 아키텍처로 개발하기
SK플래닛_README_마이크로서비스 아키텍처로 개발하기
Lee Ji Eun20.5K vistas
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해 por Terry Cho
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
Terry Cho33.9K vistas
Micro Service Architecture(MSA) 탐방기 por jbugkorea
Micro Service Architecture(MSA) 탐방기Micro Service Architecture(MSA) 탐방기
Micro Service Architecture(MSA) 탐방기
jbugkorea3K vistas
Jbug 발표 msa탐방기_공유자료 por jbugkorea
Jbug 발표 msa탐방기_공유자료Jbug 발표 msa탐방기_공유자료
Jbug 발표 msa탐방기_공유자료
jbugkorea1K vistas
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐 por Terry Cho
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
Terry Cho43.7K vistas
기술적 변화를 이끌어가기 por Jaewoo Ahn
기술적 변화를 이끌어가기기술적 변화를 이끌어가기
기술적 변화를 이끌어가기
Jaewoo Ahn26.4K vistas
Ch6 대용량서비스레퍼런스아키텍처 part.1 por Minchul Jung
Ch6 대용량서비스레퍼런스아키텍처 part.1Ch6 대용량서비스레퍼런스아키텍처 part.1
Ch6 대용량서비스레퍼런스아키텍처 part.1
Minchul Jung3.8K vistas
Service operation por Terry Cho
Service operationService operation
Service operation
Terry Cho3.1K vistas
SLiPP 스터디 - MSA por Daekwon Kang
SLiPP 스터디 - MSASLiPP 스터디 - MSA
SLiPP 스터디 - MSA
Daekwon Kang8.7K vistas
조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝 por Mungyu Choi
조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝
조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝
Mungyu Choi3.8K vistas
Microservice Architecture por Yoonsung Jung
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
Yoonsung Jung4.6K vistas
대용량 분산 아키텍쳐 설계 #3 대용량 분산 시스템 아키텍쳐 por Terry Cho
대용량 분산 아키텍쳐 설계 #3 대용량 분산 시스템 아키텍쳐대용량 분산 아키텍쳐 설계 #3 대용량 분산 시스템 아키텍쳐
대용량 분산 아키텍쳐 설계 #3 대용량 분산 시스템 아키텍쳐
Terry Cho46.8K vistas
서비스 지향 아키텍쳐 (SOA) por Terry Cho
서비스 지향 아키텍쳐 (SOA)서비스 지향 아키텍쳐 (SOA)
서비스 지향 아키텍쳐 (SOA)
Terry Cho12K vistas
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle... por Jongwon Han
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...
Jongwon Han834 vistas
JBUG Korea 소개 por jbugkorea
JBUG Korea 소개JBUG Korea 소개
JBUG Korea 소개
jbugkorea848 vistas
대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론 por Terry Cho
대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론
대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론
Terry Cho65.8K vistas

Similar a 2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화

DevOps!! 도데체 왜, 어떻게 할까?? por
DevOps!! 도데체 왜, 어떻게 할까??DevOps!! 도데체 왜, 어떻게 할까??
DevOps!! 도데체 왜, 어떻게 할까??Joseph Kim
24.4K vistas97 diapositivas
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스 por
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스Hee Jae Lee
236 vistas64 diapositivas
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화 por
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화KTH, 케이티하이텔
2.6K vistas37 diapositivas
DevOps와 자동화 por
DevOps와 자동화DevOps와 자동화
DevOps와 자동화DONGSU KIM
9K vistas50 diapositivas
How to implement your dream 20150427 por
How to implement your dream 20150427How to implement your dream 20150427
How to implement your dream 20150427Will Kim
843 vistas39 diapositivas
개발자로써 갖춰야할 스킬들 - 최용호 por
개발자로써 갖춰야할 스킬들 - 최용호개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호용호 최
174 vistas164 diapositivas

Similar a 2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화(20)

DevOps!! 도데체 왜, 어떻게 할까?? por Joseph Kim
DevOps!! 도데체 왜, 어떻게 할까??DevOps!! 도데체 왜, 어떻게 할까??
DevOps!! 도데체 왜, 어떻게 할까??
Joseph Kim24.4K vistas
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스 por Hee Jae Lee
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
Hee Jae Lee236 vistas
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화 por KTH, 케이티하이텔
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
DevOps와 자동화 por DONGSU KIM
DevOps와 자동화DevOps와 자동화
DevOps와 자동화
DONGSU KIM9K vistas
How to implement your dream 20150427 por Will Kim
How to implement your dream 20150427How to implement your dream 20150427
How to implement your dream 20150427
Will Kim843 vistas
개발자로써 갖춰야할 스킬들 - 최용호 por 용호 최
개발자로써 갖춰야할 스킬들 - 최용호개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호
용호 최174 vistas
호갱노노 이렇게 만듭니다 por Ohgyun Ahn
호갱노노 이렇게 만듭니다호갱노노 이렇게 만듭니다
호갱노노 이렇게 만듭니다
Ohgyun Ahn2.4K vistas
Slipp 발표 자료 20151212 por Jinsoo Jung
Slipp 발표 자료 20151212Slipp 발표 자료 20151212
Slipp 발표 자료 20151212
Jinsoo Jung7.8K vistas
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD) por VMware Tanzu Korea
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
VMware Tanzu Korea3.2K vistas
131 deview 2013 yobi-채수원 por NAVER D2
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원
NAVER D214.7K vistas
Understanding of Open Source por Kevin Kim
Understanding of Open SourceUnderstanding of Open Source
Understanding of Open Source
Kevin Kim389 vistas
2021년 2월 6일 개발자 이야기 por Jay Park
2021년 2월 6일 개발자 이야기2021년 2월 6일 개발자 이야기
2021년 2월 6일 개발자 이야기
Jay Park985 vistas
Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리 por Sa-ryong Kang
Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리
Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리
Sa-ryong Kang742 vistas
커뮤니티와 함께한 예비개발자 성장기- 조성수님 por NAVER D2
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님
NAVER D27.7K vistas
OSS개발자 포럼 캠프 por Hakbeom Hwang
OSS개발자 포럼 캠프OSS개발자 포럼 캠프
OSS개발자 포럼 캠프
Hakbeom Hwang3.1K vistas
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재 por NAVER D2
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
NAVER D26K vistas
오픈소스 개발 방법론 - Mozilla 사례 중심 (2010) por Channy Yun
오픈소스 개발 방법론 - Mozilla 사례 중심 (2010)오픈소스 개발 방법론 - Mozilla 사례 중심 (2010)
오픈소스 개발 방법론 - Mozilla 사례 중심 (2010)
Channy Yun5.4K vistas
my activities before getting a job por Deo Kim
my activities before getting a jobmy activities before getting a job
my activities before getting a job
Deo Kim162 vistas
예비 개발자를 위한 소프트웨어 세상 이야기 por 수보 김
예비 개발자를 위한 소프트웨어 세상 이야기예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기
수보 김1.1K vistas

Más de Terry Cho

Kubernetes #6 advanced scheduling por
Kubernetes #6   advanced schedulingKubernetes #6   advanced scheduling
Kubernetes #6 advanced schedulingTerry Cho
8K vistas17 diapositivas
Kubernetes #4 volume &amp; stateful set por
Kubernetes #4   volume &amp; stateful setKubernetes #4   volume &amp; stateful set
Kubernetes #4 volume &amp; stateful setTerry Cho
2.3K vistas31 diapositivas
Kubernetes #3 security por
Kubernetes #3   securityKubernetes #3   security
Kubernetes #3 securityTerry Cho
1.9K vistas28 diapositivas
Kubernetes #2 monitoring por
Kubernetes #2   monitoring Kubernetes #2   monitoring
Kubernetes #2 monitoring Terry Cho
1K vistas18 diapositivas
Kubernetes #1 intro por
Kubernetes #1   introKubernetes #1   intro
Kubernetes #1 introTerry Cho
1.5K vistas44 diapositivas
머신러닝으로 얼굴 인식 모델 개발 삽질기 por
머신러닝으로 얼굴 인식 모델 개발 삽질기머신러닝으로 얼굴 인식 모델 개발 삽질기
머신러닝으로 얼굴 인식 모델 개발 삽질기Terry Cho
12.8K vistas30 diapositivas

Más de Terry Cho(18)

Kubernetes #6 advanced scheduling por Terry Cho
Kubernetes #6   advanced schedulingKubernetes #6   advanced scheduling
Kubernetes #6 advanced scheduling
Terry Cho8K vistas
Kubernetes #4 volume &amp; stateful set por Terry Cho
Kubernetes #4   volume &amp; stateful setKubernetes #4   volume &amp; stateful set
Kubernetes #4 volume &amp; stateful set
Terry Cho2.3K vistas
Kubernetes #3 security por Terry Cho
Kubernetes #3   securityKubernetes #3   security
Kubernetes #3 security
Terry Cho1.9K vistas
Kubernetes #2 monitoring por Terry Cho
Kubernetes #2   monitoring Kubernetes #2   monitoring
Kubernetes #2 monitoring
Terry Cho1K vistas
Kubernetes #1 intro por Terry Cho
Kubernetes #1   introKubernetes #1   intro
Kubernetes #1 intro
Terry Cho1.5K vistas
머신러닝으로 얼굴 인식 모델 개발 삽질기 por Terry Cho
머신러닝으로 얼굴 인식 모델 개발 삽질기머신러닝으로 얼굴 인식 모델 개발 삽질기
머신러닝으로 얼굴 인식 모델 개발 삽질기
Terry Cho12.8K vistas
1. 아키텍쳐 설계 프로세스 por Terry Cho
1. 아키텍쳐 설계 프로세스1. 아키텍쳐 설계 프로세스
1. 아키텍쳐 설계 프로세스
Terry Cho36.3K vistas
애자일 스크럼과 JIRA por Terry Cho
애자일 스크럼과 JIRA 애자일 스크럼과 JIRA
애자일 스크럼과 JIRA
Terry Cho45.7K vistas
REST API 설계 por Terry Cho
REST API 설계REST API 설계
REST API 설계
Terry Cho63.3K vistas
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개 por Terry Cho
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
Terry Cho69.2K vistas
R 프로그래밍-향상된 데이타 조작 por Terry Cho
R 프로그래밍-향상된 데이타 조작R 프로그래밍-향상된 데이타 조작
R 프로그래밍-향상된 데이타 조작
Terry Cho28.3K vistas
R 프로그래밍 기본 문법 por Terry Cho
R 프로그래밍 기본 문법R 프로그래밍 기본 문법
R 프로그래밍 기본 문법
Terry Cho28.3K vistas
R 기본-데이타형 소개 por Terry Cho
R 기본-데이타형 소개R 기본-데이타형 소개
R 기본-데이타형 소개
Terry Cho25.8K vistas
Redis data modeling examples por Terry Cho
Redis data modeling examplesRedis data modeling examples
Redis data modeling examples
Terry Cho19.9K vistas
대용량 분산 아키텍쳐 설계 #5. rest por Terry Cho
대용량 분산 아키텍쳐 설계 #5. rest대용량 분산 아키텍쳐 설계 #5. rest
대용량 분산 아키텍쳐 설계 #5. rest
Terry Cho43.3K vistas
대용량 분산 아키텍쳐 설계 #2 대용량 분산 시스템 아키텍쳐 디자인 패턴 por Terry Cho
대용량 분산 아키텍쳐 설계 #2 대용량 분산 시스템 아키텍쳐 디자인 패턴대용량 분산 아키텍쳐 설계 #2 대용량 분산 시스템 아키텍쳐 디자인 패턴
대용량 분산 아키텍쳐 설계 #2 대용량 분산 시스템 아키텍쳐 디자인 패턴
Terry Cho44.8K vistas
14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용 por Terry Cho
14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용
14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용
Terry Cho14.1K vistas
자바 성능 강의 por Terry Cho
자바 성능 강의자바 성능 강의
자바 성능 강의
Terry Cho4K vistas

2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화

  • 1. 소프트웨어 개발 트렌드의 변화 Facebook Server Side Architect 그룹 대표 운영자 조대협 http://bcho.tistory.com
  • 2. 발표자 소개 • 회원 13만명 자바스터디(www.javastudy.co.kr) 운영자.. (기억의 저편..) • 천리안 자바 동호회 초대 시삽 • 벤처 개발자 • BEA 웹로직 기술 지원 엔지니어 • 오라클 장애 진단, 성능 튜닝 • NHN 잠깐 • 오라클 컨설턴트 (SOA,EAI,ALM,Enterprise 2.0) • 오라클 아키텍트 (대용량 분산 시스템) • MS APAC 클라우드 수석 아키텍트 • 프리렌서 (잘나가는 사장님) • 지금은 Chief(Cheap?) 아키텍트 – 오픈 소스 기반 글로벌 분산 서버 구축 블로그 : http://bcho.tistory.com 이메일 : bw.cho@samsung.com 페이스북 ServerSideArchitectGroup https://www.facebook.com/groups/serverside/ 조대협 본명 조병욱 ???? 싸장님
  • 4. Layer Component Product Access Layer Reverse Proxy apache httpd, nginx, haproxy Enterprise Service Bus (ESB Approach) mule, Oracle Service Bus Enterprise Service Bus (API Platform Approach) Apigee, Layer 7,Mashery,3scale Identity Management Shiboleth, SimpleSAML PHP, OpenAM, CA Site Minder Integration Layer Apache Camel, Spring Integration Business Layer Transaction processing(Sync) apache tomcat, jetty ,apache mina ,apache netty ,redhat jboss ,oracle weblogic Message Queue (Async) Rabbit MQ, Active MQ, Zero MQ data grid Memcached,redis , oracle coherence ,Infinispan ,Hazlecast Persistent Layer RDBMS mysql,maria db, postgres,MS SQL,Oracle mysql replication Ganglia , tungsten ,oracle golden gate file system (NFS) glusterfs file system (object store) openstack swift,S3,BlobStorage NoSQL Hbase , Cassandra , mongodb, Riak, Couch Base Analysis Layer log gathering Flume , flumed, Logstash, GrayLog,Sentry analysis service splunk ETL Pentaho map & reduce Hadoop,pig,hive cep esper OAM cmdb zookeeper monitoring Jennifer , ganglia , nagios configuration management Puppet , chef,ancible Deployment Fabric,RPM 오픈 소스 솔루션 스택? 최신 기술 동향? 대용량 분산 시스템 아키텍쳐?
  • 5. 그것 보다는 많은 사람들에게 도움이 되는 이야기..!!
  • 6. 어떻게 개발 트랜드가 변하고 있는가?
  • 8. 요즘 실리콘 밸리에서는… 잘하는 것 부터 시작해서 발전 대세는 스크립트 언어 스스로 공부,스스로 개발,내재화 소규모 조직 [10~20명] 대우 받는 개발자 클라우드 컴퓨팅 빠른 시장 진입,저비용,누구나 서비스 젊은 개발자 (한국은 접는 개발자) 협업 [SNS,오픈소스,GitHub] CI to CD 유연한 고용 시장 메뚜기!! 3년 넘으면 바보 한국은 배신자 개발자의 변신은 무죄 새로운 능력..!! 잉여력STAR UP
  • 10. 4가지 관점에서 개발 트렌드의 변화를 이해 이에 적절한 오픈소스 개발 전략 수립!! 소프트웨어 개발 중심의 변화 시대별 기술의 변화 개발 방식의 변화 오픈소스 개발 전략
  • 11. 1. 소프트웨어 개발 중심의 변화
  • 12. 소프트웨어 개발 중심의 변화 시대별로 소프트웨어를 개발하는 이유가 어떻게 변화 했을까? 우리가 지금 쓰는 기술들은 왜? 인터넷,SNS의 시대엔터프라이즈 시대 모바일 시대 서비스 사업자 대단한 님들!! 벤더 개발자!! (스타트업,앱개발자)  당신도 할 수 있다 기술 변화의 주체
  • 14. 시대별 기술의 변화 인터넷,SNS의 시대엔터프라이즈 시대 모바일 시대 EJB, JAVA, SERVLET/JSP 들어는 보셨나요? 벤더 : “이게 최신 기술임!!. 교육 부터 다 해드림!! 나만 믿으세요” $$$ 먹고 살 걱정 없음!! Spring,Hibernate,MySQL ,Struts,Ruby On Rails,PHP .. 서비스사 : 제품은 비쌈. 우리가 만든거 가져다 쓰 세요!! 대신 책임은 니꺼! 공부해야 함.. 압박!! 조금씩 먹고 살기 힘들어짐 (버틸만 함-그래도 대세는 있음) JavaScript, Cloud,node.js, Ruby on Rails,NoSQL 개발자:어려워서 못 써 먹겠음. 차라리 만듬..!! 기술 변화도 심함 이제는 생존의 문제!! 명퇴가 눈앞에..
  • 15. 시대별 기술 변화 인터넷,SNS의 시대엔터프라이즈 시대 모바일 시대 UNIX 서버 벤더 소프트웨어 X86 서버 오픈소스 클라우드 오픈소스 스크립트 언어!! ORACLE MySQL NoSQL API HTML 5 안드로이드,IOS웹웹,4GL 쉽고 빠른 개발 기술의 홍수 대체제 성격 새로운 기술 흐름을 만드는 전환기 안정성,미션 크리티 컬 업무 위주
  • 16. 시대별 기술자 • 왜 이런 현상이 생기는가? 쉬운 기술이 주목 받는 이유 스타트업. 앱 개발 조합 1. 기획자 창업 디자이너 - 기획자 여자 친구 개발자 – 기획자의 친구 (디자이너를 사랑함) 조합 2. 디자이너 창업 기획자 - 디자이너의 여자 친구 개발자 – 디자이너의 친구 (기획자를 사랑함) 개발자 1인 혼자 다 해야함 (클라이언트, 서버, 하드웨어 인프라) 배우기 쉬워야 함 돈 떨어지기전에 시장 출시해야함 빨리 배울 수 있어야함
  • 17. 시장 상황 수많은 앱들 / 치열한 경쟁 빠른 출시, 빠른 업데이트가 필요
  • 18. 요구 되는 기술 빠른 출시, 빠른 업데이트가 필요 쉬운 기술 필요 낮은 비용 클라우드 컴퓨팅 스크립트 언어 운영 효율화 Devops 자동화
  • 19. 클라우드 컴퓨팅 • 클라우드 컴퓨팅이 가져다준 변화 – 저비용으로 시작 가능 – 무제한적 리소스 – 지역/시간 제약에서 자유로워짐 – 쉽다. 하드웨어 인프라에 대한 작업이 없어짐 개발자가 인프라를 핸들링 가능
  • 20. 클라우드 컴퓨팅 • IaaS (Infrastructure As A Service)도 어렵다. • PaaS (Platform As A Service) 유행 • IaaS : VM (Linux, Windows box)를 만들어줌 • PaaS : 웹서버, DBMS를 깔아줌.
  • 21. 클라우드 컴퓨팅 • 고려 사항 빠른 시장 진입 운영비 절감 초기 투자비 절감 유연한 자원 사용 (Auto Scale Out) 느려요 IO Performance 싸지 않아요 기존 솔루션이 안돌아요 장애가 납니다. 아주 잘!! (멀티 데이타 센타 설계) 클라우드 컴퓨팅의 장점 설계시 고려 사항
  • 22. Devops의 등장 Devops = Development + Operation (개발 + 운영) 개발과 운영 조직을 하나로 묶어서 원할한 의사 소통 빠른 반영, 빠른 피드백 반영 가능
  • 23. 자동화 • 흔한(평범한) 개발 환경 시나리오 – 개발자가 아침에 출근해서 – 이클립스를 키고, 소스코드를 Git에서 Check Out 한후 – JIRA를 통해서 오늘 할당된 작업을 확인 한후에 코딩을 하고 – PC에서 Junit등을 이용하여 단위테스트등을 모두 끝 마치고 – 코드를 Git에 Commit하면 – Jekins에서 코드 변경을 감지하여, 자동으로 Check Out해서 mvn을 이용해서 컴파일 하고, 테스트 서버에 배포해서 단위 테스트를 모두 수행하고, 코드의 라인커버리지를 분석하여 리포팅 한다. – 팀장은 빌드가 완료되었음을 확인하고, 단위 테스트 100% 완료 및 라인 커 버리지 80% 완료를 확인한다. – 릴리즈 날짜가 오면, 배포 엔지니어는 별도의 작업 없이 Jenkins에서 빌드된 그날 WAR를 확인하고, Fabric으로 된 배포 스크립트를 수행하면, 자동으로 개발,QA 환경으로 배포가 되고, 환경별로 필요한 resource 파일들이 자동으 로 customization해서 배포가 완료된 후, Junit 기반의 단위 테스트, SOAP UI 기반의 REST API 테스트, Seleniuem 기반의 UI 테스트까지 자동으로 완료 한다. 만약에 배포나 테스트가 실패하면, 이전 버전으로 자동 롤백한다.
  • 24. 자동화 • 빌드 자동화, 테스트 자동화, 배포 자동화 DEV QA STAGE 테스트完 가상화 or 클라우드 필요할때만 전개 릴리즈 연계시스템 클라이언트 단말(모바일) 자동 빌드 배포 시스템 Python Fabric Ruby Capistrano mvn & RPM 리포지토리 rpm
  • 25. 스크립트 언어 Ruby on Rails, Python,PHP 대세는 node.js
  • 26. 아키텍쳐 변화 중앙 집중형 고가용성(HA) 분산형 Resilience 트랜젝션 보장 장애 허용 한정된 용량 대용량 목표 성능 한계 성능 엔터프라이즈 시대 모바일 시대 먹고 살기 좋던 시절 요즘 RMI,WebService REST OPEN API
  • 28. 정보 습득 방식의 변화 벤더 교육 센터 제품 메뉴얼 책 책 온라인 메뉴얼 블로그 찾아보기 물어보기(영어로…) 중수 코드 까보기 고수 네이버?
  • 29. 개발 방식의 변화 벤더가 시키는데로 솔루션에 포함된 예제 보고 책 예제 보고 진리를 깨우치고 물어보고 다른데 프로젝트 했던 SI 불러서 그럴 시간 없음…. Copy & Paste Stack overflow 하는데 까정 해본다. 시간 없음 기술 검증 PoC,BMT 똑똑하면 소스 깐다. Trial & Error
  • 30. 단계별 개발 모델의 변화 • 1단계 스타트업!! 스타트업
  • 31. 단계별 개발 모델의 변화 • 2단계 펀딩 받았다. 성숙된 개발 조직
  • 32. 단계별 개발 모델의 변화 • 3단계 깨달았다. CD & DEVOPS
  • 33. 개발 방법론 <Insert Picture Here> 그래서… 저명한 박사님들께서.. 방법론을 만드시니.. RUP,CBD,CMMI
  • 34. 개발 방법론 But… 그러나 현실은  방법론은 방법론…  우리는 조금 더 현실적인 방법론이 필요합니다.
  • 35. 개발 방법론 실용주의 방법론 구세주 등장!! • 실용주의 방법론 • Erich Gamma, Joel Spolsky, Kent beck, Andrew Hunt • Iterative & Incremental • 애자일 기반 • 기존 방법론과 차이 • 요구 사항이 변화할 것을 가정 • 에러가 있을 것을 가정하여, 자주 테스트 • 협업과 커뮤니케이션
  • 36. 개발 방법론 • 대표적인 개발 방법론 스크럼이 대세!! 관리자 입장에서는 예측 불가 조직에 맞게 바꿔서 쓰세요 http://agilescout.com/learn-more-agile-software- development-methods-this-year/
  • 37. 개발 방법론 http://bcho.tistory.com/ 내용이 많아서, 여기에 다 있습니다. 아시는 분들은 이미 알고, 자료도 많으니 모르시는 분들은 이것만도 7박 8일은 이야기 할 수 있으니, Scrum 만 기억해 가세요
  • 38. 개발 방법론 • 이것만 기억하세요 요구 사항은 변한다… 변하는게 나쁜게 아니라 고객이 원한다… 결국은 사람이 답이다. 커뮤니케이션을 원할하게 하는 방향으로 변화 역할과 원칙, 프로세스를 잊지 마라 안그러면 망한다. 애자일은 무슨~~
  • 40. 오픈소스 개발전략은 에코 시스템 영어…!! 13년이나 배웠잖아요 요즘 한국개발자들 많이함 해보면 됨!! 라이센스. 특허!! 개인 정보 보호법 블로그.. 메뉴얼… 예제… (공모전에는 필요 없을지도…)
  • 41. 몇가지 팁 • 오픈소스는 혜택이 많습니다. (착한 분들이 많아서…) Atlassian JIRA 무료 입니다 – 오픈소스는 (좋아요.. 꼭쓰세요) 클라우드가 필요하면 Microsoft에서 스타트업용으로 일정기간 무료 제 공 해준답니다. BizSpark 인가? (연락처 : TBD) 정부 단체를 잘 이용하세요.. (법무,세무 컨설팅…)