https://aws.amazon.com/ko/blogs/developer/aws-cdk-developer-preview/ 기계번역문

우리는 TypeScript, JavaScript 및 Java 용 AWS 클라우드 개발 키트 (CDK) 개발자 미리보기 릴리스 를 발표하게 된 것을 기쁘게 생각합니다 .NET 및 Python이 곧 출시 될 예정입니다. AWS CDK는 클라우드 인프라를 코드로 정의하고 CloudFormation을 통해 프로비저닝하는 소프트웨어 개발 프레임 워크입니다. CDK는 AWS 서비스와 완벽하게 통합되며 AWS 리소스를 필수적으로 정의하기 위해 더 높은 수준의 객체 지향 추상화를 제공합니다. CDK는 현대 프로그래밍 언어의 힘을 사용하여 예측 가능하고 효율적인 방식으로 AWS 인프라를 정의하므로 엔드 투 엔드 개발 경험을 향상시킵니다.

CDK를 클라우드 인프라 스트럭처 "컴파일러"로 생각할 수 있습니다. AWS 클라우드 리소스를 추상화하고 AWS 모범 사례를 캡슐화하는 Constructs 라는 고수준 클래스 라이브러리 세트를 제공합니다 구문은 응용 프로그램 인프라를 정확하게 정의하고 모든 복잡한 상용구 논리를 처리하는 개체 지향 CDK 응용 프로그램 으로 함께 스냅 할 수 있습니다 CDK 응용 프로그램을 실행하면 AWS 클라우드 인프라의 "어셈블리 언어"인 CloudFormation 템플릿 으로 컴파일됩니다 그러면 템플릿이 CloudFormation 프로비저닝 엔진에 의해 처리되어 AWS 계정에 배포 될 준비가됩니다. CDK 도구를 사용하면 쉽게 정의 할 수 있습니다.애플리케이션 인프라 스트럭처 스택, CloudFormation 서비스는 스택의 안전하고 신뢰할 수있는 프로비저닝 을 처리합니다.

익숙한 도구

CDK를 통해 우리는 매일 사용하는 친숙한 환경과 팀 워크 플로에 인프라 정의를 가져 와서 가장 편안하고 생산적인 곳에서 만날 수 있습니다. CDK는 사용자가 선호하는 객체 지향 프로그래밍 언어를 지원하므로 루프 및 조건과 같은 코드 논리를 자연스럽게 표현하여 모든 환경 또는 시나리오에 맞게 인프라를 사용자 지정할 수 있습니다. CDK 코드는 코드 일 뿐이므로 인라인 설명서, 리팩토링 도구, 코드 탐색 및 단위 테스트와 같은 기존 IDE 기능이 모두 예상대로 작동합니다. 다음 코드는 가용성 영역 및 지역별 AMI ID와 같은 인프라 스트럭처 논리 및 환경 컨텍스트를 사용하여 단일 코드 기반에서 다른 지역에 대한 다양한 응용 프로그램 스택을 만드는 방법을 보여줍니다. 인프라 정의 복사 및 붙여 넣기가 필요하지 않습니다.

// 현재 지역 / 계정에 대한 AZ 목록 가져 오기

const azs = new cdk.AvailabilityZoneProvider(this).availabilityZones;

 

//이 영역의 특정 Windows 버전에 대한 AMI ID 가져 오기

const ami = new ec2.WindowsImage(ec2.WindowsVersion.WindowsServer2016EnglishNanoBase).getImage(this);

 

for (const az of azs) {

// 가용성 영역을 기반으로 구조체 이름을 렌더링합니다.

const constructName = `InstanceFor${az.replace(/-/g).toUpperCase()}`;

 

new ec2.cloudformation.InstanceResource(thisconstructName, {

imageId: ami.imageId,

availabilityZone: az,

});

}

세부 사항 요약

CDK는 개발자가 최신 프로그래밍 언어와 객체 지향 기술을 사용하여 CloudFormation 템플릿을 생성 할 수있는 최초의 솔루션이 아닙니다. CDK는 AWS 서비스와 완벽하게 통합되어 IAM 정책, 보안 그룹 및 네트워크 구성과 같은 주요 리소스를 자동으로 종합하는 유용한 API를 제공합니다. 예를 들어 인프라에 Amazon Virtual Private Cloud (VPC)를 추가하려면 다음 코드 줄을 CDK 응용 프로그램에 추가하기 만하면됩니다.

new ec2.VpcNetwork(this‘MyVPC’);

CDK 애플리케이션이 컴파일되면 대상 지역의 각 가용 영역에 대한 서브넷과 경로, 경로 표, 서브넷 경로 표 연결, NAT 게이트웨이, 인터넷 게이트웨이 및 필요한 탄성 IP를 정의하는 긴 CloudFormation 템플릿이 생성됩니다 모든 일을하도록하십시오. 스마트 한 기본값 중 일부가 요구 사항을 충족시키지 못하면 VPC 매개 변수를 자신의 값으로 쉽게 재정의 할 수 있습니다.

확장 가능

AWS에서 작성한 CDK Constructs가 제공하는 유용한 API를 활용하는 것 외에도 예측 가능하고 재사용 가능한 코드로 자신 만의 모범 사례를 정의 할 수 있습니다. 예를 들어, 암호화가 활성화 된 S3 버킷을 항상 만드는 CDK 응용 프로그램을 제작하여 팀이 기본적으로 자연스럽게이 작업을 수행 할 수 있습니다.

new s3.Bucket(this‘EncryptedBucket’, {

encryption: s3.BucketEncryption.KmsManaged

});

독창적 인 클라우드 고유의 디자인 패턴을 인코딩하고 특정 사용 사례에 중점을두고 내부적으로나 전 세계와 공유하는 더 높은 수준의 CDK 응용 프로그램을 정의 할 수 있습니다. 우리는 당신이 만든 멋진 것들을보기 위해 기다릴 수 없습니다.

바자Bazaar 방문

우리는 닫힌 성당이 아닌 열린 시장처럼 CDK를 건설하고 있습니다. 아직 끝나지 않았습니다! 참조, 익숙하지 않은 사람들을 위해 성당과 시장 , 두 가지 기본적인 소프트웨어 개발 스타일을 대조 에릭 S. 레이몬드에 의해 에세이이며, 오픈 소스, "감안할 때 충분히 눈알, 모든 버그 얕은하다"인수한다 . 오픈 소스 개발자 미리보기이므로 AWS에서 클라우드 애플리케이션을 개발할 때 CDK를 최고의 경험으로 활용할 수 있도록 도와주십시오. aws-cdk GitHub README 를 방문하여 CDK를 시작하는 방법을 배우십시오. Gitter 에 게시 하여 대화를 시작하고, 개발자와 의견 을 교환하고, 풀 요청을 제출하십시오.귀하의 상품을 기부하거나, 단지 우리에게 관심을 보이기 위해 프로젝트에 별표 를 붙이십시오. 우리는 당신과의 협력을 기대합니다.

출처 : https://stackoverflow.com/questions/43671482/how-to-run-docker-compose-up-d-at-system-start-up


crontab의 @reboot 또는 (옛날 방식) /etc/rc.local 파일을 사용 해도 되지만, 앞에 10초 이상 sleep 을 주지 않으면 실행이 안됩니다.

@reboot (sleep 15s ; cd /myapps ; /usr/local/bin/docker-compose up -d )& 


아래 처럼 system service로 해당 앱을 등록 시켜두면 다른 서비스처럼 자동시작/시작/종료 를 제어할 수 있습니다.

# /etc/systemd/system/docker-compose-app.service

[Unit]
Description=Docker Compose Application Service
Requires=docker.service
After=docker.service

[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/srv/docker
ExecStart=/usr/local/bin/docker-compose up -d
ExecStop=/usr/local/bin/docker-compose down
TimeoutStartSec=0

[Install]
WantedBy=multi-user.target


 WorkingDirectory  변수값은 실제  프로젝트 경로로 변경 해야 합니다. 

부팅시 서비스가 자동 시작하도록 설정 합니다.

systemctl enable docker-compose-app

======

zabbix 예제

# /etc/systemd/system/zbx.service

[Unit]
Description=Docker Compose Zabbix Application Service
Requires=docker.service
After=docker.service

[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/root/zabbix-docker
ExecStart=/usr/local/bin/docker-compose -f ./docker-compose_v3_centos_mysql_latest.yaml up -d
ExecStop=/usr/local/bin/docker-compose -f ./docker-compose_v3_centos_mysql_latest.yaml down
TimeoutStartSec=0

[Install]
WantedBy=multi-user.target

서비스가 자동 시작 설정

systemctl enable zbx

서비스 시작 

systemctl start zbx

서비스 종료

systemctl stop zbx


출처: http://agilemanifesto.org/iso/ko/manifesto.html  http://agilemanifesto.org/iso/ko/principles.html

Principles behind the Agile Manifesto (애자일 소프트웨어 개발 선언)

We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
우리는 소프트웨어를 개발하고, 또 다른 사람의 개발을
도와주면서 소프트웨어 개발의 더 나은 방법들을 찾아가고
있다. 이 작업을 통해 우리는 다음을 가치 있게 여기게 되었다:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
공정과 도구보다 개인과 상호작용
포괄적인 문서보다 작동하는 소프트웨어
계약 협상보다 고객과의 협력
계획을 따르기보다 변화에 대응하기

That is, while there is value in the items on
the right, we value the items on the left more.
가치 있게 여긴다. 이 말은, 왼쪽에 있는 것들도 가치가 있지만,
우리는 오른쪽에 있는 것들에 더 높은 가치를 둔다는 것이다.

12 Principles Behind the Agile Manifesto (애자일 선언 이면의 원칙)

We follow these principles:
우리는 다음 원칙을 따른다:

  1. 고객만족 추구
    • Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
    • 우리의 최우선 순위는, 가치 있는 소프트웨어를 일찍 그리고 지속적으로 전달해서 고객을 만족시키는 것이다.
  2. 요구변경 적극 수용
    • Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
    • 비록 개발의 후반부일지라도 요구사항 변경을 환영하라. 애자일 프로세스들은 변화를 활용해 고객의 경쟁력에 도움이 되게 한다.
  3. 짧은 배포 간격
    • Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
    • 작동하는 소프트웨어를 자주 전달하라. 2주 ~ 2개월 정도의 간격으로 하되 더 짧은 기간을 선호하라.
  4. 현업-개발자간 일일 의사소통
    • Business people and developers must work together daily throughout the project.
    • 비즈니스 쪽의 사람들과 개발자들은 프로젝트 전체에 걸쳐 날마다 함께 일해야 한다.
  5. 동기부여된 사람들 중용. 지원 및 신뢰
    • Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
    • 동기가 부여된 사람들을 중심으로 프로젝트를 구성하라. 그들이 필요로 하는 환경과 지원을 주고 그들이 일을 끝내리라고 신뢰하라.
  6. 면대면 대화
    • The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
    • 개발팀으로, 또 개발팀 내부에서 정보를 전하는 가장 효율적이고 효과적인 방법은 면대면 대화이다.
  7. 작동하는 소프트웨어를 척도로
    • Working software is the primary measure of progress.
    • 작동하는 소프트웨어가 진척의 주된 척도이다.
  8. 지속가능한 개발 장려
    • Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
    • 애자일 프로세스들은 지속 가능한 개발을 장려한다. 스폰서, 개발자, 사용자는 일정한 속도를 계속 유지할 수 있어야 한다.
  9. 좋은 기술, 설계에 관심
    • Continuous attention to technical excellence and good design enhances agility.
    • 기술적 탁월성과 좋은 설계에 대한 지속적 관심이 기민함을 높인다.
  10. 단순성 추구
    • Simplicity–the art of maximizing the amount of work not done–is essential.
    • 단순성이 – 안 하는 일의 양을 최대화하는 기술이 – 필수적이다.
  11. 자기조직적 팀
    • The best architectures, requirements, and designs emerge from self-organizing teams.
    • 최고의 아키텍처, 요구사항, 설계는 자기 조직적인 팀에서 창발한다.
  12. 정기적으로 효율성 제고
    • At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
    • 팀은 정기적으로 어떻게 더 효과적이 될지 숙고하고, 이에 따라 팀의 행동을 조율하고 조정한다.


'ETC.' 카테고리의 다른 글

PM, RFI, RFP, WBS, SOW, POC, BMT  (0) 2019.09.18
DDoS 장비 구성 방식  (0) 2019.01.23
TCP 튜닝  (0) 2018.03.30
Let's Encrypt Wildcard 인증서 발급하기  (0) 2018.03.29
[리눅스] CentOS 7 타임존 변경  (0) 2018.02.08

아마존의 14가지 리더십 원칙 (The amazon way, 14 leadership principle)

여기에서 리더는 당신이다. 즉, Self Leadership을 말하고 있는 것이다.


1. 고객에 집착하라

리더는 고객에서부터 시작하며 나머지는 그 다음이다. 리더는 고객의 신뢰를 얻고 유지하기 위해 끊임없이 노력하며, 경쟁사들에게 관심을 갖기는 해도 집착하는 대상은 어디까지나 고객들이다.

리더는 고객의 관점에서 생각하고 행동해야 한다. 고객에게 신뢰를 얻고 유지하기 위해 전력을 다해야 한다. 리더는 경쟁사에 신경을 써야 하지만, 무엇보다 고객을 중심으로 생각하는 데 집착해야 한다. 아마존의 미션과 비전인 고객 중심주의와 일맥상통하는 표현이기 때문에 가장 중요한 항목이다.

Customer Obsession

Leaders start with the customer and work backwards. They work vigorously to earn and keep customer trust. Although leaders pay attention to competitors, they obsess over customers.

2. 주인의식을 가져라

리더은 곧 주인이다. 그들은 장기적인 관점에서 생각하고, 단기적 성과를 위해 장기적 가치를 희생시키지 않는다. 또한 자신의 팀을 넘어서 회사 전체를 대표한다는 생각으로 행동한다. 리더들은 “그것은 내 일이 아니야."라고 절대 말하지 않는다.

리더에게는 주인의식이 필요하다. 리더는 장기적인 시야로 생각해야 하며, 단기적인 결과를 위해 장기적인 가치를 희생해서는 안 된다. 리더는 자신의 팀뿐만 아니라 회사 전체를 위해 행동해야 한다. 리더 입에서 “그건 내 업무가 아니다”라는 말이 절대로 나와서는 안 된다.

Ownership

Leaders are owners. They think long term and don’t sacrifice long-term value for short-term results. They act on behalf of the entire company, beyond just their own team. They never say “that’s not my job". 

3. 발명하고 단순화하라

리더는 그들의 팀에 혁신(innovation)과 창의(invention)을 요구하고 또한 기대하며, 항상 단순화 시킬 방법을 찾는다. 리더는 외부의 상황의 변화에 주의하고 모든 곳에서 새로운 아이디어를 얻는다.  "우리가 개발한 것이 아니다(NIH 신드룸)"라는 것에 얽매지 않는다우리는 새로운 아이디어를 실행에 옮길 때, 오랜 시간 동안 오해를 받을 준비도 되어 있다.

리더는 팀에 혁신과 창조를 요구해야 하며, 늘 심플한 방법이 없는지를 모색해야 한다. 상황의 변화를 예의주시하고, 모든 곳에서 새로운 아이디어를 찾아내야 한다. 본인들이 만들어낸 것에 국한된 이야기가 아니다. 리더는 새로운 아이디어를 실행하는 데 있어 오랜 기간에 걸쳐 외부에 오해를 살 수 있는 일이더라도 그것을 받아들여야 한다

리더는 그들의 팀이 발명(invention)하고 혁신(innovation)하기를 기대하고 요구하며, 단순화시킬 방법을 찾는 노력을 잠시도 멈추지 않는다. 또한 리더는 조직 외부의 상황에도 아주 밝아 모든 곳으로부터 새로운 아이디어를 얻는다. 뿐만 아니라 사고방식에 구애를 받지 않는다. 오히려 리더들은 오랜 시간 동안 오해 받을 상황을 무릅쓰고 두려움 없이 혁신에 뛰어든다.

Invent and Simplify

Leaders expect and require innovation and invention from their teams and always find ways to simplify. They are externally aware, look for new ideas from everywhere, and are not limited by “not invented here". As we do new things, we accept that we may be misunderstood for long periods of time.

4. 리더는 정확하고 옳아야 한다

항상 옳지는 않아도, 대부분 옳다. 리더들은 뛰어난 사업적 판단력을 보유하고, 자신의 목표는 물론이고 성공을 측정하는데 사용되는 지표들을 더없이 명확히 밝힘으로써 다른 사람들에게 자신의 뛰어난 판단력을 전파한다.

리더는 모든 상황에 올바르게 판단해야 한다. 강력한 판단력과 더불어 경험에 기반을 둔 직감을 갖추어야 한다. 다양한 사고방식을 추구하고, 자신의 생각을 반증하는 데 거리낌이 없어야 한다.

리더는 대부분 올바른 판단을 한다. 그들은 좋은 본능적 감각으로 훌륭한 판단을 한다. 그들은 다양한 관점을 추구하며, 그들의 신념에 대해 반증하는 것도 마다하지 않습니다.

Are Right, A Lot

Leaders are right a lot. They have strong judgment and good instincts. They seek diverse perspectives and work to disconfirm their beliefs.

5. 자기계발 : 배우고 호기심을 가져라

리더에게 배움의 끝이란 없으며 리더는 항상 스스로를 발전시킬 방법을 찾아야 한다. 리더는 새로운 가능성에 강렬한 호기심을 갖고 가능성을 탐구하기 위해 행동한다.

리더는 끊임없이 배우고 자기 자신을 향상해야 한다. 새로운 가능성에 호기심을 갖고 실제로 그것을 행동으로 옮겨야 한다.

Learn and Be Curious

Leaders are never done learning and always seek to improve themselves. They are curious about new possibilities and act to explore them.

6. 최고를 채용하고 육성하라

리더는 모든 채용과 승진에 있어 성과 기준을 높인다. 리더는 특별한 인재를 알아보는 눈이 있고 조직 전반에 그들을 능동적으로 배치한다. 또한 리더는 미래의 리더들을 육성할 뿐 아니라, 다른 사람들을 올바른 방향으로 이끄는 코치로서의 역할에 최선을 다한다.

리더는 모든 채용과 승진에 참고가 되는 성과의 기준을 끌어올려야 한다. 뛰어난 재능을 가진 인재를 발굴해서, 조직 전체를 위해 능동적으로 활용해야 한다. 리더는 다른 리더를 육성하고 지도하는 데 진지하게 노력해야 하며 모든 구성원을 위해 새로운 성장 매커니즘을 창출해야 한다.

Hire and Develop the Best

Leaders raise the performance bar with every hire and promotion. They recognize exceptional talent, and willingly move them throughout the organization. Leaders develop leaders and take seriously their role in coaching others. We work on behalf of our people to invent mechanisms for development like Career Choice.

7. 최고의 기준을 고집하라

리더는 많은 사람들이 터무니없이 높다고 생각할 만큼 높은 기준을 세운다. 하지만 여기서 그치지 않고, 그들은 기준을 끊임없이 끌어올리고 자신의 팀이 제품과 서비스 그리고 프로세스의 품질 수준을 지속적으로 향상시키도록 이끈다. 뿐만 아니라 리더는 조직이 높은 기준을 유지할 수 있도록, 아무리 적은 숫자라도 품질 관리 프로세스에서 걸러지지 않은 불량품이 생산되지 않도록 최선을 다하며 문제들을 해결한다.

리더는 남들이 터무니없다고 생각할 정도로 높은 수준을 추구해야 한다. 끊임없이 본인이 추구하는 수준을 끌어올려야 하고, 팀이 더욱 품질 높은 제품과 서비스, 프로세스를 실현할 수 있도록 촉구해야 한다. 리더는 결함 있는 제품을 다음 공정으로 내보내서는 안 되며, 문제를 확실히 해결하여 같은 문제가 재차 발생하지 않도록 개선책을 마련해야 한다.

Insist on the Highest Standards

Leaders have relentlessly high standards - many people may think these standards are unreasonably high. Leaders are continually raising the bar and drive their teams to deliver high quality products, services and processes. Leaders ensure that defects do not get sent down the line and that problems are fixed so they stay fixed.

8. 크게 생각하라

협소한 관점으로 생각하는 것은 자기 충족적 예언이다. 아마존의 리더는 구체적인 결과를 만들어내는 대담한 목표점을 제시하고, 그 목표점을 널리 알리며 팀을 그 방향으로 이끈다. 그들은 다르게 생각하고, 고객을 섬기기 위한 최선의 방법을 찾아서 구석구석 살피고 또 살핀다.

좁은 시야로 생각하면 커다란 결과를 얻을 수 없다. 리더는 대담한 방침과 방향성을 마련하고 제시함으로써 성과를 끌어내야 한다. 고객에게 이바지하기 위해 기존과 다른 새로운 관점에서 모든 가능성을 모색해야 한다.

Think Big

Thinking small is a self-fulfilling prophecy. Leaders create and communicate a bold direction that inspires results. They think differently and look around corners for ways to serve customers.

9. 신속하게 판단하고 행동하라

리더는 계산된 위험 감수를 가치 있게 생각한다. 비즈니스에서는 속도가 생명이다. 많은 결정과 행동은 되돌릴 수 있고, 광범위한 연구가 꼭 필요하지도 않다. 고로 확신이 없을 때는 우선 시도하라. 자신의 분야에서 첫번째 사람이 됨으로써 얻을 수 있는 기회를 최대한 활용하라.

비즈니스는 속도가 생명이다. 대부분의 의사결정과 행동은 나중에 바로잡을 수 있으므로 거창한 분석과 검토는 불필요하다. 리더는 예측 가능한 위험을 감수하는 것도 중요하다.

행동을 위한 편중

Bias for Action

Speed matters in business. Many decisions and actions are reversible and do not need extensive study. We value calculated risk taking.

10. 근검절약을 실천하라

리더는 고객들에게 중요한 영향을 주지 않는 일에는 돈을 쓰려고 하지 않는다. 근검절약은 독창성을 드높이고, 자급자족 능력을 키우며 발명을 낳는다. 머릿수를 늘리고 예산을 올린다고 가산점이 주어지지는 않는다.

리더는 더 적은 자원으로 더 많은 것을 실현해야 한다. 절약 정신은 창의적 아이디어, 자립심, 발명을 만들어내는 원천이다. 직원 수, 예산, 고정비는 많다고 좋은 것이 아니다.

Frugality

Accomplish more with less. Constraints breed resourcefulness, self-sufficiency and invention. There are no extra points for growing headcount, budget size or fixed expense.

11. 신뢰를 얻어라

리더는 진실로 열린 마음을 갖고, 진심을 다해 경청하며, 겸손의 마음으로 자신의 가장 큰 신념을 시험한다. 그들은 솔직하고, 그래서 주변 사람들을 신뢰할뿐 아니라 주변 사람들의 신뢰를 얻을 수 있다.

리더는 주의 깊게 듣고, 솔직하게 말하며, 구성원을 존경심으로 대해야 한다. 잘못이 있다면 내키지 않더라도 솔직하게 인정해야 하며, 자신과 팀의 잘못을 그냥 넘어가서는 안 된다. 항상 자신과 팀을 최고 수준에서 비교 평가해야 한다.

Earn Trust

Leaders listen attentively, speak candidly, and treat others respectfully. They are vocally self-critical, even when doing so is awkward or embarrassing. Leaders do not believe their or their team’s body odor smells of perfume. They benchmark themselves and their teams against the best.

12. 깊게 파고들어라

리더는 모든 수준의 업무에 관여하고 매순간 세부사항을 파악하고 있을뿐 아니라 세부사항을 자주 점검한다. 그들에게 중요하지 않은 업무란 없다. 특정 프로세스의 가장 기본적인 사항까지 깊이 파고들어야만, 기회를 포착할 수 있고 문제가 손 쓸 수 없을 만큼 악화되기 전에 미리 해결할 수 있음을 알기 떄문이다.

리더는 모든 수준의 업무에 관여하고, 항상 세부 내용을 파악해 현황을 수시로 감시하며, 지표와 개별 사례가 일치하지 않는다면 의문을 제기해야 한다. 모든 업무에 가치가 있다고 여기고 관심을 기울여야 한다.

Dive Deep

Leaders operate at all levels, stay connected to the details, audit frequently, and are skeptical when metrics and anecdote differ. No task is beneath them.

13. 기개를 가져라 - 반대하되 받아들여라

리더에게는 굳은 신념과 확신이 있다. 어떤 결정에 반대할 때는 비록 불편하고 지치는 한이 있더라도 결정에 대해 정중하게 이의를 제기할 의무가 있다. 아마존의 리더는 결정을 할 때 집단 내부의 단결을 위해 타협하지 않는다. 그러나 논의 끝에 결정이 확정되고 나면 그 결정에 온전히 전념한다.

리더는 찬성할 수 없는 사안에는 정중하게 이의를 제기해야 한다. 번거롭고 피곤하겠지만 예외는 있을 수 없다. 리더는 신념을 가져야 하며 금방 포기해서는 안 된다. 쉽게 타협해 한통속이 되어서는 안 된다. 다만 논의 끝에 일단 결정이 내려졌다면 결정에 전념하고 몰두해야 한다.

자신의 신념에 대한 명확한 기준을 가지고 그에 대한 기개를 가져야 한다. 이를 위해 주장해야 하고 타협하지 않아야 한다. 하지만 어떤 방향이든 결정이 되면 그에 따라 전념한다.

Have Backbone; Disagree and Commit

Leaders are obligated to respectfully challenge decisions when they disagree, even when doing so is uncomfortable or exhausting. Leaders have conviction and are tenacious. They do not compromise for the sake of social cohesion. Once a decision is determined, they commit wholly.

14. 구체적인 성과를 내라

리더는 자신의 업무에서 핵심적인 산출물에 초점을 맞추고 적절한 시기에 적절한 품질의 결과물을 낸다. 리더는 어려움이 닥쳐도 잘 대처하고 절대 안주하지 않는다.

리더는 비즈니스상의 핵심 투입에 초점을 맞추고, 이를 신속하게 실행해 결과를 내야 한다. 설령 어려운 일이 생기더라도 당당하게 맞서야 하며 결코 타협해서는 안 된다.

Deliver Results

Leaders focus on the key inputs for their business and deliver them with the right quality and in a timely fashion. Despite setbacks, they rise to the occasion and never settle.




출처:  https://www.amazon.jobs/principles  
https://m.blog.naver.com/playautocorp/221241097750   
https://books.google.co.kr/books?id=teZ1DwAAQBAJ&lpg=PP1&hl=ko&pg=PT301#v=onepage&q&f=false


#Amazon #AWS #14계명 #리더십


https://www.estsecurity.com/securityCenter/commonSense/view/1301


PC일반

 

VRF(Virtual Routing and Forwarding)란 무엇인가요?

2017-04-24

인터넷 프로토콜 기반의 네트워크에서의 가상 라우팅과 포워딩(VRF)이란 하나의 라우터를 여러 개 가상 라우팅 도메인으로 나누어, 하나의 물리적 네트워크를 여러 개 프로토콜을 가진 논리적 네트워크로 구성하는 ‘네트워크 가상화’를 제공하는 기술입니다.


각 라우팅 인스턴스들이 독립적이기 때문에 동일한 또는 오버래핑된 IP 주소들이 충돌하지 않고 사용될 수 있으며, 네트워크 경로가 라우터에 의해 별도의 가상 네트워크로 분리되므로 네트워크 보안이 향상됩니다.


또한 이 기술을 통해 인터넷 서비스 제공자는 별도의 VPN을 제공할 수도 있습니다.


'Cloud > Softlayer' 카테고리의 다른 글

IPMI Log 가져오기  (0) 2019.04.15
Windows 2016 Language Pack 설치가 안될 때  (0) 2018.09.10
Global IP setting  (0) 2018.07.08
SuperMicro 보드 Turbo Boost 켜기  (0) 2018.06.28
Numa 불균형 테스트 해보기  (0) 2018.06.17
Softlayer의 글로벌 IP는 40개 DC 어디에 있는 서버에 라도 할당 가능하다. 
서버를 다른 DC에 지정할 경우 30초~1분가량 후 바로 이전 된다. 
사용자는 가장 가까운 센터로 접속하고 이후 라우팅은 Softlayer 내부망을 사용하기 때문에 글로벌 네트워크 가속 효과가 있다. 
(단, 사용자->서버만 그렇하며, 서버->사용자 는 일반 Routing과 동일하다. Softlayer는 서버의 DC는 알지만, 사용자 위치는 모르므로 당연하다. ) 

1. 포털에서 Global IP를 구매한다. 
2. Global IP메뉴에서 가서 Global IP를 할당할 서버를 지정한다. 
3. 해당 서버로 로그인 해서 해당 IP를 eth1 서브 인터페이스로 추가한다.


SuperMicro 보드 Turbo Boost 켜기

https://www.supermicro.com/support/faqs/faq.cfm?faq=21555

Question
How do I enable Turbo mode to get the maximum Turbo mode speed on my X10DRi motherboard?
Answer
Please make sure the following settings are correct:

1. Please make sure all cores are enabled: Advanced >> CPU Configuration >> Core enabled >> “0” to enable all cores.


2. Under the Bios setup go to: Advanced >> CPU Configuration >> Advanced Power Management and make sure the setting are as follows: 
Power Technology >> Custom

Energy performance Tuning >> disable

Energy performance BIAS setting >> performance

Energy efficient turbo >> disable


3. Then go to Advanced >> CPU Configuration >> Advanced Power Management >> CPU P state control and make sure the settings are as follows 
EIST (P-States) >> Enable

Turbo mode >> enable

P-state coordination >> HW_ALL


4. Then Advanced >> CPU Configuration >> Advanced Power Management >> CPU C state control and make sure the setting are as follows. 
Package C-state limit >> C0/C1 state

CPU C3 Report >>disable

CPU C6 report >> enable

Enhanced Halt state >> disable





5. Save the changes and exit and now you should be able to get the Max Turbo mode speed. 



Lenovo는 디폴트 ON임.

nginx에서 Lua 쓸 일이 생겨서 OpenResty를 그냥 사용하기로 했다.

CentOS7

yum install -y yum-utils
yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo
yum install -y openresty
systemctl enable openresty
systemctl start openresty

Ubuntu

wget -qO - https://openresty.org/package/pubkey.gpg | apt-key add - ( ubuntu)
apt install -y software-properties-common
add-apt-repository -y "deb http://openresty.org/package/ubuntu $(lsb_release -sc) main" (ubuntu)
apt update



테스트 서버 스펙 Intel Xeon Gold 6140 : 18Core CPU x 2 EA = 18 core x 2 hyperthread x 2 EA = 72 Logical Processers

4가지 케이스

loop.vbs : 무한루프를 돌려서 CPU 100%를 만드는 프로세스

numa.cmd : 개수를 입력 받아 그 수만큼 서버의 numa 별로 프로세스를 실행하는 배치파일


시나리오 

  • 36개 프로세스 실행 + numa 분배 없이 실행 =>  numa 쏠림 현상 발생
  • 36개 프로세스 실행 + numa 분배 하면서 실행 =>  numa 쏠림 없음
  • 72개 프로세스 실행 + numa 분배 없이 실행 =>  numa 쏠림 현상 발생, Application 지연 발생
  • 72개 프로세스 실행 + numa 분배 하면서 실행 =>  numa 쏠림 없음, Application 지연 없음.


32개 

loop.vbs
While True
Wend
numa.cmd
@echo off
if defined verbose echo on 
setlocal enableextensions enabledelayedexpansion

if "%1"=="" (
     echo Usage: %0 ^
     goto end
) else (
     set ProcessCount=%1
)

set /a ProcessCountMinusOne=%ProcessCount% - 1
set /a NumberOfNumaNodes=%HighestNumaNodeNumber% + 1
set end=%ProcessCountMinusOne%

for /L %%p in (0, 1, %end%) do (
     set /a node=%%p %% %NumberOfNumaNodes%
echo start /node !node! cscript loop.vbs
     start /node !node! cscript loop.vbs
)
:end


'Cloud > Softlayer' 카테고리의 다른 글

Global IP setting  (0) 2018.07.08
SuperMicro 보드 Turbo Boost 켜기  (0) 2018.06.28
NAT 서버 설정 - CentOS 7기준  (0) 2018.06.03
ICOS를 Linux file system에 마운트 해보기  (0) 2018.05.25
Softlayer BIOS Performance Setting  (0) 2018.05.15

userdata가 든 파일명이 user-data.web이라면


간단하게는  

user_data = "${file('user-data.web')}"

혹시, 작은 따옴표건으로 에러가 난다면 아래처럼 큰 따옴표로 바꿔본다. (신기하게도 난 아래게 정상 동작했다)

user_data = "${file("user-data.web")}"

terraform plan을 해보면 실제 파일의 내용이 대신 들어가 있다. 


복잡하게는 

resource "template_file" "web-userdata" {
    filename = "user-data.web"
}
resource "aws_launch_configuration" "webfarm" {
    name = "web_config"
    image_id = "ami-c5b7d8b2"
    instance_type = "t2.micro"
    security_groups = ["${aws_security_group.web-instance.id}"]
    user_data = "${template_file.web-userdata.rendered}"
}


'Cloud' 카테고리의 다른 글

DNS Cache  (0) 2019.06.12
cloud-init example  (0) 2018.06.13
Magic Quadrant for IaaS, Worldwide  (0) 2018.05.29

+ Recent posts