CI/CD – Devstyler.io https://devstyler.io News for developers from tech to lifestyle Mon, 18 Mar 2024 12:31:22 +0000 en-US hourly 1 https://wordpress.org/?v=6.8.5 CircleCI Releases New Developer Version Control Feature https://devstyler.io/blog/2024/03/18/circleci-releases-new-developer-version-control-feature/ Mon, 18 Mar 2024 12:31:22 +0000 https://devstyler.io/?p=119932 ...]]> CircleCI has announced a new feature that will allow developers to automate version control processes directly from the CircleCI user interface.

“If you look at every other deploy and release vendor on the market, they’re built to service centralized release and operations teams who want tighter control over deploys. But this doesn’t reflect the reality of elite software teams who depend on developers to drive and deliver fast innovation. Our approach to CircleCI releases provides a developer-centric workflow that enables them to ship faster and monitor new features in production coupled with the safety net of quickly rolling back releases if something goes wrong”, said Rob Zuber, CTO of CircleCI.

According to the company, the main advantage of this new feature is that it can give developers more confidence in creating releases, as well as reduce the average time to fix issues.

With ongoing Kubernetes and Amazon SageMaker support, developers now have comprehensive visibility into their production deployments and access to rollback commands (e.g., version recovery, component scaling, and component restart).

Some of the key capabilities that will emerge with CircleCI releases include the ability to link CI/CD to customer experiences, real-time service validation, performance degradation prevention, and more.

The Release Dashboard shows a release history for all components with details for each, a list of release environments, and a list of components and associated projects.

]]>
What is CI/CD and how does it work? https://devstyler.io/blog/2021/12/08/what-is-ci-cd-and-how-does-it-work/ Wed, 08 Dec 2021 17:15:28 +0000 https://devstyler.io/?p=76280 ...]]> The most significant characteristic is the ability to automate your builds, testing, and development so you can ship code changes in a faster and more reliable way.

Automation is a core principle for achieving DevOps success and CI/CD is a critical component. CI/CD comprises continuous integration and continuous delivery or continuous deployment. Put together, they form a “CI/CD pipeline”—a series of automated workflows that help DevOps teams cut down on manual tasks:

Continuous delivery or continuous deployment? Which one is better? 

When using continuous delivery, automation pauses when developers push to production. It automates the entire release process. As soon as all required tests pass, code changes are immediately deployed to the customers.

It is the best example of DevOps automation. Continuous deployment relies on rigorous testing tools and mature testing culture. That’s why most software teams start with continuous delivery and integrate more automated testing over time.

Why choose CI/CD?

It’s simple – speed. Organizations that have “mastered” CI/CD deploy 208 times more often and have a lead time that is 106 times faster than the rest.

Stability and reliability

The codebases remain stable and ready to be released at any time.

Business growth

Once they are freed up from manual tasks, all the organizations can focus resources on development and improvement.

Buzzfeed

CI/CD are made a part of the development workflow with a combination of automated processes, steps, and tools.

Version control

CI begins its work in shared repositories, where teams collaborate on code using version control systems (VCS) which keeps track of code changes. It enables configuration as code, and in this way it allows teams to manage testing, infrastructure, and more as versioned artifacts.

Builds

Those tools package up files and components automatically. Once after clearing all the required checks, CD tools send builds off to the operations team for further testing and staging.

Reviews and approvals

In a CI/CD workflow, a code is being reviewed and approved in pull requests or leveraging integrated development environments for pair programming.

Environments

CI/CD tests and deploys code in environments, where a code is being built by developers. After that, applications become publicly available by operations teams. They have different protection rules and specific variables.

How does it work? 

Firstly, developers have to open pull requests in order to trigger initial builds and unit tests. Secondly, the approved commits are deployed to a preview environment. After that, the mabl CLI is being installed by Custom-built GitHub Actions and run headless tests. Then, live check results are being provided by GitHub Apps. Finally, approved commits are merged to the main branch for additional tests or deployed to production.

Why is CI/CD so successful? 

Automation

It can be done manually, but the automation makes it easier to build, test, and deploy, in order to have more time for coding.

Transparency

If something goes wrong and suddenly a build fails, developers need to be able to quickly assess what went wrong and why. Logs, visual workflow builders, and deeply integrated tooling make it easier for developers to troubleshoot, understand complex workflows, and share their status with the larger team.

Speed

CI/CD helps your overall performance. The speed is being measured based on two indicators. The first one is how quickly commits are made to code in production and the second one is how often you commit code.

Resilience

CI/CD makes the software more resistant to errors. The stability is measured by DORA and its aim is to check how quickly incidents are resolved and change failure rate.

Security

CI/CD pipeline has been checked in place for code and permissions. It provides a virtual paper trail for auditing failures, security breaches, and non-compliance events.

]]>
Is DevOps becoming a cloud-only sport? https://devstyler.io/blog/2021/10/08/is-devops-becoming-a-cloud-only-sport/ Fri, 08 Oct 2021 13:57:00 +0000 https://devstyler.io/?p=72954 ...]]> Google just released its latest DevOps report: “Accelerate State of DevOps 2021.” The report found that respondents who use hybrid or multi-cloud were 1.6 times more likely to exceed their performance targets. These “elite performers,” as summarized in the report, deploy 973 times more frequently than poor performers. Moreover, these elites have a 6,570 times faster lead time to deploy and a three times lower change failure rate. Elites also recover 6,570 times faster from failures if they happen.

According to the report, continuous testing and continuous integration are both markers of success for elite performers. Another key to their success is trunk-based development.

Trunk-based development is a source-control branching model where developers collaborate on code in a single branch, known as the trunk, and restrict their work to within that trunk. The purpose is to streamline merging and integration phases. This development process increases the optimization of continuous integration and continuous delivery (CI/CD) services, which in turn increases software delivery efficiency.

The study also found that elite performers were 3.4 times more likely to execute database change management. That adds database maintenance to the list of critical success factors. Observability was another metric that defined an elite performer. Organizations that leverage observability tools such as AIops are 4.1 times more likely to have solutions that incorporate observability concepts and technology.

What does this all mean?

Here’s the first and most obvious observation: Organizations that use hybrid or multi-cloud are more likely to deploy DevOps best practices and toolchains. In this scenario, the appetite for risk is higher, as are the budgets to experiment with emerging technology such as cloud-based DevOps tools, databases, and observability. The ability to leverage new technology relates directly to the amount of risk and cost an organization is willing to invest in its future.

Putting that aside, for now, this report makes clear that most IT leaders with heterogeneous cloud deployments, including multi-cloud and hybrid cloud, have more choices of platforms for deployment and more choices of available tools. These leaders have access to better DevOps weaponry, which draws a straight line between the ability to pick best-of-breed technology and elite performer status.

Another bonus?

Because they can choose options from a larger pool of technology, the end-state solutions are more likely to be optimized as to capabilities and cost. When comparing the abilities of elite performers to the rest of the pack, here’s the best analogy we can think of: The elite performers shop in a large department store that has all the best brands of coffee makers at all the best price points. Everyone else shops at a small-town hardware store that only offers a few brands with a limited price selection.

This does not mean that those who leverage multi-cloud and hybrid cloud will be elite performers by default. It does mean that those who open their cloud platforms beyond a walled garden are more likely to have optimized solutions for development, deployment, and operations.

]]>
How cloud-native apps and microservices impact the development process https://devstyler.io/blog/2021/10/05/how-cloud-native-apps-and-microservices-impact-the-development-process/ Tue, 05 Oct 2021 13:31:08 +0000 https://devstyler.io/?p=72706 ...]]> Today’s development tools have evolved significantly. They enable globally distributed development teams to operate independently, release frequent changes, and respond to issues quickly. Continuous integration and continuous delivery (CI/CD), continuous testing, infrastructure as code (IaC), and AIops enable teams to automate integration, deployment, infrastructure configuration, and monitoring.

The changes also include cultural and practical transformations such as adopting continuous planning in agile, instrumenting shift-left testing, proactively addressing security risks, and instituting site reliability engineering.

Here are several experts to go a level deeper and suggest best practices on how the development process changes when building and deploying cloud-native applications and microservices.

High velocity requires coordination and operations awareness

Jason Walker, field CTO for BigPanda spoke about his experiences with development teams that successfully build, deploy, and enhance microservices. He acknowledges:

“The most significant impact is velocity, and the dev-test-deploy cycle time is drastically reduced. Developing in the cloud for a cloud-based service and leveraging an ecosystem of microservices for inputs, an agile team can move very quickly.”

Walker suggests that the working environment must help teams stay on track and deliver business value while operating at high velocities. He offers several best practices:

  • Leaders at all levels must understand and align the strategic goals to prevent teams from drifting away from business objectives.
  • Scrum masters should embrace agile metrics, score stories accurately, and track team velocity over time, noting and accommodating variability for long-term planning.
  • Knowledge management processes and delivering accurate, up-to-date documentation have to be baked into the software development life cycle to prevent modular teams from sprawling away from each other and developing incompatibilities.
  • An actionable monitoring strategy is necessary. Synthetic and client telemetry can be useful macro-indicators of overall service performance, and the signal-to-noise ratio in monitoring has to be measured.

Code refactoring enhances microservices 

One of the more important coding disciplines in object-oriented programming and SOA is code refactoring. The techniques allow developers to restructure code as they better understand usage considerations, performance factors, or technical debt issues. Refactoring is a key technique for transforming monolithic applications into microservices. Refactoring strategies include separating the presentation layer, extracting business services, and refactoring databases.

Robin Yeman, a strategic advisory board member at Project and Team, has spent most of her career working on large-scale government and defence systems. Robin concedes:

“The largest technology barriers to utilizing agile in building or updating complex legacy systems are the many dependencies in the software architecture, forcing multiple handoffs between teams and delays in delivery. Refactoring the software architecture of large legacy systems to utilize cloud-native applications and microservices reduces dependencies between the systems and the teams supporting them.”

Refactoring also improves microservices in important ways, such as:

Kit Merker, COO at Nobl9, offers this advice to organizations transitioning to cloud-native applications and microservices.

“You can’t just rewrite everything—you need to phase the transition. One best practice is to set clear service-level objectives that are implementation agnostic and manage the user’s impression of your service even as you are transitioning to cloud-native implementations.”

Embrace microservice design patterns

Design patterns have always been used as tools to structure code around common problem sets. For example, categories of object-oriented design patterns are creational, behavioural, and structural; they’re used to solve common problems in software design. SOA design patterns have been around for more than a decade and are a precursor to today’s REST API and cloud API design patterns.

Using microservice design patterns is critical for long-term success. Technology organizations target independent, resilient, auto-provisioning services that support failure isolation, continuous delivery, and a decentralized governance model. That can be challenging if development teams don’t have a common language, microservice architecture, and implementation strategy to develop with design patterns. Tyler Johnson, co-founder and CTO of PrivOps, explains that developing microservices is a key strategy for reducing complexity. He also adds:

“One way to describe cloud-native applications is as a set of distributed, interacting, complex systems. This complexity can quickly become unmanageable, which is why a modular, standardized microservices architecture including standardized develops tooling, APIs, and data models are necessary.“

Michael Bachman, global architect and principal technologist at Boomi, suggests that using the composite microservice design pattern enables developers to focus on the user experience. This design pattern is particularly important when developers build applications connected to multi-cloud services and SaaS platform APIs. Bachman explains:

“The composite is a collection of endpoints presented through an abstracted view. Developers can go to a service catalogue, make calls to a composite, and don’t care about what goes on underneath. We’re getting closer to the end-user and enabling a trusted experience through a composite service at the high end of the stack.”

Overall, building cloud-native applications and microservices requires development teams to excel at longstanding software development practices such as collaboration, code refactoring, and developing reusable and reliable services. Since teams are developing these services at a significant scale, it’s important to learn, adapt, and mature these best practices.

]]>
JFrog and SB C&S to Accelerate DevOps Delivery in Japan https://devstyler.io/blog/2021/09/09/jfrog-and-sb-c-amp-s-to-accelerate-devops-delivery-in-japan/ Thu, 09 Sep 2021 13:08:35 +0000 https://devstyler.io/?p=70008 ...]]> JFrog Ltd., the Liquid Software company, announced an agreement with SB C&S Corp. to deliver its scalable DevOps Platform to help customers in Japan release software in a fast and secure manner from development all the way to the edge. Shlomi Ben Haim, Co-Founder and CEO, JFrog said:

“We are thrilled to partner with SoftBank to accelerate DevOps adoption in Japan. This partnership will be a catalyst in a world where every company becomes a DevOps company. Companies build and release more software to stay ahead of their competitors, software must be updated, and updates can be only achieved with secure binary deployment to the edge. We believe the combination of JFrog’s Platform and SoftBank expertise will boost cloud-native and DevOps adoption in Japan.”

JFrog’s hybrid, universal, end-to-end DevOps Platform powers over 6,000 companies worldwide including the majority of the F100 list, and solves challenges found in critical pieces of the DevOps supply chain, such as safely storing, managing, securing, and distributing all types of software packages, collecting key metrics, correlating them across diverse systems, and providing actionable information to improve software update and release cycles. The JFrog Platform works in self-hosted, SaaS, hybrid and multi-cloud environments across AWS, Azure, or Google Cloud, providing the confidence that releases are tested and secured as they move to production environments. Mr. Kazuya Kusakawa, Board Director, Executive Vice President, Head of ICT Business Unit, SB C&S Corp, commented:

“We quickly understood the benefits DevOps and continuous software delivery offers and welcome the start of a new partnership with JFrog Japan Co. SB C&S has been promoting DevOps since 2017 and we see great value in working with JFrog, a leading platform, to continue sharing DevOps best practices with leading companies in Japan.”

The partnership enables the complete JFrog Platform to be available immediately in Japan, including:

  • JFrog Artifactory: As the world’s first universal binary repository, JFrog Artifactory is the heart of the JFrog Platform. It functions as a single source of truth for all types of software packages that follow the DevOps lifecycle from development to the edge.
  • JFrog Xray: JFrog Xray enables multi-layer composition analysis across various software aspects such as container and artifact vulnerabilities and quality assurance against open-source license violations.
  • JFrog Pipelines: Enables CI/CD as an integral part of the platform to automate DevOps processes for all teams and tools so that teams can release software updates quickly across their CI/CD pipelines.
  • JFrog Distribution: Helps customers securely package production artifacts and rapidly distribute software around the world.
  • JFrog Mission Control & Insight: This dashboard provides a bird’s-eye view of JFrog Platform services, delivery visibility and metrics across your geographically dispersed sites.
]]>
The Key Pillars to a Successful Shift-Left Strategy https://devstyler.io/blog/2021/06/10/the-key-pillars-to-a-successful-shift-left-strategy/ Thu, 10 Jun 2021 09:12:12 +0000 https://devstyler.io/?p=54350 ...]]> The shift-left movement is already underway. Organizations can no longer wait to test at the end of the life cycle and hope things are in order before they release into production. Baking quality from the beginning rather and testing quality later has become a key tenet in today’s software testing initiatives.

A recent report from the software testing company Applause found 86% of respondents report their organizations are testing features immediately as they are being developed to reduce bugs, reduce the costs of fixing later-stage bugs, and reduce the need for hotfixes. However, this new shift in quality assurance significantly impacts developer productivity, with respondents reporting it takes at least eight hours per week to test new features.

According to Mike McKethan, director of quality engineering and automation at Applause, shifting left requires the right mindset to improve testing and save developer time. He explained that when people think about shifting left, a majority immediately turn to tools and automation. While those are foundational layers of a good shift-left strategy, the overarching theme should be that quality is a habit, not an act.

According to McKethan and Mike Plachta, senior manager of solutions engineer at Applause who also presented the webinar, the key pillars of a successful shift-left strategy include:

  • Quality ownership: Having the whole team be responsible for the quality, moving beyond just the QA sign-off and having management buy-in
  • Valuable Features: Developing accurate, executable and valuable features from the beginning by leveraging the Pareto principle and behaviour-driven development
  • Automation-first mentality: Integrating automation into the build process and DevOps pipeline
  • Fail or learn fast: With continuous feedback, CI/CD, code quality from an automation perspective, and the “three amigos”
  • Continuous improvement: Through retrospectives, idea boards, predictive analytics, AI and real-time analytics
]]>