AWS CodeCommit, CodeDeploy & CodePipelineJulien SIMON
The document summarizes AWS Code services for automating the development lifecycle including CodeCommit for source control, CodePipeline for continuous delivery, and CodeDeploy for automated deployments. It describes how these services work together to enable microservices architectures and continuous delivery practices for deploying updates with no downtime. Examples are provided of how to set up a delivery pipeline using these AWS Code services to connect development tools and deploy changes from testing to production environments.
by Jeet Shangari, Sr. Technical Account Manager, AWS
Software release cycles are now measured in days instead of months. Cutting edge companies are continuously delivering high-quality software at a fast pace. In this session, we will cover how you can begin your DevOps journey by sharing best practices and tools used by the engineering teams at Amazon. We will showcase how you can accelerate developer productivity by implementing continuous Integration and delivery workflows. We will also cover an introduction to AWS CodeStar, AWS CodeCommit, AWS CodeBuild, AWS CodePipeline, AWS CodeDeploy, AWS Cloud9, and AWS X-Ray the services inspired by Amazon's internal developer tools and DevOps practice. Level 200
goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020AWSKRUG - AWS한국사용자모임
The document discusses deployment best practices and introduces goployer, an open source deployment tool. It summarizes key aspects of infrastructure as code and modern deployment approaches like blue/green and canary deployments. Goployer supports immutable infrastructure, deployment as code, measurement and testing to enable cost effective and simple deployments. The DevOps Art project aims to share infrastructure code, develop open source tools like Terraform and goployer, and conduct online workshops to foster a proper conceptual understanding of DevOps philosophy and ideal implementations based on that philosophy.
Continuous Delivery with AWS Lambda - AWS April 2016 Webinar SeriesAmazon Web Services
Managing the deployment of code to multiple AWS Lambda functions and updating your API Gateway methods can be manual and time consuming.
In this webinar, we will show you how to build a deployment pipeline to AWS Lambda using AWS CodePipeline. We will discuss how to use versioning, allowing you to better manage the different variations of your Lambda function and API Gateway methods in your development workflow, such as development, staging, and production. We will walk through how to automate the entire release process of your application from development to staging and finally to production, performing automated integration tests at each stage.
Learning Objectives:
Understand the basics of AWS CodePipeline
Learn how to version AWS Lambda functions and API Gateway methods
Build a deployment pipeline to AWS Lambda
AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌BESPIN GLOBAL
지난 11월 Bespin Gaming Day 행사의 발표 자료를 통해 AWS에서 컨테이너를 활용하는 방법을 알아보겠습니다.
AWS에서는 사용 목적에 따라 다양한 컨테이너 서비스를 제공합니다.
- Management 스케쥴링, 스케일링, 배포, 전략: Amazon ECS, Amazon EKS
- Hosting 컨테이너가 수행되는 곳: Amazon EC2, AWS Fargate
- Image Registry 컨테이너 이미지 저장소: Amazon ECR
컨테이너 및 쿠버네티스 관련 서비스 중 Amazon EKS, Amazon ECS, AWS Fargate에 대해 보다 자세히 살펴보실 수 있습니다.
마이크로서비스 스타일로 만들어진 시스템을 모노리틱 스타일로 이관한 사례와 함께 스프링을 이용해 모듈형 모노리스(modular monoliths)를 만든 경험을 바탕으로 모노리틱/마이크로서비스 보다 본질적인 문제를 제기하고, 문제 해결을 위한 아이디어와 코드를 공유합니다.
https://github.com/arawn/building-modular-monoliths-using-spring
이 자료는 2019년 KSUG 세미나에서 진행한 "잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다"를 기반으로 몇가지 내용을 추가하고, 전개 방식을 다듬어 조금 더 친절하게 만들어졌습니다.
AWS CodeCommit, CodeDeploy & CodePipelineJulien SIMON
The document summarizes AWS Code services for automating the development lifecycle including CodeCommit for source control, CodePipeline for continuous delivery, and CodeDeploy for automated deployments. It describes how these services work together to enable microservices architectures and continuous delivery practices for deploying updates with no downtime. Examples are provided of how to set up a delivery pipeline using these AWS Code services to connect development tools and deploy changes from testing to production environments.
by Jeet Shangari, Sr. Technical Account Manager, AWS
Software release cycles are now measured in days instead of months. Cutting edge companies are continuously delivering high-quality software at a fast pace. In this session, we will cover how you can begin your DevOps journey by sharing best practices and tools used by the engineering teams at Amazon. We will showcase how you can accelerate developer productivity by implementing continuous Integration and delivery workflows. We will also cover an introduction to AWS CodeStar, AWS CodeCommit, AWS CodeBuild, AWS CodePipeline, AWS CodeDeploy, AWS Cloud9, and AWS X-Ray the services inspired by Amazon's internal developer tools and DevOps practice. Level 200
goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020AWSKRUG - AWS한국사용자모임
The document discusses deployment best practices and introduces goployer, an open source deployment tool. It summarizes key aspects of infrastructure as code and modern deployment approaches like blue/green and canary deployments. Goployer supports immutable infrastructure, deployment as code, measurement and testing to enable cost effective and simple deployments. The DevOps Art project aims to share infrastructure code, develop open source tools like Terraform and goployer, and conduct online workshops to foster a proper conceptual understanding of DevOps philosophy and ideal implementations based on that philosophy.
Continuous Delivery with AWS Lambda - AWS April 2016 Webinar SeriesAmazon Web Services
Managing the deployment of code to multiple AWS Lambda functions and updating your API Gateway methods can be manual and time consuming.
In this webinar, we will show you how to build a deployment pipeline to AWS Lambda using AWS CodePipeline. We will discuss how to use versioning, allowing you to better manage the different variations of your Lambda function and API Gateway methods in your development workflow, such as development, staging, and production. We will walk through how to automate the entire release process of your application from development to staging and finally to production, performing automated integration tests at each stage.
Learning Objectives:
Understand the basics of AWS CodePipeline
Learn how to version AWS Lambda functions and API Gateway methods
Build a deployment pipeline to AWS Lambda
AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌BESPIN GLOBAL
지난 11월 Bespin Gaming Day 행사의 발표 자료를 통해 AWS에서 컨테이너를 활용하는 방법을 알아보겠습니다.
AWS에서는 사용 목적에 따라 다양한 컨테이너 서비스를 제공합니다.
- Management 스케쥴링, 스케일링, 배포, 전략: Amazon ECS, Amazon EKS
- Hosting 컨테이너가 수행되는 곳: Amazon EC2, AWS Fargate
- Image Registry 컨테이너 이미지 저장소: Amazon ECR
컨테이너 및 쿠버네티스 관련 서비스 중 Amazon EKS, Amazon ECS, AWS Fargate에 대해 보다 자세히 살펴보실 수 있습니다.
마이크로서비스 스타일로 만들어진 시스템을 모노리틱 스타일로 이관한 사례와 함께 스프링을 이용해 모듈형 모노리스(modular monoliths)를 만든 경험을 바탕으로 모노리틱/마이크로서비스 보다 본질적인 문제를 제기하고, 문제 해결을 위한 아이디어와 코드를 공유합니다.
https://github.com/arawn/building-modular-monoliths-using-spring
이 자료는 2019년 KSUG 세미나에서 진행한 "잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다"를 기반으로 몇가지 내용을 추가하고, 전개 방식을 다듬어 조금 더 친절하게 만들어졌습니다.
Run your Appium tests using Docker Android - AppiumConf 2019Sargis Sargsyan
In this high technology times, it is really hard to catch up with everything. Especially for the mobile world when there are thousands of mobile devices with different modification of the Android OS. Most of us who work in the mobile testing industry familiar with Appium framework for a UI automation and also aware of complicate setup and hard maintenance of it. Using Docker in Android UI automation is making our life much easier. Docker-Android is a docker image built to be used for everything related to Android mobile website or application testing. All the tools needed (devices, framework, Android SDK etc.) are packaged in the image. It is free and open source and supports other features such as video recording.
In this session, we will talk about the advantages and disadvantages of Appium and docker-android will go throw getting started with Docker-Android and run sample tests against it.
Ronan Guilfoyle gave a presentation on Amazon Lightsail. Lightsail is a service that makes it easy to launch virtual private servers with one-click. It offers preconfigured instances, persistent storage, networking, and a simple interface to manage resources. Lightsail provides a low-cost option for hosting websites, applications, and development/test environments. Users can also connect Lightsail instances to other AWS services like databases, containers, and analytics through VPC peering or public endpoints.
AWS Lambda를 통해 서버리스 애플리케이션을 실행하는 경우, 애플리케이션 성능 문제를 효과적으로 진단하는 방법이 필요합니다. 본 세션에서는 분산 애플리케이션 성능 문제 발생 위치를 파악하고 디버깅 할 수 있는 추적 서비스인 AWS X-Ray를 소개합니다. X-Ray를 사용한 동적 스택 추적 및 디버깅, 호출에 대한 시각적 그래프를 사용하여 서버리스 애플리케이션을진단하는 방법을 설명합니다..
Infrastructure is code with the AWS CDK - MAD312 - New York AWS SummitAmazon Web Services
The AWS Cloud Development Kit (AWS CDK) is a multi-language, open-source framework from AWS that enables developers to harness the full power of modern programming languages to define reusable cloud components and provision applications built from those components using AWS CloudFormation. In this session, we quickly cover the basic concepts of the AWS CDK. We then develop an application using the AWS CDK. We show you how to use the AWS CDK to quickly assemble your AWS infrastructure using the new Python CDK that launched earlier this year. We explore the AWS Construct Library and show you how easy it is configure your cloud resources, manage permissions, connect event sources, and even build and publish your own constructs. Join us for a fun session with a heavy emphasis on live coding.
The document introduces Docker, a container platform. It discusses how Docker addresses issues with deploying different PHP projects that have varying version requirements by allowing each project to run isolated in its own container with specified dependencies. It then covers key Docker concepts like images, containers, linking, exposing ports, volumes, and Dockerfiles. The document highlights advantages of Docker like enabling applications to run anywhere without compatibility issues and making deployment more efficient.
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...Amazon Web Services Korea
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스
정영준 솔루션즈 아키텍트, AWS
유현성 수석, 삼성전자 클라우드팀
다양한 AWS 아키텍처 적인 요소들을 적용한 구체적인 사례들에 대해서 소개합니다. 삼성전자에서 2년동안 만든 공통 플랫폼 기반 개발자 포털의 아키텍처와 개발 스토리 그리고 SRE(Site Reliability Engineering) 적용 등에 대한 이야기를 직접 들어보며, 수백만 명의 모바일 사용자에게 사진을 공유하는 애플리케이션을 운영하는 서비스, 테라바이트 이상의 데이터가 다양한 소스에서 들어 올 때 실시간으로 분석하기 위한 아키텍처들에 대해서도 알아봅니다. 또한 중단 되면 안되는 중요한 비즈니스 운영을 지원하는 서비스나 금융 데이터 같은 민감한 데이터를 다루는 서비스를 운영하는 다른 베스트 프렉티스 아키텍처도 소개합니다.
For more training on AWS, visit: https://www.qa.com/amazon
AWS Loft | London - Amazon Virtual Private Cloud by Andrew Kane, Solution Architect
April 18, 2016
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...Simplilearn
This presentation on Docker Container will help you understand what is Docker, the architecture of Docker, what is a Docker Container, how to create a Docker Container, benefits of Docker Container, basic commands of Containers and you will also see a demo on creating Docker Container. Docker is a very lightweight software container and containerization platform. Docker containers provide a way to run software in isolation. It is an open source platform that helps to package an application and its dependencies into a Docker container for the development and deployment of software and a Docker COntainer is a portable executable package which includes applications and their dependencies. With Docker Containers, applications can work efficiently in different computer environments.
Below DevOps tools are explained in this Docker Container presentation:
1. What is Docker?
2. The architecture of Docker?
3. What is a Docker Container?
4. How to create a Docker Container?
5. Benefits of Docker Containers
6. Basic commands of Containers
Simplilearn's DevOps Certification Training Course will prepare you for a career in DevOps, the fast-growing field that bridges the gap between software developers and operations. You’ll become an expert in the principles of continuous development and deployment, automation of configuration management, inter-team collaboration and IT service agility, using modern DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios. DevOps jobs are highly paid and in great demand, so start on your path today.
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios in a practical, hands-on and interactive approach. The DevOps training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
After completing the DevOps training course you will achieve hands-on expertise in various aspects of the DevOps delivery model. The practical learning outcomes of this Devops training course are:
An understanding of DevOps and the modern DevOps toolsets
The ability to automate all aspects of a modern code delivery and deployment pipeline using:
1. Source code management tools
2. Build tools
3. Test automation tools
4. Containerization through Docker
5. Configuration management tools
6. Monitoring tools
DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
Learn more at https://www.simplilearn.com/cloud-computing/devops-practitioner-certification-training
Cypress is an end-to-end testing framework that focuses on doing testing well through features like time travel debugging, real-time reloads, and automatic waiting. It works on any frontend framework and tests are written in JavaScript alone. Cypress provides an all-in-one solution for developers and QA engineers to set up testing, write Cucumber tests, run and debug tests from a dashboard or command line, and generate reports including screenshots, videos, and JUnit files.
Run your Appium tests using Docker Android - AppiumConf 2019Sargis Sargsyan
In this high technology times, it is really hard to catch up with everything. Especially for the mobile world when there are thousands of mobile devices with different modification of the Android OS. Most of us who work in the mobile testing industry familiar with Appium framework for a UI automation and also aware of complicate setup and hard maintenance of it. Using Docker in Android UI automation is making our life much easier. Docker-Android is a docker image built to be used for everything related to Android mobile website or application testing. All the tools needed (devices, framework, Android SDK etc.) are packaged in the image. It is free and open source and supports other features such as video recording.
In this session, we will talk about the advantages and disadvantages of Appium and docker-android will go throw getting started with Docker-Android and run sample tests against it.
Ronan Guilfoyle gave a presentation on Amazon Lightsail. Lightsail is a service that makes it easy to launch virtual private servers with one-click. It offers preconfigured instances, persistent storage, networking, and a simple interface to manage resources. Lightsail provides a low-cost option for hosting websites, applications, and development/test environments. Users can also connect Lightsail instances to other AWS services like databases, containers, and analytics through VPC peering or public endpoints.
AWS Lambda를 통해 서버리스 애플리케이션을 실행하는 경우, 애플리케이션 성능 문제를 효과적으로 진단하는 방법이 필요합니다. 본 세션에서는 분산 애플리케이션 성능 문제 발생 위치를 파악하고 디버깅 할 수 있는 추적 서비스인 AWS X-Ray를 소개합니다. X-Ray를 사용한 동적 스택 추적 및 디버깅, 호출에 대한 시각적 그래프를 사용하여 서버리스 애플리케이션을진단하는 방법을 설명합니다..
Infrastructure is code with the AWS CDK - MAD312 - New York AWS SummitAmazon Web Services
The AWS Cloud Development Kit (AWS CDK) is a multi-language, open-source framework from AWS that enables developers to harness the full power of modern programming languages to define reusable cloud components and provision applications built from those components using AWS CloudFormation. In this session, we quickly cover the basic concepts of the AWS CDK. We then develop an application using the AWS CDK. We show you how to use the AWS CDK to quickly assemble your AWS infrastructure using the new Python CDK that launched earlier this year. We explore the AWS Construct Library and show you how easy it is configure your cloud resources, manage permissions, connect event sources, and even build and publish your own constructs. Join us for a fun session with a heavy emphasis on live coding.
The document introduces Docker, a container platform. It discusses how Docker addresses issues with deploying different PHP projects that have varying version requirements by allowing each project to run isolated in its own container with specified dependencies. It then covers key Docker concepts like images, containers, linking, exposing ports, volumes, and Dockerfiles. The document highlights advantages of Docker like enabling applications to run anywhere without compatibility issues and making deployment more efficient.
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...Amazon Web Services Korea
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스
정영준 솔루션즈 아키텍트, AWS
유현성 수석, 삼성전자 클라우드팀
다양한 AWS 아키텍처 적인 요소들을 적용한 구체적인 사례들에 대해서 소개합니다. 삼성전자에서 2년동안 만든 공통 플랫폼 기반 개발자 포털의 아키텍처와 개발 스토리 그리고 SRE(Site Reliability Engineering) 적용 등에 대한 이야기를 직접 들어보며, 수백만 명의 모바일 사용자에게 사진을 공유하는 애플리케이션을 운영하는 서비스, 테라바이트 이상의 데이터가 다양한 소스에서 들어 올 때 실시간으로 분석하기 위한 아키텍처들에 대해서도 알아봅니다. 또한 중단 되면 안되는 중요한 비즈니스 운영을 지원하는 서비스나 금융 데이터 같은 민감한 데이터를 다루는 서비스를 운영하는 다른 베스트 프렉티스 아키텍처도 소개합니다.
For more training on AWS, visit: https://www.qa.com/amazon
AWS Loft | London - Amazon Virtual Private Cloud by Andrew Kane, Solution Architect
April 18, 2016
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...Simplilearn
This presentation on Docker Container will help you understand what is Docker, the architecture of Docker, what is a Docker Container, how to create a Docker Container, benefits of Docker Container, basic commands of Containers and you will also see a demo on creating Docker Container. Docker is a very lightweight software container and containerization platform. Docker containers provide a way to run software in isolation. It is an open source platform that helps to package an application and its dependencies into a Docker container for the development and deployment of software and a Docker COntainer is a portable executable package which includes applications and their dependencies. With Docker Containers, applications can work efficiently in different computer environments.
Below DevOps tools are explained in this Docker Container presentation:
1. What is Docker?
2. The architecture of Docker?
3. What is a Docker Container?
4. How to create a Docker Container?
5. Benefits of Docker Containers
6. Basic commands of Containers
Simplilearn's DevOps Certification Training Course will prepare you for a career in DevOps, the fast-growing field that bridges the gap between software developers and operations. You’ll become an expert in the principles of continuous development and deployment, automation of configuration management, inter-team collaboration and IT service agility, using modern DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios. DevOps jobs are highly paid and in great demand, so start on your path today.
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios in a practical, hands-on and interactive approach. The DevOps training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
After completing the DevOps training course you will achieve hands-on expertise in various aspects of the DevOps delivery model. The practical learning outcomes of this Devops training course are:
An understanding of DevOps and the modern DevOps toolsets
The ability to automate all aspects of a modern code delivery and deployment pipeline using:
1. Source code management tools
2. Build tools
3. Test automation tools
4. Containerization through Docker
5. Configuration management tools
6. Monitoring tools
DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
Learn more at https://www.simplilearn.com/cloud-computing/devops-practitioner-certification-training
Cypress is an end-to-end testing framework that focuses on doing testing well through features like time travel debugging, real-time reloads, and automatic waiting. It works on any frontend framework and tests are written in JavaScript alone. Cypress provides an all-in-one solution for developers and QA engineers to set up testing, write Cucumber tests, run and debug tests from a dashboard or command line, and generate reports including screenshots, videos, and JUnit files.
이번 월간 웨비나에서는 AWS 클라우드를 통해 어떻게 손쉽게 소프트웨어를 개발하고, 배포하는 과정을 자동화 할 수 있는지를 알아 봅니다. 이를 위해 Amazon.com의 소프트웨어 개발 과정 상의 경험과 이를 토대로 만들어진 AWS CodeDeploy와 CodePipeline 서비스를 소개해 드리고, 이를 통해 EC2 인스턴스 뿐만 아니라 기존 서버에 손쉽게 배포하는 방법을 알려드립니다. 본 세션을 통해 클라우드를 통한 민첩하고 빠른 개발 및 배포를 통해 진화된 데브옵스(DevOps) 프로세스를 정립할 수 있는 방법을 안내해 드립니다.
source : http://www.opennaru.com/cloud/msa/
마이크로서비스는 애플리케이션 구축을 위한 아키텍처 기반의 접근 방식입니다. 마이크로서비스를 전통적인 모놀리식(monolithic) 접근 방식과 구별 짓는 기준은 애플리케이션을 핵심 기능으로 세분화하는 방식입니다. 각 기능을 서비스라고 부르며, 독립적으로 구축하고 배포할 수 있습니다. 이는 개별 서비스가 다른 서비스에 부정적 영향을 주지 않으면서 작동(또는 장애가 발생)할 수 있음을 의미합니다.
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSAVMware Tanzu Korea
최근 IT 시장은 ‘클라우드 네이티브’ 라는 컨셉을 적극적으로 받아들이면서 혁신의 속도를 높이기 위해 여러가지 노력을 기울이고 있습니다. 본 세션에서는 ‘클라우드 네이티브’ 를 이루는 4가지 요소인 DevOps, CICD, Container, MSA 를 간략하게 살펴보고 MSA 가 나머지 클라우드 네이티브 3 요소와 어떻게 상호작용하여 고객 여러분의 비즈니스에 도움이 되는지 알아봅니다. 그리고 MSA 로 이행하기 위한 조직면에서의 요건과 기술 면에서의 요건을 살펴봅니다.
This document is aimed for IT operators and related people to make sense of IT automation. And ansible is just a tool. but engineer can acquire automation skill easily with ansible. no needs to deep dive into tool itself. just use it then your work would be happier.
[애플리케이션 현대화 및 개발] 현대적 애플리케이션 개발의 필수, 앱 배포 및 인프라 구성 자동화 - 김필중, AWS 솔루션즈 아키텍트Amazon Web Services Korea
발표자료 다시보기: https://youtu.be/hmp_wfLLKpc
아이디어의 구현과, 변화에 대한 응답의 속도를 높여 비지니스 향상을 가속화 시키는 것이 그 목적인 현대적 애플리케이션은 주로 서버리스, 컨테이너 등을 활용한 마이크로서비스로 구축됩니다. 이렇게 다양한 관점으로 분리된 마이크로서비스 아키텍처에서는 여러 팀이 독립적으로 개발 및 배포하여 발빠르게 비지니스 요구사항을 만족시키는 것이 일반적입니다. 이를 위한 기본적인 접근이 앱 배포 및 인프라 구성을 자동화 하는 것입니다. 본 세션에서는 현대적 애플리케이션에서의 앱 배포 및 인프라 구성 자동화의 중요성과 활용할 수 있는 도구 및 전략 등에 대해 알아보고, 당장 적용할 수 있는 방법을 제안하고자 합니다.
designing, implementing and delivering microservices with event storming, spr...uEngine Solutions
Implementing Microservices is something like an adventure. Analyzing and decomposing microservices with applying DDD and make them into code, all is not easy. With new simple approach - Event storming, designing and implementing an event-driven MSA became easier ever seen before.
This document discusses the prototype pattern, which allows the creation of objects based on an existing "prototype" object, rather than based on classes. It covers how prototype pattern works, its structure, use cases and caveats. Examples of implementing prototype pattern in Java and JavaScript are provided to illustrate shallow and deep copying of objects.
The Singleton pattern ensures that only one instance of a class is created and provides a global access point to that instance. It describes how to implement the concept of a singleton class by creating a private constructor, a static method that returns the instance, and a static property that holds the single instance of the class. The document discusses issues that can arise with thread safety when multiple threads simultaneously try to access the singleton instance and provides solutions like using mutex locking to ensure only one thread initializes the instance.
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101) YoungSu Son
모바일 앱 성능 분석 방법에 대해서 설명을 드립니다
- 기존 서버 APM과 모바일에서의 성능 기준의 차이
- 모바일 제약사항및 아키텍처
- 안드로이드는 어떻게 발전해 왔나
- Vectorization
- Loop
- Redex / Optimized Layout
- Garbage Collector
- 제조사가 보장해야 되는 성능
- 개발사가 고민해야 되는 영역
- 실사례 설명
- 갤럭시노트 2의 점유율
- Xiaomi 폰의 국내 4위 시장 점유율
- 여러가지 모바일 성능 리포트
2. - 2 -
DevOps란? (AWS 사이트 참조)
애플리케이션과 서비스를 빠른 속도로 제공할 수 있도록 조직의 역량을 향상시키는
문화 철학, 방식 및 도구의 조합입니다.
이러한 빠른 속도를 통해 조직은 고객을 더 잘 지원하고 시장에서 좀 더 효과적으로
경쟁할 수 있습니다.
6. - 6 -
사용자가 많아도 수익이 별로라면..
저렇게 많은 사용자를 어떻게 견디지??
값 비싼 하드웨어 장비, 오라클.. 을 살수 없는데..
고객이 한국에만 있나? 중국, 미국, 전 세계에 있다면..
대신 저렴하며 비슷한 효과를 낼 만한 것은?
클라우드 서버를 늘려가면서. (Scale Out) + 오픈소스 솔루션으로..
15. - 15 -
DevOps의 모범사례 – NETFLIX 사례 (2017년 기준)
• NEBULA - NETFLIX 빌드를 빠르고, 쉽게 테스트하기 위한 Gradle 플러그인들의 집합체들
• BAKE – Aminator 를 사용함 (커스텀 AMI 를 생성하기위한 툴을 사용)
불변 인프라 (Immutable Infrastructure / server) 를 구성함 (AMI : Amazon Machine Image ) 즉 이미지 형태로 구성되어 배포
• Deployment – Spinnaker 를 사용하여 배포 / 멀티 클라우드를 지원하는 Continuous Delivery Platform으로 오픈소스 하여 제공
Amazon, Azure, GCE, Kubernetes , OpenStack 과 같은 오픈소스 기반의 클라우드 또는 컨테이너 플랫폼을 동시에 지원하여 배포 가능함.
또한 파이프라인을 통해 Smoke Test후 성공 하면 배포, 낮에는 업무를 봐야하니 Nightly Build등이 가능한 상황
• Canary - 전체 다 배포하지 않고, 일부 AMI만 배포를 해서 기존 것과 어떠한 성능 / 안정성 비교 평가 후 점진적 배포 , 아니면 롤백
• Live – 라이브 배포
18. - 18 -
Bake 단계 – 불변 인프라 (Immutable Server – PhoenixServer)
Code가아닌 Image(VM,Docker)를배포함으로써, 버전관리 Diff를체크해버전별패치하는것으로부터 자유로워짐.
19. - 19 -
불변 인프라 (이미지 배포)의
장점 과 케이스 스터디
• 낮은 배포 실패 확률
• 프로세스 다운 타임 없는 레드-블랙 배포와 릴리즈
• 원자성 (배포 되거나 롤백되거나.)
• 일관된 STG 환경과 쉬운 Scale Out
• 모든 서버가 동일한 생성 프로세스 사용 (특이
배포케이스가 없다)
• Seamless 하게 서버를 추가하여 Scale Out이 매우 용이
• 간단한 롤백과 복구 프로세스
• 이미지 이력을 보관하여 사용
• 적용 사례 (Netflix 외..)
• CodeShip - https://blog.codeship.com/immutable-
infrastructure/
• Chef - https://blog.chef.io/2014/06/23/immutable-
infrastructure-practical-or-not/
• Koddi - https://www.koddi.com/developing-with-an-
immutable-infrastructure/
• Fugue -
https://www.fugue.co/assets/docs/Immutable_Infrastructure
_Fugue.pdf
• 참조 - https://www.digitalocean.com/community/tutorials/what-
is-immutable-infrastructure
34. - 34 -
점진적 배포 – Red / Black Push
1. Baseline Amazon Instance가 배포/작동중인 경우
2. Baseline AMI 의 10% 정도만 다음 버전 AMI Live 생성후 배포.
새로운 버전의 안정성 체크.
안정화 검증되면 새 버전 인스턴스 100대 만들기
3. 기존 버전 (Baseline AMI) 정지 시킴 Black,
그러니 새 버전만 작동 RED .
이 상황이 RED/Black
4. 구 버전 AMI 내려버림
새로운 버전의 AMI만 남게함
API ASG
v1
AMI 123
API ASG
v1
AMI 123
API ASG
v2
AMI 456
API ASG
v1
AMI 123
API ASG
v2
AMI 456
API ASG
v2
AMI 456
43. - 43 -
CashSlide 사례 - 모바일 DevOps 흐름도 (BITRISE 사용 사례)
관련 자료 - https://academy.realm.io/kr/posts/continuous-delivery-for-android/
44. - 44 -
모바일 DevOps 현재 흐름도
Commit Building Testing Release
Crash
Report
45. - 45 -
모바일 DevOps 제안 흐름도
Commit Building
Test Auto
Perf Report
Release
Crash
Report
Monitoring
46. - 46 -
더 나은 품질 확보를 위하여.
기존의 모바일 서비스는 출시 전 QA(Quality Assurance)를 통해 개발 관점에서의 사용자 만족도를 높여 왔습니다. 하지만 모바일 서비스의 각 사용자 별 환경에
따른 성능에 대해서는 현재까지도 스토어의 별점 등을 통해 피드백만 받아 온것이 현실입니다. 여기서 중요한 것은 성능의 문제점을 겪은 고객은 점점 해당
서비스의 이탈로 이어진다는 것입니다.
VS.
47. - 47 -
더 나은 품질 확보를 위하여.
기존의 모바일 서비스는 출시 전 QA(Quality Assurance)를 통해 개발 관점에서의 사용자 만족도를 높여 왔습니다. 하지만 모바일 서비스의 각 사용자 별 환경에
따른 성능에 대해서는 현재까지도 스토어의 별점 등을 통해 피드백만 받아 온것이 현실입니다. 여기서 중요한 것은 성능의 문제점을 겪은 고객은 점점 해당
서비스의 이탈로 이어진다는 것입니다.
VS.
48. - 48 -
mTworks - mtworks.skcc.com
(국내 최대 레퍼런스 디바이스 팜 – Android / iOS 140개의 디바이스 제공 )
49. - 49 -
Samsung Remote Test Lab
(삼성 단말만 가능 / 삼성 가전 제품도 일부 제공 – 완전 무료라는 이점)
50. - 50 -
Firebase Test Lab.
(google 이 30~40 개 종류의 디바이스 제공 / 북미 위주의 디바이스 편성)
51. - 51 -
OpenSTF.IO - https://github.com/openstf/stf
(회사내부에 직접 디바이스 Farm 을 구축하고 싶을때. – 안드로이드만 지원)
52. - 52 -
모바일 DevOps 제안 흐름도
Commit Building
Test Auto
Perf Report
Release
Crash
Report
Monitoring
55. - 55 -
주요 수집 데이터
• RL O B C B
• ( / N )
• /
• /
• B A A
• PI M
• BB A
• F
56. - 56 -
어떻게 수집하나?
• ): B + : @ : / :
• -. .A CC : / / B / / C/
A A CC : (
57. - 57 -
Android God Eye - https://github.com/Kyson/AndroidGodEye
58. - 58 -
모바일 DevOps 정리
Commit Building
Test Auto
Perf Report
Release
Crash
Report
Monitoring
59. - 59 -
감사합니다.
Thank you for your interesting.
IMQA 제품에 대한 자세한 문의는 아래로 주세요
어니컴 주식회사 | 서울시 중구 세종대로 21길 22, 태성빌딩 4층 | TEL : 02-541-0080
손영수 상무 (총괄)
ysson@onycom.com
강성민 차장 (영업)
seankang@onycom.com
유영수 주임 (기술)
youngsoo@onycom.com