Cycloid is a DevOps framework. It’s not a dashboard, service, or toolkit - it’s a framework!
When people come to work here, they undergo intense training to make sure that the only word they ever use is framework and that we never, ever use the word platform which, according to our founder, will cause us to burst spontaneously into flames.
I joke. Sorta.
But, really, what is a DevOps framework and does the fact that it’s a framework make it different to all of the platforms and services out there? Let’s take a look.
Cycloid is very sure on one thing - we're a framework and not a PaaS or a SaaS. We explain the difference and tell you what a framework actually does.
In very basic terms, a framework is...a basic structure underlying a system, concept, or text.
For many people, choosing the word framework is not so much a deliberate decision as a handy word that seems to describe something that isn’t a tool in itself, but helps people navigate their way around a more complicated system or idea.
In programming languages, a framework is a set of methods already defined that you can reuse - in other words, it's an abstraction of generic code that can be customized by individual users to tailor it to their specific needs.
Cycloid channels both of these meanings - it's a set of methods that users can customize to help navigate the complex waters of a DevOps-first IT department!
Elsewhere, a platform is more like an interface between a service and a user. The term is used in one of the most commonly used acronyms in the tech world - SaaS, along with cousins PaaS and IaaS. So, is a framework a PaaS, a SaaS, or a IaaS, and, more importantly, which one is Cycloid?
The aases (two as and one s, people!) are all ways of interacting with cloud computing and have grown hand in hand with, well, the growth of the cloud. As well as aases, we have on-premise solutions, which work with physical servers. These are not as old school and obsolete as they sound - 98% of businesses run some kind of on-premise servers, sometimes in addition to cloud servers and sometimes as their only option.
SaaS - Software as a service, the most common of the trio. These vendors typically provide the functionality of desktop software but in the cloud. Think of Dropbox, Canva, and HubSpot. The main benefit is that users have access to software that would be too expensive or big to host on their personal computers. Additionally, SaaS is always up-to-date and, in theory, secure.
PaaS - a platform as a service vendor provides hardware and software over the internet. They are typically used by developers who need tools to develop applications or software. The main benefit here is that people have access to tools and services that would be otherwise too expensive or unwieldy to use locally. Some PaaS examples include OpenShift, Heroku, and Google App Engine.
IaaS - Infrastructure as a service is just that, the infrastructure that underlies almost all types of tech stacks - in other words, the servers. Rather than having a physical server on-premise, users access cloud providers to deal with storage, networking, and virtualization. The main advantage here is that cloud vendors have infinitely more flexibility when it comes to scale, making it easier and cheaper to power up operations when needed. AWS, RackSpace, and GCP are all examples of IaaS vendors.
Sometimes, the line between IaaS and PaaS isn’t so clear. Some tools combine aspects of both in one and other tools have some features that belong to one type and others that belong to the other. Whether they self-define as PaaS or IaaS generally comes down to where the majority of their features lie.
There are many ways you can look at and define the various tech services that exist, and one way is to look at them as the top, middle, and bottom layers in a stack. This conceptualization will also help you understand Cycloid better, so let’s run with it.
The SaaS layer is the topmost layer and the one that the end-user interacts with. They don’t need to program the tool or create the infrastructure underneath it and aren’t using it to make another tool - they use the SaaS tool and the result or output is their end goal.
The PaaS layer, in the middle, is the one that developers use most. They code the apps and software that a user will eventually interact with, but they’re leveraging the virtual tech stack underneath their PaaS tool to do so, without worrying about how it’s created or if it needs to be maintained.
Finally the IaaS layer is at the bottom. It’s the tech stack that underlies powerful development tools and it’s of greatest interest to DevOps and Ops engineers, system architects, and site reliability engineers. This is the infrastructure that underlies all software, and it will ultimately allow developers to bring the software to a larger number of end users with greater flexibility and speed.
Well, quite frankly, it doesn’t! That’s why it was important for us to characterize ourselves correctly - tech people are familiar with SaaS, PaaS, and IaaS and already understand them - but Cycloid doesn't fit into this way of describing tech tools and needs a different approach.
Is Cycloid a SaaS?
Not really. The Cycloid SaaS is part of our framework but only in a very specific context (we manage the console, API, MYSQL/Postgres Database and the Concourse engine, but the customer hosts the Concourse worker and Prometheus and Grafana instances). The rest of the tool doesn't work under a SaaS methodology, mainly because our end users are tech teams. They need full access to everything inside Cycloid and can’t operate with only a “black box”, as offered by many SaaS tools.
Is Cycloid a PaaS?
No, Cycloid makes it easier to use development tools as part of a DevOps-first team, but it doesn’t provide these tools - you use whatever your team is already most comfortable with.
Is Cycloid an IaaS?
No, Cycloid simplifies the way users interact with IaaS tools, but it doesn’t provide them - users connect their own IaaSs to Cycloid and then use it via our framework.
Ok, ok, you might think - you’re just being awkward now! No, hear us out...
Cycloid is a framework that lies outside the AAS trio. Instead of providing an alternative to software, platform, or infrastructure, it provides a way to unite the three levels - your existing software, platforms, and infrastructures. Think of it as an overarching structure (a framework, even!) that ties these aspects together and makes it easier for the people using each aspect (i.e. the members of your tech team) to work together in harmony and efficiency, with aligned goals, processes, and intentions.
Familiar with DevOps? Then you’ll know about the people, processes, tools triad. Lots of teams already have these elements. They have people, great people! They certainly have tools, sometimes more of them than they can handle. And finally, they have processes - CI/CD processes, deployment processes, provisioning processes and, most likely, a hundred other processes. What they don’t have is perfect harmony between these three aspects.
And that’s where Cycloid steps in.
The important thing here is balance. Nobody wants a way to bypass or replace any part of the triad, because that’s the kind of thing that leads to silos. The balance between dev and ops is critical and simply redirecting or replacing one tool, person, or process won’t help create a more efficient team.
Instead, Cycloid wants to link, create inter-team interaction, and help everyone involved in the SDLC move smoothly, more efficiently, and in the same direction. Using a DevOps tools isn’t about giving one person a way of skipping an annoyance and leaving everyone else with the same old problems they’ve always had - that’s not DevOps, it's an old way of thinking, and it’s something we want to leave firmly behind.