Category: Quali Microsite

  • Connecting Your Cloud & DevOps Tools to Enable CI/CD

    Connecting Your Cloud & DevOps Tools to Enable CI/CD

    An effective continuous integration/continuous delivery (CI/CD) pipeline must integrate cloud and DevOps tools seamlessly to ensure the build, compile, test and release of applications is accomplished efficiently and without friction.

    Application architectures, internal processes and personal preferences mean organizations and teams set up the CI/CD pipeline differently, resulting in a diversity of infrastructure and tooling throughout software delivery pipelines. While innovation demands the freedom to use whatever is needed to deliver applications, the resulting diversity can be a significant integration challenge. What’s needed is a platform built for DevOps that seamlessly connects a DevOps ecosystem and CI/CD pipeline tools.

    There are two ways to do this.

    One is to use REST APIs. REST is a popular choice due to its simplicity and the fact that it builds upon existing systems and features of HTTP. It avoids the need to create new standards, frameworks and technologies. Another benefit of using an integrated approach based on REST is that many developers are familiar with key elements of the REST architecture, such as Secure Sockets Layer (SSL) encryption and Transport Layer Security (TLS). Additionally, REST is language-independent. As such, developers can employ any language that uses HTTP when creating REST APIs so developers can choose technologies they are familiar with and that best suit their needs.

    Another approach is to look for a platform that supports out-of-the-box integration with commonly used cloud and DevOps tools. Naturally, each company and DevOps team uses a specific set of tools. But it is safe to assume there are widely used tools that should be included in any list. Some useful plug-in integrations to look for include ones for Amazon S3, Azure DevOps, Bamboo, CircleCI, Github, Jenkins, TeamCity, Terraform and more.

    Integration benefits and how to amplify them

    Integrating cloud and DevOps tools into a CI/CD pipeline offers several benefits.

    Built-in integration will help developers get the most value out of the pipeline. For example, out-of-the-box integration can be leveraged to help provide more automated testing and a quicker time to release. Why? If tools are not integrated, developers need to go through a slow, manual process to deploy, configure and optimize tools for their development environment. That is a time-consuming process. Those involved in the process lose time on their real work. Lacking integration, multiple teams throughout an organization may waste time doing the same processes to get the tools to work. And perhaps most troubling, manually integrating tools can introduce errors and potential security vulnerabilities.

    Highly-integrated tools help encourage collaboration. In many companies, it is easy for different projects and different development teams to fall into siloed patterns of work. Different groups will use different tools. Having cloud and DevOps tools integrated into the CI/CD pipeline allows a de facto standardization of processes. And from that, best practices typically emerge from the familiarity of using the same tools. Smart companies will take advantage of the lessons learned and be sure to share that institutional knowledge amongst teams. Once a basic level of sharing is achieved, different groups are likely to work directly querying each other and working together to get the most out of the tools.

    What’s needed?

    To realize the benefits of integrating cloud and DevOps tools in a CI/CD pipeline requires a suitable platform. The right platform should effortlessly deliver the infrastructure and application resources to the development teams.

    A solution that provides self-serve access to infrastructure needs more than simply provisioning automation. A solution must help a company monitor resources utilization and costs. And specifically provide a way to tie costs back to business units, projects and individual developers.

    With such an offering, a company gets the full benefits that arise when cloud and DevOps tools are integrated into a CI/CD pipeline.

  • Enabling Developers with Infrastructure Automation

    Enabling Developers with Infrastructure Automation

    Enabling developers with infrastructure automation

    Being first to market with new and improved applications and services is how successful organizations grow and differentiate business offerings.  Continuous software delivery means everything is fluid and constantly changed to enable the speed and agility required to ensure applications deliver on increasingly higher consumer satisfaction expectations.

    Everything released and rolled out needs to be evaluated and updated frequently with new capabilities and features added as requirements change. DevOps, continuous integration and delivery practices play a growing part in the streamlining of software pipelines and accelerating software releases, however for enterprises, the infrastructure supporting the pipelines remains siloed, provisioned (potentially, multiple times) at each stage of the software delivery pipeline.

    While infrastructure remains a skill intensive, stage based practice, there is no greater inhibitor to pipeline execution speed and agility and the requirement to scale DevOps to meet the needs of the business.

    The result is that IT organizations cannot keep pace and struggle to provide development and testing teams with the infrastructure environments they need, while maintaining security, compliance and efficiency. To help achieve speed and control, many DevOps-focused companies are turning to infrastructure automation. The goal of such an approach is to give DevOps teams access to the environments they need in a timely manner, all while maintaining control and oversight of costs and governance.

    The way businesses operate today, DevOps needs production environments available immediately. Developers cannot afford to wait days or longer when starting new projects. Some businesses try to address the challenge by building automated scripts to set up environments.

    The problem is that automated scripts are typically custom, hand-coded and require increasingly scarce skills. When changes to environments are needed, custom scripts need the same high level of skills to understand, evaluate, change, and test environments taking crucial time from pipeline execution.

    DevOps teams need instant access to infrastructure. The solution must be, application pipeline centric, automated, on-demand and self-service. It must be a platform that not only delivers and manages environments throughout the pipelines but integrate with existing infrastructure tools, subsuming what they create to ensure enterprises meet the demands of the business without inhibiting application software development innovation.

    The role of immutable infrastructure

    Enabling developers with infrastructure automation is the concept of reusable automation and immutable infrastructure. The concept for immutable infrastructure is to build the infrastructure components to an exact set of specifications. If a change to a specification is required, then a whole new set of infrastructure is provisioned based on the updated requirements, and the previous infrastructure is taken out of service as it is obsolete.

    How does that play into automating infrastructure for DevOps teams? Continuous delivery uses automation to make deployments routine and repeatable. To achieve this, delivery is built on the concept of versioning and automation to push deployments to variable environments on a development pipeline.

    Immutable infrastructure comes into play in that IT-heavy infrastructure chores, such as implementing updates and installing patches, are eliminated. If an infrastructure element needs an update or must be replaced, the old elements are replaced by new entities that have already made these changes and been incorporated, tested and verified.

    Bottom line: Reusable immutable building blocks make it easier to deliver the resources developers really need.

    Addressing governance

    Infrastructure automation should be used to ensure governance. However, traditional cloud governance approaches are limited by features, with infrastructure automation achieved through complex scripting. This results in the automation becoming a major maintenance challenge and a time commitment. With multi-cloud environments, complexity multiples.

    The smart approach is to focus infrastructure automation on managing governance across common cloud resources.  Putting infrastructure automation in the hands of DevOps practitioners does not mean relinquishing governance control, but ensures corporate compliance is maintained and enforced with policies controlling usage, security and cost. This prevents cloud sprawl without slowing down development cycles.

    Summing up

    Meeting todays growing DevOps infrastructure needs is a time-consuming task for IT organizations. It slows down every stage of the application development pipeline. The need is for a solution that provides developers and DevOps practitioners access to the cloud infrastructure and application environments they need on demand. This is accomplished using an Environments as a service (EaaS) platform, accessible through a GUI portal, command line interface and existing CI/CD tools.

    A modern environment automation platform must be designed for all team members of a DevOps practice to automate the requesting, provisioning and lifecycle management of infrastructure environments. The platform must integrate without impacting efficiency or limiting innovation. It must deliver environments on-demand with self-service automation capabilities and oversee and enforce governance compliance. This solution is the answer to organizations seeking to streamline the continuous software delivery pipeline for application development, testing and release to production.

     

  • Understanding and Controlling Cloud Costs

    Understanding and Controlling Cloud Costs

    The widescale migration to cloud and the embracement of cloud-native application architectures has been a blessing to developers and those responsible for deploying and maintaining modern applications. Container-based apps allow fast changes compared to monolithic apps. And cloud services let DevOps teams quickly launch instances and acquire resources for all stages of their work. The downside is that cloud costs are often overlooked.

    What many businesses are finding is that cloud costs are out of control. And worse, there is very little insight into how much is being spent. Instances fired up for one project may never be deleted. Increasing capacity to support a burst in compute demand may never be throttled back. Lack of detailed billing and the complexity of distributed applications can simply mask costs from stakeholders. Looking at monthly bills from multiple providers offers no easy way to tie costs back to specific projects, applications or business units.

    Cloud costs on the rise globally

    Overspending on cloud is easy to accomplish and quite common, especially if activities are not measured and tracked.

    A report from the Cloud Native Computing Foundation (CNCF), in association with the FinOps Foundation, put the rise in spending into perspective. It found that spending on Kubernetes, the primary means of orchestrating containerized applications, was up year-to-year from 2020 to 2021. Of those surveyed, 67 percent reported an increase of 20 percent or more over the last 12 months, and 10 percent spent more than $1m per month on their deployments.

    Most startling, less than 25 percent of those surveyed said they could accurately predict how much they’d spend to within 5 percent of the actual cost. And over 20 percent stated that they did not predict their cloud bill. That’s no way to run an operation.

    Other recent studies have found comparable results. For example, Gartner predicts that almost two in three infrastructure and operations leaders through 2024 will experience public cloud migration cost overruns.

    Best practices for managing cloud costs

    What’s needed to rein in spending is visibility into cloud expenses and governance policies to control those expenses. In particular, organizations must gain visibility into their cloud resource usage to control costs. Organizations looking to do such things need a solution that helps them:

    Tie expenses back to the business: Businesses need a way to understand how much money they are paying for different environments and connect cloud costs back to business applications. This will allow a business to allocate resources more accurately for future needs.

    Spot trends: While some tools can provide visibility into cloud expenses, most only do so at the infrastructure level. What’s needed is the ability to view from a single-pane-of-glass view the cloud expenses at the environment level. A suitable solution should act as the cloud orchestrator, so users can apply run-time policies beforehand to manage costs, track environment changes by the business characteristics, and dig deep to identify the purpose, owner, size, project, and more to identify usage trends.

    Optimize efficiency: When trying to optimize the use of cloud resources, identifying changes that will provide the most value is almost impossible with traditional billing reports. The reason is because the cost of using cloud resources varies depending on the environment’s scale and frequency. What’s needed is a way to track the use of each aspect of cloud use and the related costs. This information allows a business to focus on optimizing cost without impacting performance or operations.

    Achieving results

    Controlling cloud costs is challenging and requires deep insights into resource usage. An ideal solution provides real-time information in a single viewing plane that can eliminate uncertainty and avoid over-spending. To work, such a solution must make use of certain capabilities, including the ability to automatically tag and de-commission resources, embed policy management and provide Role-Based Access Control to resources. And most critically, any cloud cost management solution must be implemented in such a way as to not slow down application development and delivery.

     

     

  • Beyond IaaS: The Benefits of Using EaaS

    Beyond IaaS: The Benefits of Using EaaS

    Beyond IaaS: The Benefits of Using EaaS

    The market for cloud infrastructure is growing at a rapid clip. Driving factors include IT’s need to cut costs, provide more services, respond faster to business needs, and enable innovation and digital transformation. For many years, Infrastructure-as-a-Service (IaaS) offerings have been both the first and most used cloud services consumed by businesses. But increasingly, more is needed. That has opened the door for Environment-as-a-Service (EaaS), what some call IaaS Plus.

    To put the demand for such services into perspective, consider cloud spending. While most organizations were already executing on their cloud migration strategies pre-COVID, the pandemic was a serious wake-up call for those lagging behind. Gartner predicts public cloud services global spending will grow to $332.3B this year, up from $270B in 2020. Gartner also anticipates that by 2024 almost half of all IT spending on software, system infrastructure, and process outsourcing will have pivoted from traditional solutions to the cloud.

    Within those numbers, the IaaS segment is predicted to have the largest growth (percentage-wise) over the next few years. The IaaS market will nearly double from roughly $60,000 in 2020 to about $107,000 in 2022. Looking beyond next year, ResearchAndMarkets.com predicts the IaaS market will reach $74.63 billion in 2025 with a compound annual growth rate (CAGR) of 13.8%.

    Why the big jump? Cloud-based service models can provide significant financial advantages for businesses, allowing them to quickly access new functionalities without requiring heavy upfront investments. Cloud services rotate some capital expenditure costs into operational costs, with infrastructure-as-a-service (IaaS) enabling organizations to move fundamental storage and networking functions to the cloud and away from on-premises hardware.

    Enter EaaS

    One of the greatest fundamental changes companies have encountered in the last few years is that business demands for new applications and services have rapidly grown, causing a need to accelerate application development.

    And most importantly, development is no longer a one-time effort, and applications must continuously be patched, updated, and enhanced. Each change or addition requires one or more development environments, plus infrastructure and applications for performance testing, quality assurance and deployment.

    That’s where EaaS helps. EaaS extends the capabilities and benefits of IaaS into the development environment. It offers the infrastructure, applications, and data that DevOps teams need to develop, deploy and maintain their applications.

    An ideal EaaS solution will offer certain features to increase the efficiency of the DevOps staff, reduce costs and help businesses maintain control over fast-paced development environments.

    For example, a well-suited EaaS would use automation to configure servers for a specific application. It would be a self-service offering that integrated with normal DevOps workflows, tools, and methodologies. For example, a business might look for an EaaS offering that gives users a choice in how they access the services. That might include access via a web portal, command-line interface, or directly through a developer’s CI/CD tools.

    That last capability is particularly important today, given the way applications are developed and maintained. An EaaS must integrate into the existing DevOps ecosystem and CI/CD pipeline to support today’s demand for complete, ready-to-run environments delivered on demand. The way to ensure this is to look for an EaaS provider that supports out-of-the-box plugins and an extensive REST API for common CI/CD and DevOps tools.

    One additional issue that businesses need to address is cost control. Costs can quickly add up with the use of cloud services being so easy and with some providers offering self-service options. In many situations, cloud service users have no insights into their cloud spending until after the monthly bill arrives. And even then, there is often no granular view into where the costs were incurred.

    What’s needed is an EaaS offering that incorporates cloud cost management capabilities that are implemented in such a way as to not slow down application development and delivery. In particular, cost visibility and control are required but cannot be implemented in a way that adds friction to the process. Many cost management approaches fail in this regard. A good EaaS solution will provide the needed visibility and control while not hindering development and deployment.

    Last word

    Modern applications development must be based on CI/CD to deliver new applications, services and updates in a timely manner to match fast-changing business opportunities and requirements.

    While IaaS platforms satisfy many of the core infrastructure requirements, EaaS complements these capabilities by offering the complete environments delivered on-demand needed for DevOps to work. EaaS also offers tight integration into DevOps workflows and CI/CD pipelines.