(LSJ) What are Cloud infrastucture and platform services (CISP)?
/Gartner’s new Magic Quadrant for Cloud infrastructure and platform services (ID G00441742. Gartner Report) updates the definition of cloud computing.
Cloud computing is a style of computing in which scalable and elastic IT-enabled capabilities are delivered as a service using internet technologies. Cloud infrastructure and platform services (CIPS) are defined as standardized, highly automated offerings, in which infrastructure resources (e.g., compute, networking and storage) are complemented by integrated platform services.
These include managed application, database and functions as-a-service offerings. The resources are scalable and elastic in near-real time and are metered by use. Self-service interfaces are exposed directly to the customer, including a web-based user interface (UI) and an API. The resources may be single-tenant or multi tenant, and can be hosted by a service provider or on-premises in the customer’s data center.
Cloud infrastructure and platform services (CIPS) are defined as standardized, highly automated offerings, in which infrastructure resources (e.g., compute, networking and storage) are complemented by integrated platform services.
Magic Quadrant for Cloud Infrastructure and Platform Services
Published 1 September 2020 - ID G00441742. Gartner Report. Sponsored by AWS. (Source: Read Gartner Report here).
The scope of the Magic Quadrant for CIPS includes IaaS and integrated platform as a service (PaaS) platforms. These include (* are additions of editor *)
application PaaS (aPaaS),
functions as a service (FaaS),
database PaaS (dbPaaS),
Datawarehouse as a Service (dwPaaS)*
application developer PaaS (adPaaS) and industrialized private cloud offerings that are often deployed in enterprise data centers.
Cloud Integration / Cloud Deployment (cicdPaaS) as a Service*
Multi cloud management as a Service*
Security as a Service (SecPaaS)*
All the cloud platforms have undergone SOC 1, SOC 2 and SOC 3 audits, as well as SSAE 16, ISO/IEC 27001, ISO/IEC 27017 and ISO/IEC 27018 audits.
What are the as-a-service solutions (source: IBM Business Partner)
IaaS
A vendor provides clients pay-as-you-go access to storage, networking, servers and other computing resources in the cloud.
PaaS
A service provider offers access to a cloud-based environment in which users can build and deliver applications. The provider supplies underlying infrastructure.
SaaS
A service provider delivers software and applications through the internet. Users subscribe to the software and access it via the web or vendor APIs.
What is CI/CD continuous integration and deployment (Source: Ericsson 5G Blog; Lifetime Certified Partners Consortium Enterprise Platinum Partner )?
CI/CD – or ‘continuous integration’ and ‘continuous deployment’ is a framework where software is continuously built, tested, deployed and validated throughout its lifecycle. (source: ericsson 5G Blog).
What's the difference between CI and CD (and the other CD) Source: RedHat Developer)?
The acronym CI/CD has a few different meanings. The "CI" in CI/CD always refers to continuous integration, which is an automation process for developers. Successful CI means new code changes to an app are regularly built, tested, and merged to a shared repository. It’s a solution to the problem of having too many branches of an app in development at once that might conflict with each other.
The "CD" in CI/CD refers to continuous delivery and/or continuous deployment, which are related concepts that sometimes get used interchangeably. Both are about automating further stages of the pipeline, but they’re sometimes used separately to illustrate just how much automation is happening.
Continuous delivery usually means a developer’s changes to an application are automatically bug tested and uploaded to a repository (like GitHub or a container registry), where they can then be deployed to a live production environment by the operations team. It’s an answer to the problem of poor visibility and communication between dev and business teams. To that end, the purpose of continuous delivery is to ensure that it takes minimal effort to deploy new code.
Continuous deployment (the other possible "CD") can refer to automatically releasing a developer’s changes from the repository to production, where it is usable by customers. It addresses the problem of overloading operations teams with manual processes that slow down app delivery. It builds on the benefits of continuous delivery by automating the next stage in the pipeline.
Source: RedHat Developer Partner
What are the differences between continuous integration, continuous delivery, and continuous deployment?
What are the benefits of each practice?
We've explained the difference between continuous integration, continuous delivery, and continuous deployments but we haven't yet looked into the reasons why you would adopt them. There's an obvious cost to implementing each practice, but it's largely outweighed by their benefits.
Continuous integration
What you need (cost)
Your team will need to write automated tests for each new feature, improvement or bug fix.
You need a continuous integration server that can monitor the main repository and run the tests automatically for every new commits pushed.
Developers need to merge their changes as often as possible, at least once a day.
What you gain
Less bugs get shipped to production as regressions are captured early by the automated tests.
Building the release is easy as all integration issues have been solved early.
Less context switching as developers are alerted as soon as they break the build and can work on fixing it before they move to another task.
Testing costs are reduced drastically – your CI server can run hundreds of tests in the matter of seconds.
Your QA team spend less time testing and can focus on significant improvements to the quality culture.
Continuous delivery
What you need (cost)
You need a strong foundation in continuous integration and your test suite needs to cover enough of your codebase.
Deployments need to be automated. The trigger is still manual but once a deployment is started there shouldn't be a need for human intervention.
Your team will most likely need to embrace feature flags so that incomplete features do not affect customers in production.
What you gain
The complexity of deploying software has been taken away. Your team doesn't have to spend days preparing for a release anymore.
You can release more often, thus accelerating the feedback loop with your customers.
There is much less pressure on decisions for small changes, hence encouraging iterating faster.
Continuous deployment
What you need (cost)
Your testing culture needs to be at its best. The quality of your test suite will determine the quality of your releases.
Your documentation process will need to keep up with the pace of deployments.
Feature flags become an inherent part of the process of releasing significant changes to make sure you can coordinate with other departments (Support, Marketing, PR...).
What you gain
You can develop faster as there's no need to pause development for releases. Deployments pipelines are triggered automatically for every change.
Releases are less risky and easier to fix in case of problem as you deploy small batches of changes.
Customers see a continuous stream of improvements, and quality increases every day, instead of every month, quarter or year.
(Source: Atlassian CI/CD Partner; by Sten Pittet)