귀하의 기술은 귀하의 비즈니스에 대해 무엇을 말합니까?
게시 됨: 2021-12-22기업은 더 많은 혁신과 재정적 이익을 통해 더 나은 성과를 내기 위해 정기적으로 노력하고 있습니다. 기업에서 발생할 수 있는 문제를 식별할 때 일반적으로 조직은 더 큰 사진을 목표로 하여 회사 전체를 원하고 천천히 내부를 원합니다. 사실, 회사의 기술로 시작하면 훨씬 더 광범위하고 포괄적이며 더 큰 사진에 익숙해질 수 있습니다.
팬데믹의 여파로 기업이 빠르게 진화하고 전자 혁신 작업을 시도하고 상당수가 제대로 완료하지 못하는 상황에서 기술로 설계한 결론이 어떻게 도움이 되거나 방해가 되는지 잘 아는 것이 중요합니다. 개발.
그들의 기술 혁신에서 비즈니스에 대해 구체적으로 무엇을 알 수 있습니까?
그룹이 어떻게 구성되고, 상호 작용하고, 서로 수행하는지에 따라 상품의 나머지 스타일에 지대한 영향을 미칠 수 있습니다. 이를 Conway의 규정이라고 합니다. 소프트웨어 구성은 소프트웨어를 개발한 인력의 상호 작용 모델을 실수로 반영합니다. 틀림없이 기업의 비즈니스는 제품이나 서비스를 계획할 때 고려해야 할 주요 요소입니다.
조직 절차와 아키텍처는 본질적으로 연결되어 서로 영향을 미치고 제약합니다. 발생 가능한 문제를 진단할 때 이 점을 염두에 두어야 하며 해당 지식을 사용하여 기업이 어떻게 구성되어 있는지, 왜 문제가 발생하고 어떻게 극복할 수 있는지에 대한 필수적인 통찰력을 얻어야 합니다. 엔지니어링 인력이 목표를 달성하지 못하는 경우 승무원이 어떻게 구성되어 있고 이것이 원하는 결과를 얻기 위해 반드시 의미하는 바는 무엇인지 조사해 볼 가치가 있습니다.
모놀리식 대 마이크로서비스 아키텍처
그룹이 배열되는 방식에 따라 생성될 수 있는 몇 가지 고유한 아키텍처 구성이 있습니다. 작은 분산 그룹은 모듈식 마이크로서비스 중심 아키텍처를 생성할 가능성이 매우 높습니다. 승무원이 더 크고 아이템 아키텍처의 일부와 일치하지 않으면 모놀리식 아키텍처를 만들 가능성이 큽니다. 모놀리식 아키텍처는 일반적인 IT 프로그램이나 회사 목적이 일반적으로 이런 방식으로 생성되기 때문에 많은 사람들에게 친숙합니다. 동일한 종류의 아키텍처에 대해 고려해야 할 중요한 장점과 단점이 있습니다.
디지털 혁신 작업에 착수한 그룹의 경우, 사업의 구성 요소는 새로운 현대 마이크로서비스를 위해 레거시 모놀리식 애플리케이션을 분리할 수 있습니다. 이러한 다양한 레이아웃에는 상당한 장점이 있습니다. 중단 없이 조정을 구현할 수 있는 전반적인 유연성을 높이고 확장성을 훨씬 높일 수 있기 때문입니다. 그럼에도 불구하고 모놀리식 아키텍처는 사용 및 배포가 훨씬 덜 복잡합니다. 이것은 일반적으로 더 작고 매우 간단한 앱 발전에 대한 가장 큰 선호도가 되며 일반적으로 초기 단계의 시작 단계에서 발견됩니다. 마이크로서비스와 달리 모놀리식 아키텍처는 다양한 목표를 가진 고유한 그룹 사이에 정렬해야 하는 작업이 필요하기 때문에 확장하기가 더 어렵습니다. 직원 구성을 완전히 잘못 지정하면 스타일 방법이 느려지고 문제가 늘어납니다.
조직의 마이크로서비스 아키텍처 배포가 성공적이거나 성공적이지 않으면 조직이 설계한 결론과 비즈니스의 통신 구조에 뿌리 깊은 문제가 있는지 여부를 알 수 있습니다. 모놀리스를 분리하고 마이크로서비스 아키텍처로 전환해야 하는지 여부를 고려할 때 회사의 구조가 어떤 아키텍처를 선택하든 도움이 될 것인지 확인하는 것이 중요합니다.
보조 팽창
일부 조건에서는 마이크로서비스의 수가 엔지니어의 범위보다 많다는 사실이 잘 드러날 수 있습니다. 이것은 보조 팽창으로 식별됩니다. 이는 개발자 속도와 가용성이 감소한다는 사실 때문에 문제가 됩니다. 이것은 매우 신중한 구조와 팀 구성이 이 접근 방식을 지원하도록 보장하지 않고 마이크로서비스를 구축하는 것이 위험한 이유에 대한 중요한 설명입니다.
지원 팽창은 팀에서 사려 깊은 아키텍처 렌즈를 적용하지 않았다는 표시입니다. 이는 각각의 모든 서비스가 서로 의존하는 방식에 대한 지식이 거의 없음을 나타냅니다. 이는 일반적으로 새로운 기능을 출시하려고 할 때 가용성을 줄이고 지연을 유발하는 마이크로서비스 안티 스타일로 이어집니다. 바람직하게는 어떤 조직도 이러한 상태로 끝나기를 원하지 않습니다.
건축 산책을 하다
조직 구조 및 이것이 아키텍처에 미치는 영향에 대한 메모를 사용하는 것 외에도 제품에 발생할 수 있는 문제의 근본 결과를 인식하기 위해 어떤 것이 연결되어 있는지 평가하는 것도 중요합니다. 이렇게 하려면 간단한 아키텍처 산책을 수행하십시오. 아키텍처 탐색을 수행하려면 장치나 소프트웨어에서 데이터 계층까지, 그리고 다시 응답과 함께 모든 작은 것이 어떻게 연결되어 있는지 살펴봐야 합니다. 아키텍처 산책을 할 때 계속 염두에 두어야 할 몇 가지 중요한 사항이 있습니다.
- 고독한 장애 지점, 작동 시간에 서로에게 의존하는 공급자, 필요에 따라 확장되지 않는 구성 요소를 찾는 것이 필수적입니다.
- 상태 유지를 고려하십시오. 여기에는 사람들과 관련된 세션 간에 사실이 저장되는 위치와 해당 사실이 보존되는 방법을 분석하는 것이 포함됩니다.
- 샤딩되지 않은 대규모 데이터베이스와 공용 클라우드 또는 자체 호스팅 팩트 센터의 요소로 여러 위치에서 제조되는 통화를 주시하십시오.
- PaaS(Platform as a Service) 또는 DBaaS(Cloud Database as a Support)를 사용하는 경우 정확히 공용 클라우드 오류가 지역 간 전화 통화를 생성하는 위치에 나타납니다.
보다 높은 모든 요소는 제품의 기회 장애물을 해결하기 위해 간주해야 하는 일부 부분일 뿐입니다. 채용 시기는 이상적인 성공을 위한 기능과 아키텍처 요구 사항을 모두 고려해야 합니다.
수석 제품 엔지니어가 이에 대해 알아야 할 사항은 무엇입니까?
고위 품목 엔지니어링 리더는 특정 확장성 및 가용성을 구성하는 데 중점을 두어야 하며, 잠재적인 문제가 발생하기 직전에 문제를 해결하기 위해 공통 기반에서 복잡한 재정 부채 인벤토리를 작성하고 있습니다. 솔루션 설계자나 소수의 선임 엔지니어 직원은 제품 팀이 적절한 수준의 규모와 고가용성을 위해 스타일을 지정하고 디자인하는 데 사용할 수 있는 규칙을 설정해야 합니다.
CodeScene과 같은 도구는 공급자 간의 종속성을 감지하고 코드베이스가 작동하는 방식의 문제를 해결하는 데 사용할 수 있습니다. 리팩토링 요구사항 및 특수 신용 카드 부채의 백로그 통지를 위한 혜택을 지원합니다.
빠르게 발전하는 기술 부문에 맞추기 위해 지속적으로 진화하는 기업의 요구 사항에 따라 기술 노하우가 초기 선택에 대해 공개하는 내용을 확실히 아는 것이 매우 중요합니다. 그런 다음 이러한 학습을 활용하여 미래에 매우 유사한 오류가 발생하지 않도록 하고 그룹이 목표를 달성하고 새로운 차원을 달성하는 데 도움이 되는 도구로 그룹 설계를 적용하는 방법을 완벽하게 이해할 수 있습니다.
Dave Berardi, 남편 또는 아내, AKF Partners