Expert opinion

CI/CD: How to Minimize Risks and Accelerate Development

447
3 minutes

Sergey Zinkevich

CI/CD has been trending over the recent years, though many remain skeptical about this practice. To gain greater insight into CI/CD, we will describe this practice and its use cases.

Gadget influence
CI/CD stands for Continuous Integration and Continuous Delivery.

The CI/CD provides a unified automated software pipeline from development to deployment thus alleviating pains that developers of any profile or industry may suffer. We use this methodology in our development projects to improve testing cost efficiency and quickly spot functionality errors. Though there are those – Gartner, for example – who see nothing but hype in this practice, but we, doers, believe that CI/CD is an actionable approach of the future.

Active employment of the methodology was triggered by wide adoption of gadgets that ramped up the number of all kinds of their software. A new client application is created every day, if not every hour. The numbers tell the story of app stores' recent years well: in 2018, the number of apps in Google Play increased by a third, amounting to 3.6 million. This inevitably changed the software development speed criteria globally. Needless to say that coding a smartphone app is absolutely different from developing a system of operational banking day for a very specific credit organization. Previously, a programmer team spent months, if not years to develop, deploy, and debug such a system. Today, a customer wants its business to make a quantum leap just like apps on its personal gadget are updated. Without CI/CD any acceleration would result in such a "raw" banking day system that it could jeopardize banking operations – the core business.

Obviously, the gap between expectations and reality could not last forever, because sooner or later, this situation would reach a breaking point. Therefore, the market kicked up IT industry to invent CI/CD, a practice allowing to eliminate numerous errors during software development through complete automation: product teams write code independently from one another and send the code to a version control system, and then the code is automatically assembled, installed on a test bench, and tested. After that, a tester gets super usable results. A similar automated work algorithm is used when a system is deployed in the production environment, which brings us to Continuous Integration (CI).

Automated deployment
Continuous Delivery (CD) helps find bugs and automate deployment to deliver new releases automatically, without manual installation. This approach dramatically accelerates time to market, therefore, those providing services to thousands or even millions of users truly appreciate it. In other words, developers are offered a tool kit to roll out updates using special processes rather than manually. Moreover, they can quickly roll everything back if something goes wrong. DevOps engineers play a special role here, as they are responsible for organizing and streamlining the delivery processes of new releases – a delicate line between operation and development – and usually have experience in both.

CI/CD have already influenced the change of both software architecture and approach to IT development organization itself. Vendors work faster and better. Months' work is now done within days, without sacrificing product quality. Therefore, CI/CD is not about hype. It's about breaking through to a new reality.

2 february 2022
Choosing the Securest IaaS
Infrastructure as a Service (IaaS) has been really taking off with the modest early rise of about 20% followed by a head-spinning increase of more than 40% during the pandemic. Cloud security is, however, open to debate, even despite experts' arguments that there is no reason for concern.
8 minutes
26
31 january 2022
Managed Services vs PaaS: Pros and Cons
The cloud market is trending towards simplifying solutions for end users. The most compelling evidence is PaaS, estimated to experience a 20-30% revenue growth over the past year. However, it's not a panacea at the moment.
5 minutes
115
28 december 2021
Why Do Companies Use Clouds? Evolution of customer needs over the past six months

The end of the year is the time to sum everything up, so we decided to analyze the most remarkable trends of the last two quarters. You might wonder "why this very period but not the whole year?" Here's the answer: starting with the second half of 2021, the worsening chip crisis has extended to almost all the economy sectors. Our research was aimed at evaluating the impact of the chip shortage on cloud business.

4 minutes
88
17 december 2021
How Business can Benefit from Microservices

When competition intensifies, time-to-market (TTM) begins to dominate. TTM is the time it takes to make any product or improvement available for sale. Actually, it can also be a feature that accelerates page loading, improves website and app usability, or increases cross-selling.


5 minutes
25
28 june 2021
The Economic Feasibility of Clouds: Factors Not to Be Missed

Despite the Russian cloud market growing by more than 20% annually and cloud services successfully entering almost all economic sectors, users still have different opinions on whether it pays to opt for HaaS or outsourcing.

9 minutes
94
26 may 2021
How to Move to New Data Center and Avoid Losing Data?
Cloud services gain in popularity every year. In our estimates, some 70% of large Russian companies have used the cloud or other services based on commercial data centers, at least once. This consumption model has always been good for rapid data transfer from local to the provider’s infrastructure, enabling similarly fast service termination if it is not needed anymore.
4 minutes
117
scrollup