Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
소프트웨어
개발 트렌드의 변화
Facebook Server Side Architect 그룹
대표 운영자 조대협
http://bcho.tistory.com
발표자 소개
• 회원 13만명 자바스터디(www.javastudy.co.kr) 운영자.. (기억의 저편..)
• 천리안 자바 동호회 초대 시삽
• 벤처 개발자
• BEA 웹로직 기술 지원 엔지니어
• 오라클 장애 진단,...
오늘 할 이야기는?
Layer Component Product
Access
Layer
Reverse Proxy apache httpd, nginx, haproxy
Enterprise Service Bus (ESB
Approach)
mule...
그것 보다는 많은 사람들에게
도움이 되는 이야기..!!
어떻게 개발 트랜드가 변하고 있는가?
요즘 실리콘 밸리에서는…
개발자는 레티나 디스플레이!!
요즘 실리콘 밸리에서는…
잘하는 것 부터 시작해서 발전
대세는 스크립트 언어
스스로 공부,스스로 개발,내재화
소규모 조직 [10~20명]
대우 받는 개발자
클라우드 컴퓨팅
빠른 시장 진입,저비용,누구나 서비스
젊은 개발...
요즘 실리콘 밸리에서는…
대세는 수퍼 개발자!!
4가지 관점에서
개발 트렌드의 변화를 이해
이에 적절한 오픈소스 개발 전략 수립!!
소프트웨어 개발
중심의 변화
시대별 기술의
변화
개발 방식의
변화
오픈소스 개발
전략
1. 소프트웨어 개발 중심의 변화
소프트웨어 개발 중심의 변화
시대별로 소프트웨어를 개발하는 이유가 어떻게 변화 했을까?
우리가 지금 쓰는 기술들은 왜?
인터넷,SNS의 시대엔터프라이즈 시대 모바일 시대
서비스 사업자
대단한 님들!!
벤더
개발자!!
(...
2. 시대별 기술의 변화
시대별 기술의 변화
인터넷,SNS의 시대엔터프라이즈 시대 모바일 시대
EJB, JAVA, SERVLET/JSP
들어는 보셨나요?
벤더 : “이게 최신 기술임!!.
교육 부터 다 해드림!!
나만 믿으세요” $$$
먹고 살...
시대별 기술 변화
인터넷,SNS의 시대엔터프라이즈 시대 모바일 시대
UNIX 서버
벤더 소프트웨어
X86 서버
오픈소스
클라우드
오픈소스
스크립트 언어!!
ORACLE MySQL NoSQL
API
HTML 5
안드로이드...
시대별 기술자
• 왜 이런 현상이 생기는가? 쉬운 기술이 주목 받는 이유
스타트업. 앱 개발
조합 1.
기획자 창업
디자이너 - 기획자 여자 친구
개발자 – 기획자의 친구 (디자이너를 사랑함)
조합 2.
디자이너 창업
...
시장 상황
수많은 앱들 / 치열한 경쟁
빠른 출시, 빠른 업데이트가 필요
요구 되는 기술
빠른 출시, 빠른 업데이트가 필요
쉬운 기술 필요
낮은 비용
클라우드
컴퓨팅
스크립트
언어
운영 효율화
Devops
자동화
클라우드 컴퓨팅
• 클라우드 컴퓨팅이 가져다준 변화
– 저비용으로 시작 가능
– 무제한적 리소스
– 지역/시간 제약에서 자유로워짐
– 쉽다. 하드웨어 인프라에 대한 작업이 없어짐
개발자가 인프라를 핸들링 가능
클라우드 컴퓨팅
• IaaS (Infrastructure As A Service)도 어렵다.
• PaaS (Platform As A Service) 유행
• IaaS : VM (Linux, Windows box)를 만들...
클라우드 컴퓨팅
• 고려 사항
빠른 시장 진입
운영비 절감
초기 투자비 절감
유연한 자원 사용
(Auto Scale Out)
느려요
IO Performance
싸지 않아요
기존 솔루션이 안돌아요
장애가 납니다. 아주 잘...
Devops의 등장
Devops = Development + Operation (개발 + 운영)
개발과 운영 조직을 하나로 묶어서 원할한 의사 소통
빠른 반영, 빠른 피드백 반영 가능
자동화
• 흔한(평범한) 개발 환경 시나리오
– 개발자가 아침에 출근해서
– 이클립스를 키고, 소스코드를 Git에서 Check Out 한후
– JIRA를 통해서 오늘 할당된 작업을 확인 한후에 코딩을 하고
– PC에서 ...
자동화
• 빌드 자동화, 테스트 자동화, 배포 자동화
DEV QA STAGE
테스트完
가상화 or 클라우드
필요할때만 전개
릴리즈
연계시스템
클라이언트
단말(모바일)
자동 빌드 배포 시스템
Python Fabric
Ru...
스크립트 언어
Ruby on Rails, Python,PHP
대세는 node.js
아키텍쳐 변화
중앙 집중형
고가용성(HA)
분산형
Resilience
트랜젝션 보장 장애 허용
한정된 용량 대용량
목표 성능 한계 성능
엔터프라이즈 시대 모바일 시대
먹고 살기 좋던 시절 요즘
RMI,WebService...
3. 개발 방식의 변화
정보 습득 방식의 변화
벤더 교육 센터 제품 메뉴얼 책
책
온라인 메뉴얼
블로그
찾아보기
물어보기(영어로…)
중수
코드 까보기
고수
네이버?
개발 방식의 변화
벤더가 시키는데로
솔루션에 포함된 예제 보고
책 예제 보고
진리를 깨우치고
물어보고
다른데 프로젝트 했던 SI 불러서
그럴 시간 없음….
Copy & Paste
Stack overflow
하는데 까정 ...
단계별 개발 모델의 변화
• 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...
개발 방법론
http://bcho.tistory.com/
내용이 많아서, 여기에 다 있습니다.
아시는 분들은 이미 알고, 자료도 많으니 모르시는 분들은
이것만도 7박 8일은 이야기 할 수 있으니, Scrum 만 기억해 ...
개발 방법론
• 이것만 기억하세요
요구 사항은 변한다…
변하는게 나쁜게 아니라 고객이 원한다…
결국은 사람이 답이다.
커뮤니케이션을 원할하게 하는 방향으로 변화
역할과 원칙, 프로세스를 잊지 마라
안그러면 망한다. 애자...
4. 오픈소스 개발 전략
오픈소스 개발전략은
에코 시스템
영어…!!
13년이나 배웠잖아요
요즘 한국개발자들 많이함
해보면 됨!!
라이센스. 특허!!
개인 정보 보호법
블로그.. 메뉴얼… 예제…
(공모전에는 필요 없을지도…)
몇가지 팁
• 오픈소스는 혜택이 많습니다. (착한 분들이 많아서…)
Atlassian JIRA 무료 입니다 – 오픈소스는 (좋아요.. 꼭쓰세요)
클라우드가 필요하면 Microsoft에서 스타트업용으로 일정기간 무료 제
...
Upcoming SlideShare
Loading in …5
×

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

3,742 views

Published on

2014년 Software develop trend
초보 개발자 또는 대학생 레벨

Published in: Technology
  • Be the first to comment

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

  1. 1. 소프트웨어 개발 트렌드의 변화 Facebook Server Side Architect 그룹 대표 운영자 조대협 http://bcho.tistory.com
  2. 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/ 조대협 본명 조병욱 ???? 싸장님
  3. 3. 오늘 할 이야기는?
  4. 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. 5. 그것 보다는 많은 사람들에게 도움이 되는 이야기..!!
  6. 6. 어떻게 개발 트랜드가 변하고 있는가?
  7. 7. 요즘 실리콘 밸리에서는… 개발자는 레티나 디스플레이!!
  8. 8. 요즘 실리콘 밸리에서는… 잘하는 것 부터 시작해서 발전 대세는 스크립트 언어 스스로 공부,스스로 개발,내재화 소규모 조직 [10~20명] 대우 받는 개발자 클라우드 컴퓨팅 빠른 시장 진입,저비용,누구나 서비스 젊은 개발자 (한국은 접는 개발자) 협업 [SNS,오픈소스,GitHub] CI to CD 유연한 고용 시장 메뚜기!! 3년 넘으면 바보 한국은 배신자 개발자의 변신은 무죄 새로운 능력..!! 잉여력STAR UP
  9. 9. 요즘 실리콘 밸리에서는… 대세는 수퍼 개발자!!
  10. 10. 4가지 관점에서 개발 트렌드의 변화를 이해 이에 적절한 오픈소스 개발 전략 수립!! 소프트웨어 개발 중심의 변화 시대별 기술의 변화 개발 방식의 변화 오픈소스 개발 전략
  11. 11. 1. 소프트웨어 개발 중심의 변화
  12. 12. 소프트웨어 개발 중심의 변화 시대별로 소프트웨어를 개발하는 이유가 어떻게 변화 했을까? 우리가 지금 쓰는 기술들은 왜? 인터넷,SNS의 시대엔터프라이즈 시대 모바일 시대 서비스 사업자 대단한 님들!! 벤더 개발자!! (스타트업,앱개발자)  당신도 할 수 있다 기술 변화의 주체
  13. 13. 2. 시대별 기술의 변화
  14. 14. 시대별 기술의 변화 인터넷,SNS의 시대엔터프라이즈 시대 모바일 시대 EJB, JAVA, SERVLET/JSP 들어는 보셨나요? 벤더 : “이게 최신 기술임!!. 교육 부터 다 해드림!! 나만 믿으세요” $$$ 먹고 살 걱정 없음!! Spring,Hibernate,MySQL ,Struts,Ruby On Rails,PHP .. 서비스사 : 제품은 비쌈. 우리가 만든거 가져다 쓰 세요!! 대신 책임은 니꺼! 공부해야 함.. 압박!! 조금씩 먹고 살기 힘들어짐 (버틸만 함-그래도 대세는 있음) JavaScript, Cloud,node.js, Ruby on Rails,NoSQL 개발자:어려워서 못 써 먹겠음. 차라리 만듬..!! 기술 변화도 심함 이제는 생존의 문제!! 명퇴가 눈앞에..
  15. 15. 시대별 기술 변화 인터넷,SNS의 시대엔터프라이즈 시대 모바일 시대 UNIX 서버 벤더 소프트웨어 X86 서버 오픈소스 클라우드 오픈소스 스크립트 언어!! ORACLE MySQL NoSQL API HTML 5 안드로이드,IOS웹웹,4GL 쉽고 빠른 개발 기술의 홍수 대체제 성격 새로운 기술 흐름을 만드는 전환기 안정성,미션 크리티 컬 업무 위주
  16. 16. 시대별 기술자 • 왜 이런 현상이 생기는가? 쉬운 기술이 주목 받는 이유 스타트업. 앱 개발 조합 1. 기획자 창업 디자이너 - 기획자 여자 친구 개발자 – 기획자의 친구 (디자이너를 사랑함) 조합 2. 디자이너 창업 기획자 - 디자이너의 여자 친구 개발자 – 디자이너의 친구 (기획자를 사랑함) 개발자 1인 혼자 다 해야함 (클라이언트, 서버, 하드웨어 인프라) 배우기 쉬워야 함 돈 떨어지기전에 시장 출시해야함 빨리 배울 수 있어야함
  17. 17. 시장 상황 수많은 앱들 / 치열한 경쟁 빠른 출시, 빠른 업데이트가 필요
  18. 18. 요구 되는 기술 빠른 출시, 빠른 업데이트가 필요 쉬운 기술 필요 낮은 비용 클라우드 컴퓨팅 스크립트 언어 운영 효율화 Devops 자동화
  19. 19. 클라우드 컴퓨팅 • 클라우드 컴퓨팅이 가져다준 변화 – 저비용으로 시작 가능 – 무제한적 리소스 – 지역/시간 제약에서 자유로워짐 – 쉽다. 하드웨어 인프라에 대한 작업이 없어짐 개발자가 인프라를 핸들링 가능
  20. 20. 클라우드 컴퓨팅 • IaaS (Infrastructure As A Service)도 어렵다. • PaaS (Platform As A Service) 유행 • IaaS : VM (Linux, Windows box)를 만들어줌 • PaaS : 웹서버, DBMS를 깔아줌.
  21. 21. 클라우드 컴퓨팅 • 고려 사항 빠른 시장 진입 운영비 절감 초기 투자비 절감 유연한 자원 사용 (Auto Scale Out) 느려요 IO Performance 싸지 않아요 기존 솔루션이 안돌아요 장애가 납니다. 아주 잘!! (멀티 데이타 센타 설계) 클라우드 컴퓨팅의 장점 설계시 고려 사항
  22. 22. Devops의 등장 Devops = Development + Operation (개발 + 운영) 개발과 운영 조직을 하나로 묶어서 원할한 의사 소통 빠른 반영, 빠른 피드백 반영 가능
  23. 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. 24. 자동화 • 빌드 자동화, 테스트 자동화, 배포 자동화 DEV QA STAGE 테스트完 가상화 or 클라우드 필요할때만 전개 릴리즈 연계시스템 클라이언트 단말(모바일) 자동 빌드 배포 시스템 Python Fabric Ruby Capistrano mvn & RPM 리포지토리 rpm
  25. 25. 스크립트 언어 Ruby on Rails, Python,PHP 대세는 node.js
  26. 26. 아키텍쳐 변화 중앙 집중형 고가용성(HA) 분산형 Resilience 트랜젝션 보장 장애 허용 한정된 용량 대용량 목표 성능 한계 성능 엔터프라이즈 시대 모바일 시대 먹고 살기 좋던 시절 요즘 RMI,WebService REST OPEN API
  27. 27. 3. 개발 방식의 변화
  28. 28. 정보 습득 방식의 변화 벤더 교육 센터 제품 메뉴얼 책 책 온라인 메뉴얼 블로그 찾아보기 물어보기(영어로…) 중수 코드 까보기 고수 네이버?
  29. 29. 개발 방식의 변화 벤더가 시키는데로 솔루션에 포함된 예제 보고 책 예제 보고 진리를 깨우치고 물어보고 다른데 프로젝트 했던 SI 불러서 그럴 시간 없음…. Copy & Paste Stack overflow 하는데 까정 해본다. 시간 없음 기술 검증 PoC,BMT 똑똑하면 소스 깐다. Trial & Error
  30. 30. 단계별 개발 모델의 변화 • 1단계 스타트업!! 스타트업
  31. 31. 단계별 개발 모델의 변화 • 2단계 펀딩 받았다. 성숙된 개발 조직
  32. 32. 단계별 개발 모델의 변화 • 3단계 깨달았다. CD & DEVOPS
  33. 33. 개발 방법론 <Insert Picture Here> 그래서… 저명한 박사님들께서.. 방법론을 만드시니.. RUP,CBD,CMMI
  34. 34. 개발 방법론 But… 그러나 현실은  방법론은 방법론…  우리는 조금 더 현실적인 방법론이 필요합니다.
  35. 35. 개발 방법론 실용주의 방법론 구세주 등장!! • 실용주의 방법론 • Erich Gamma, Joel Spolsky, Kent beck, Andrew Hunt • Iterative & Incremental • 애자일 기반 • 기존 방법론과 차이 • 요구 사항이 변화할 것을 가정 • 에러가 있을 것을 가정하여, 자주 테스트 • 협업과 커뮤니케이션
  36. 36. 개발 방법론 • 대표적인 개발 방법론 스크럼이 대세!! 관리자 입장에서는 예측 불가 조직에 맞게 바꿔서 쓰세요 http://agilescout.com/learn-more-agile-software- development-methods-this-year/
  37. 37. 개발 방법론 http://bcho.tistory.com/ 내용이 많아서, 여기에 다 있습니다. 아시는 분들은 이미 알고, 자료도 많으니 모르시는 분들은 이것만도 7박 8일은 이야기 할 수 있으니, Scrum 만 기억해 가세요
  38. 38. 개발 방법론 • 이것만 기억하세요 요구 사항은 변한다… 변하는게 나쁜게 아니라 고객이 원한다… 결국은 사람이 답이다. 커뮤니케이션을 원할하게 하는 방향으로 변화 역할과 원칙, 프로세스를 잊지 마라 안그러면 망한다. 애자일은 무슨~~
  39. 39. 4. 오픈소스 개발 전략
  40. 40. 오픈소스 개발전략은 에코 시스템 영어…!! 13년이나 배웠잖아요 요즘 한국개발자들 많이함 해보면 됨!! 라이센스. 특허!! 개인 정보 보호법 블로그.. 메뉴얼… 예제… (공모전에는 필요 없을지도…)
  41. 41. 몇가지 팁 • 오픈소스는 혜택이 많습니다. (착한 분들이 많아서…) Atlassian JIRA 무료 입니다 – 오픈소스는 (좋아요.. 꼭쓰세요) 클라우드가 필요하면 Microsoft에서 스타트업용으로 일정기간 무료 제 공 해준답니다. BizSpark 인가? (연락처 : TBD) 정부 단체를 잘 이용하세요.. (법무,세무 컨설팅…)

×