DEVELOPER BLOG

開発者ブログ

HOME > DEVELOPER BLOG > 【Super Introduction to Agile】What is CI/CD

【Super Introduction to Agile】What is CI/CD

1. Introduction

Hello! I'm Sakamoto, CEO / CTO of Definer! (Click here for my profile)
This time, as the title suggests, I would like to introduce what CI/CD is.
 
Recently, "CI/CD" is getting more and more attention.
What is CI/CD and how does its introduction make things easier in the field?
 
This article is written for those who have heard about CI/CD but only vaguely understand it.
We hope you will deepen your understanding of CI/CD.

2. Agile Development Challenges

In recent years, the business environment has been changing dynamically.
 
In order to adapt to these changes, there has been a shift from traditional waterfall development (a development method in which development processes are carried out in sequence from upstream to downstream) to agile development in the development field.
 
Agile development is a development method in which development, testing, and release (deployment) are repeated in small units, such as by function, on a continuous basis.
 
Agile development lowers the hurdle for changing or adding functions, and allows for flexibility, such as adding functions based on end-user reactions after release.
 
        
 
However, agile development also increases the number of man-hours spent on tasks other than coding, such as testing and deployment.
 
In order for agile development to succeed, it is necessary to create an environment in which non-coding tasks can be made more efficient and the focus can be on the core task of code creation.
 
CI/CD is the solution to this problem.

3. What is CI/CD?

CI/CD is an abbreviation for Continuous Integration / Continuous Delivery.
CI/CD does not refer to a specific technology, but rather to a development methodology that automates testing and deployment tasks.
 
What is CI (Continuous Integration)?
In this case, integration refers to build (the process of creating an executable file based on source code) and testing.
Automated builds and tests continuously check the behavior and quality of the program, allowing for quick modifications.
 
What is Continuous Delivery (CD)?
In this case, delivery is used in the sense of publication or delivery.
In other words, making the application available to users.
Continuous delivery allows for faster development.
 

 
By implementing CI/CD, you can enjoy the following benefits.
 
✅ Reduction of development man-hours
Automation of testing and deployment reduces development time.
Also, engineers can concentrate on their core work, coding.
 
✅ Improved quality
Test automation reduces human error and improves program quality.
It also increases the probability of early detection of bugs and reduces major rework, which is an important aspect of quality assurance.
 
Research shows that the domestic market for DevOps, including CI/CD, will be worth approximately 27 billion yen in 2019, with an annual growth rate of approximately 20%.
Based on the Software Development Data White Paper, it is estimated that testing accounts for about 30-40% of development man-hours, so CI/CD, which can steadily reduce these man-hours, is expected to grow even more.

4. Introduction of well-known CI/CD services

Some examples of well-known CI/CD services are listed below.
 
✅ CircleCI
A SaaS-type CI/CD service that can automatically build, test, and deploy.
It is characterized by extremely fast execution.
 

 
✅ GitHub Actions
GitHub Actions is a SaaS-type CI/CD service provided by GitHub.
Depending on your GitHub usage, you may be able to use the service for free, and in many cases, the hurdle to start using the service is low.
 

 
 
✅ Jenkins
An open source CI/CD service that is installed on servers and other devices.
Since it is not a SaaS type service, security can be made more robust through in-house mechanisms, etc.

 
✅ Azure DevOps
This is the official DevOps service of Microsoft Azure.
It also supports cloud services other than Azure, such as AWS.
 

 
 
✅ AWS CodePipeline, CodeBuild, and CodeDeploy
These are the official services of AWS and are also familiarly known as the Code○ brothers.
 

5. Points to keep in mind when adopting CI/CD

On the other hand, it is also necessary to understand what to be aware of regarding CI/CD when implementing it.
 
✅ Initial cost and man-hours
Especially in the case of agile development, initial man-hours and costs are required because CI/CD mechanisms need to be in place in the early stages of development.
 
✅ Engineering skills
Recruitment and training costs may be incurred because engineers familiar with CI/CD are required.

6. Summary

This article is summarized below.
✅ CI/CD stands for Continuous Integration / Continuous Delivery.
✅ CI/CD does not denote a specific technology, but rather a development methodology that involves automating testing and deployment tasks.
✅ CI stands for continuous automated builds, automated testing, etc.
✅ CD is continuous automated deployment (making an application available to users).

7. Citation/Reference

8. About the proprietary solution "PrismScaler"

✅ PrismScaler is a web service that enables multi-cloud infrastructure construction such as AWS, Azure, and GCP in just 3 steps, without requiring development and operation.
✅ It is a solution that streamlines "automatic construction," "automatic monitoring," "problem detection," and "configuration visualization" related to cloud infrastructures, and takes over the tedious and difficult tasks performed by cloud engineers and SRE/DevOps engineers.
✅ It is intended for a wide range of usage scenarios such as cloud infrastructure construction/cloud migration, cloud maintenance and operation, and cost optimization, and can easily realize more than several hundred high-quality general-purpose cloud infrastructures by appropriately combining IaaS and PaaS.
 

9. Contact us

In "[Introduction to AWS] Gathering Server Information with AWS Application Discovery Service - PrismScaler", useful introductory information is available free of charge.
For consultation and inquiries, please contact "Definer, Inc.

10. Regarding Definer.

✅ Definer Inc provides one-stop solutions from upstream to downstream IT.
✅ We are committed to providing integrated support for advanced IT technologies such as AI and cloud IT infrastructure, from consulting to requirements definition / design development / implementation, and maintenance and operation.
✅ Through DevOps and CI/CD consulting, we realize "creating a mechanism for business growth with fewer engineers," "creating an environment where engineers are happy and easy to hire," and "a fast agile development environment.
✅ PrismScaler is a high-quality, rapid, "auto-configuration," "auto-monitoring," "problem detection," and "configuration visualization" for multi-cloud/IT infrastructure such as AWS, Azure, and GCP.
©️ Definer Inc. All rights reserved.