all
Business
data science
design
development
our journey
Strategy Pattern
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

OpenShift et Kubernetes : quelles sont les différences ?

Les outils d'orchestration de conteneurs se déclinent en de nombreuses versions, OpenShift et Kubernetes étant les deux plus demandés. Red Hat OpenShift est une suite logicielle commerciale utilisé pour l'orchestration des conteneurs, tandis que Kubernetes est devenu synonyme d'outils de conteneurisation.

Nous allons procéder à un examen comparatif et explorer les principales différences entre Openshift et Kubernetes afin que vous puissiez décider lequel convient le mieux à votre projet.

blue arrow to the left
Imaginary Cloud logo

Qu'est-ce que l'orchestration des conteneurs ?

En bref, les conteneurs sont des progiciels autonomes qui incluent des bibliothèques, des outils, des paramètres et un environnement d'exécution pour faire fonctionner les applications. Les conteneurs sont légers, portables et sécurisés, offrant un espace isolé compatible avec n'importe quel environnement.

L'industrie les a adoptées comme composant central de l'architecture de conteneurisation, car elles permettaient un déploiement et une évolutivité plus rapides et fonctionnaient de manière uniforme pendant les phases de développement et de préparation.

Parmi les technologies d'orchestration les plus couramment utilisées, on peut citer Essaim de Dockers, Kubernetes, Podman, et Nomade. Nous vous recommandons de consulter nos comparaisons détaillées entre elles sur notre blog.

blue arrow to the left
Imaginary Cloud logo

Red Hat OpenShift

OpenShift est une plateforme open source de niveau entreprise pour le développement, le déploiement et la gestion d'applications de conteneurs, basée sur Kubernetes. Il s'agit à la fois d'un produit commercial et d'une plateforme gratuite. En fin de compte, il s'agit d'une suite logicielle commerciale incluse en tant que fonctionnalité dans de nombreux packages de services cloud d'entreprise.

Développé par Chapeau rouge, OpenShift est écrit en Va et AngularJS. Il prend en charge Java, Allez, Node.js, Python, PHP et Rubis, mais il peut être étendu pour prendre en charge d'autres langages de programmation. OpenShift s'intègre facilement à d'autres outils DevOps et est conforme à l'Open Container Initiative (OCI) pour l'hébergement et l'exécution de conteneurs. Il peut utiliser des conteneurs Docker et, comme il est basé sur Kubernetes, il sera familier aux développeurs issus de ces plateformes.

Les entreprises qui travaillent avec OpenShift recherchent une plateforme tout-en-un dotée de politiques de sécurité strictes, d'un déploiement d'applications plus rapide et d'un support dédié. Ces caractéristiques en font une solution très intéressante pour les projets de grande envergure ou les petites entreprises qui ne disposent pas des ressources dédiées pour gérer, sécuriser et surveiller leurs applications.

blue arrow to the left
Imaginary Cloud logo

Qu'est-ce que Kubernetes ?

Kubernetes est une plateforme d'orchestration de conteneurs gratuite et open source actuellement géré par la Cloud Native Computing Foundation (CNCF) et le principal outil de conteneurisation du secteur. Les fournisseurs de cloud tels qu'Amazon Web Services (AWS), Google Cloud Platform, IBM Cloud et Microsoft Azure incluent Kubernetes dans leurs packages.

Écrit en Go, Kubernetes est un outil de gestion de conteneurs spécialisé dans le déploiement, l'automatisation et la mise à l'échelle d'applications. Son cycle de développement est rapide, de nouvelles versions étant publiées tous les deux mois, appréciées par les développeurs pour leur promotion de l'innovation, grâce à une communauté solide composée de nombreux groupes investis dans l'évolution de K8s (nom abrégé de Kubernetes).

Kubernetes est utilisé avec Docker en tant que technologies complémentaires, mais il prend également en charge de nombreux autres frameworks. Kubernetes inclut d'autres fonctionnalités avantageuses telles que l'équilibrage de charge, la mise en réseau, la sécurité, l'autoréparation et une évolutivité élevée sur tous les nœuds qui s'exécutent sur les conteneurs intégrés.

Four things to remember when choosing a tech stack CTA
blue arrow to the left
Imaginary Cloud logo

OpenShift et Kubernetes : les 5 principales différences

OpenShift et Kubernetes partagent de nombreux points communs et fonctionnalités, mais il existe des différences majeures. Voici les les cinq principales différences entre OpenShift et Kubernetes, suivie d'autres distinctions techniques pertinentes.

Commercial ou gratuit

La plus grande différence entre eux est que Openshift est un produit commercial par abonnement, dont l'utilisation de Kubernetes est gratuite en tant que projet open source.

L'abonnement à OpenShift inclut un ensemble complet d'outils et un support dédié. Kubernetes bénéficie du soutien de la communauté et se combine avec d'autres outils tiers pour des tâches ou des opérations spécifiques.

Sécurité

OpenShift applique des politiques de sécurité strictes dès le départ. Par exemple, il nécessite un minimum de privilèges utilisateur, même pour les opérations de base, et limite également l'exécution des conteneurs Docker sous forme d'images simples.

Les fonctionnalités de sécurité de Kubernetes nécessitent une configuration plus complexe car elles ne disposent pas de fonctionnalités d'authentification et d'autorisation natives. Les ressources nécessaires sont allouées à une API à utiliser avec des outils tiers à cette fin. Le protocole de sécurité n'est pas défini dès le départ comme OpenShift, car il n'existe pas de cryptage par défaut au sein d'un cluster, ce qui rend les K8s plus vulnérables aux attaques.

Tableau de bord

OpenShift offre une expérience utilisateur exceptionnelle grâce à une console Web simple. Son tableau de bord simple basé sur des formulaires permet aux utilisateurs de gérer toutes les ressources dans un environnement propre et simple.

L'interface utilisateur de Kubernetes est plus difficile à utiliser. Pour accéder à l'interface graphique (GUI), les développeurs doivent installer le tableau de bord Kubernetes dédié, puis mettre en place un processus d'authentification et d'autorisation pour y accéder puisque l'interface ne possède même pas de page de connexion. Cela ne posera aucun problème aux développeurs plus avancés, mais cela peut gêner les débutants dès le début.

Mises à jour et support

OpenShift, en tant que produit commercial, propose un service client, une assistance et des conseils dédiés. Kubernetes, en tant que projet open source, communautaire et gratuit, ne le fera pas. Si les développeurs rencontrent des problèmes avec Kubernetes, ils doivent s'appuyer sur l'expérience des autres développeurs sur les forums et attendre que leurs questions soient répondues. OpenShift dispose d'une équipe d'ingénieurs Red Hat prête à vous aider 24 h/24 et 7 j/7.

Intégré ou tiers

La suite OpenShift inclut des fonctionnalités telles que la surveillance et la mise en réseau par défaut. Prométhée et Grafana sont deux outils de surveillance qui signalent les problèmes rencontrés sur la pile ; la mise en réseau est activée prête à l'emploi avec Ouvrez vSwitch, une solution native d'OpenShift.

Aux mêmes fins, Kubernetes doit s'appuyer sur des plug-ins et des logiciels tiers.

blue arrow to the left
Imaginary Cloud logo

Différences techniques entre OpenShift et Kubernetes

OpenShift et Kubernetes partagent de nombreux points communs et fonctionnalités, mais il existe des différences majeures. Voici les les cinq principales différences entre OpenShift et Kubernetes, suivie d'autres distinctions techniques pertinentes.

CI/CD intégré

Le CI, ou intégration continue, est un Meilleures pratiques DevOps. La CI consiste à exécuter des tests automatisés pour vérifier si la fusion des modifications dans le code principal n'interrompt pas l'application et s'assurer qu'il n'y a pas de problèmes d'intégration à chaque nouveau commit. CD, ou Livraison continue, se produit après ou en même temps que l'intégration continue. Après la phase de construction, toutes les modifications de code sont déployées dans l'environnement de test et/ou de production.

OpenShift utilise Jenkins, un serveur d'automatisation qui fournit une prise en charge de la source à l'image et qui peut être utilisé comme serveur CI. Kubernetes s'appuie également sur un outil tiers appelé CircleCI pour créer un flux CI/CD.

Registre d'images

Les développeurs peuvent configurer un registre Docker sur Kubernetes, mais celui-ci ne fournit pas de registre d'images intégré. D'autre part, Openshift dispose d'un registre d'images intégré à utiliser avec Red Hat ou Docker Hub via une console contenant toutes les informations sur les images du projet.

Déploiement

Openshift et Kubernetes ont des approches différentes en matière de déploiement. OpenShift peut sembler plus complexe mais apporte des avantages supplémentaires, tels que des déclencheurs pour des déploiements automatiques.

Kubernetes implémente des objets de déploiement à l'aide de contrôleurs, tandis qu'OpenShift utilise une commande. La commande de déploiement OpenShift ne prend pas en charge plusieurs mises à jour, mais les objets de déploiement Kubernetes peuvent gérer des mises à jour simultanées.

Mais il existe une autre différence fondamentale dans le processus de déploiement entre eux.

Kubernetes utilise Helm, un ensemble de manifestes YAML conçus pour simplifier le déploiement d'applications conteneurisées. Il s'agit d'une approche plus directe que les modèles OpenShift, qui n'ont pas la simplicité et la sophistication des graphiques Helm. Les déploiements d'un seul pod OpenShift peuvent ne pas être aussi efficaces dans des scénarios plus complexes.

blue arrow to the left
Imaginary Cloud logo

OpenShift contre Kubernetes : quel est le meilleur ?

OpenShift contre Kubernetes : quel est le meilleur ? Kubernetes est un orchestrateur puissant et flexible pour les charges de travail des conteneurs, mais nécessite une configuration manuelle. OpenShift fournit des fonctionnalités supplémentaires telles que des outils de développement et une configuration par défaut plus sécurisée, mais au prix d'une certaine complexité. La « meilleure » option dépend des besoins spécifiques.

Kubernetes est idéal pour les applications à usage intensif qui nécessitent des mises à jour régulières, comme les jeux. OpenShift peut être la bonne option pour les applications robustes et strictes en matière de sécurité et conformes au RGPD, telles que celles de caractère institutionnel ou gouvernemental, ou celles du secteur de la santé.

Kubernetes auto-hébergé est plus complexe à installer, à gérer et à surveiller sans intégrations tierces. OpenShift semble être une option plus facile à gérer grâce à ses nombreuses fonctionnalités intégrées, mais elle est limitée aux distributions Red Hat Linux. À la base, OpenShift repose sur une couche Kubernetes mais apporte des fonctionnalités supplémentaires qui en font une version différente de l'orchestration de conteneurs.

Les entreprises peuvent bénéficier du support dédié fourni par un abonnement OpenShift. Kubernetes peut néanmoins être la meilleure option si les entreprises disposent d'une équipe d'orchestration de conteneurs qualifiée, ce qui leur permet d'éviter les frais d'abonnement.

Donc, Openshift contre Kubernetes sont deux excellentes options. Savez-vous ce qui convient le mieux à votre projet ?

Build scalable products with web and mobile development CTA
blue arrow to the left
Imaginary Cloud logo

How do costs compare between Kubernetes vs OpenShift?

Cost is a critical factor in the Kubernetes vs OpenShift decision, but it goes beyond simple licensing. You need to consider total cost of ownership, including infrastructure, tooling and operational effort.

Kubernetes costs

Kubernetes is open source and free to use, which makes it attractive for cost-conscious teams. However, the real cost comes from:

  • Infrastructure, whether self-hosted or via managed services like AKS, EKS or GKE
  • DevOps and platform engineering resources required to set up, secure and maintain clusters
  • Additional tools for CI/CD, monitoring, logging and security

While Kubernetes reduces upfront costs, it can increase ongoing operational expenses, especially if your team lacks experience.

OpenShift costs

OpenShift is a licensed platform, which introduces a direct cost component. Pricing typically includes:

  • Subscription fees for the OpenShift platform
  • Enterprise support from Red Hat
  • Access to integrated tools and features

However, OpenShift can reduce indirect costs by simplifying operations. With built-in CI/CD, security and management tools, teams spend less time configuring and maintaining infrastructure.

Total cost of ownership

In the Kubernetes vs OpenShift comparison, the cheapest option is not always the most cost-effective.

  • Kubernetes is often more cost-efficient for startups and teams with strong in-house expertise
  • OpenShift can offer better value for enterprises by reducing operational overhead and risk

The right choice depends on how you balance licensing costs against engineering time, complexity and long-term scalability.

Managed Kubernetes vs OpenShift: AKS vs OpenShift, EKS vs OpenShift and GKE vs OpenShift

A common comparison in the Kubernetes vs OpenShift decision is not raw Kubernetes, but managed Kubernetes services such as Azure Kubernetes Service (AKS), Amazon EKS and Google Kubernetes Engine (GKE).

Managed Kubernetes platforms like AKS vs OpenShift, EKS vs OpenShift and GKE vs OpenShift are increasingly relevant comparisons because they reduce infrastructure complexity while still offering Kubernetes flexibility.

With managed Kubernetes:

  • AKS (Azure Kubernetes Service) integrates tightly with the Microsoft ecosystem, making it a strong choice for organisations already using Azure
  • EKS (Amazon Elastic Kubernetes Service) is optimised for AWS environments, offering deep integration with AWS services
  • GKE (Google Kubernetes Engine) provides advanced automation and is often considered the most mature managed Kubernetes offering

These services handle cluster provisioning, scaling and maintenance, but still require teams to:

  • configure security and access control
  • set up CI/CD pipelines
  • manage monitoring, logging and tooling
  • define internal platform standards

OpenShift, by contrast, provides a fully integrated platform layer on top of Kubernetes, including built-in CI/CD, security policies, developer workflows and governance.

In the managed Kubernetes vs OpenShift comparison:

  • Choose AKS vs OpenShift if you are in the Microsoft ecosystem and want flexibility with reduced infrastructure overhead
  • Choose EKS vs OpenShift if you are AWS-native and prefer building your own platform with modular services
  • Choose GKE vs OpenShift if you prioritise automation and scalability with strong Kubernetes-native tooling
  • Choose OpenShift if you want a standardised, enterprise-ready platform with built-in security and minimal setup

For most organisations, this is the real decision. It is not just Kubernetes vs OpenShift, but whether to assemble your own platform using AKS, EKS or GKE, or adopt an integrated platform like OpenShift that reduces operational complexity from day one.

Verdict:

- Kubernetes is cheaper upfront, but OpenShift can be more cost-effective at scale due to reduced operational overhead.
- The real decision is often managed Kubernetes vs OpenShift, meaning whether to build your own platform or adopt a fully integrated one.

Cost breakdown by team type

The real cost difference between Kubernetes vs OpenShift becomes clearer when analysed by team structure and organisational maturity.

Startups and small teams

For startups and small teams, Kubernetes is usually the more cost-effective option.

  • No licensing costs
  • Can leverage managed Kubernetes services like AKS, EKS or GKE
  • Lower upfront investment

However, costs can increase if the team lacks experience and needs to invest time in setup, security and maintenance.

OpenShift, while easier to use, may introduce unnecessary licensing costs at this stage.

Best choice: Kubernetes

Scale-ups with growing DevOps needs

As teams grow, the Kubernetes vs OpenShift cost balance becomes less obvious.

  • Kubernetes still offers cost savings, but operational complexity increases
  • Teams may need to invest in tooling, monitoring and platform standardisation
  • Managed Kubernetes helps, but does not eliminate all overhead

OpenShift can reduce operational burden by providing a more structured platform, which may improve productivity and time to market.

Best choice: Depends on team expertise and growth speed

Enterprises with large engineering teams

For enterprises, cost is less about licensing and more about efficiency and risk.

  • Kubernetes can become expensive due to large platform teams and complex operations
  • Standardisation across teams can be difficult to enforce
  • Security and compliance require significant effort

OpenShift often reduces these costs by:

  • standardising environments
  • enforcing security policies
  • reducing operational overhead

Best choice: OpenShift in many cases

Regulated industries

In regulated sectors such as finance, healthcare or government, compliance costs are significant.

  • Kubernetes requires manual implementation of security and compliance controls
  • OpenShift provides built-in policies and governance features

This can reduce audit effort, risk and time to compliance.

Best choice: OpenShift

Platform engineering teams

For organisations with mature platform engineering teams:

  • Kubernetes enables full customisation and optimisation
  • Teams can build internal platforms tailored to their needs
  • Costs can be controlled through efficient architecture

OpenShift may be too restrictive for highly specialised environments.

Best choice: Kubernetes

Verdict: Kubernetes is more cost-efficient for smaller or highly skilled teams, while OpenShift often delivers better value for larger organisations by reducing operational complexity and risk.

blue arrow to the left
Imaginary Cloud logo

What should you consider when migrating between Kubernetes and OpenShift?

Migrating between Kubernetes vs OpenShift is possible, but it requires careful planning around architecture, tooling and operations. Since OpenShift is built on Kubernetes, moving from Kubernetes to OpenShift is typically more straightforward than the reverse.

Key considerations include:

  • Application compatibility: Most Kubernetes workloads can run on OpenShift, but security constraints and policies may require adjustments
  • CI/CD pipelines: OpenShift includes built-in pipelines, so existing Kubernetes setups may need to be adapted or replaced
  • Security policies: OpenShift enforces stricter defaults, which can impact how containers are built and deployed
  • Operational model: Teams may need to shift from a custom Kubernetes setup to a more standardised platform approach
  • Vendor lock-in and portability: Moving from OpenShift back to Kubernetes can require reconfiguring platform-specific features

For organisations already using managed Kubernetes services like AKS, EKS or GKE, migrating to OpenShift often involves evaluating whether the benefits of standardisation and built-in tooling outweigh the flexibility of existing setups.

Verdict: Migration between Kubernetes vs OpenShift is feasible, but the effort depends on how customised your current platform is and how tightly you rely on ecosystem-specific features.

blue arrow to the left
Imaginary Cloud logo

How does vendor lock-in compare between Kubernetes vs OpenShift?

Vendor lock-in is an important consideration when evaluating Kubernetes vs OpenShift, especially for organisations planning long-term cloud and platform strategies.

Kubernetes is open source and highly portable, allowing workloads to run across different environments, including on-premise infrastructure and cloud providers like AKS, EKS and GKE. This makes it easier to avoid dependency on a single vendor and supports multi-cloud strategies.

OpenShift, while built on Kubernetes, introduces a stronger level of vendor dependency through its platform-specific features, tooling and subscription model. Although applications remain portable at the Kubernetes level, organisations may rely on OpenShift-specific components for CI/CD, security and operations.

In practice:

  • Kubernetes offers greater flexibility and portability with minimal vendor lock-in
  • OpenShift provides a more integrated experience, but increases reliance on the Red Hat ecosystem

For most organisations, the trade-off is between control and portability versus standardisation and convenience.

Verdict: Kubernetes minimises vendor lock-in and maximises portability, while OpenShift offers a more integrated platform at the cost of increased ecosystem dependency.

What are common misconceptions about Kubernetes vs OpenShift?

When comparing Kubernetes vs OpenShift, there are several common misconceptions that can lead to poor decision-making. Clarifying these helps ensure you choose the right platform based on facts rather than assumptions.

“OpenShift is just Kubernetes”

OpenShift is built on Kubernetes, but it is not just Kubernetes. It adds a full platform layer with integrated tools for CI/CD, security, monitoring and developer workflows. In the OpenShift vs Kubernetes comparison, OpenShift is a more complete, opinionated solution rather than a standalone orchestration tool.

“Kubernetes has no security”

Kubernetes provides strong security features such as role-based access control, network policies and secrets management. However, these must be configured and maintained by your team. The difference between Kubernetes vs OpenShift is that OpenShift enforces stricter security defaults out of the box.

“OpenShift removes all complexity”

OpenShift simplifies many aspects of Kubernetes, but it does not eliminate complexity entirely. Teams still need to understand containerisation, deployment strategies and infrastructure concepts. OpenShift reduces operational overhead, but it is not a fully managed, hands-off solution.

“Kubernetes is always cheaper”

While Kubernetes has no licensing cost, it can become expensive when you factor in engineering time, tooling and maintenance. In some cases, OpenShift’s licensing cost is offset by reduced operational effort, making the total cost of ownership comparable or even lower.

Understanding these misconceptions is key to making an informed Kubernetes vs OpenShift decision. Both platforms are powerful, but they solve different problems depending on your organisation’s needs, expertise and scale.

Verdict: Many misconceptions about Kubernetes vs OpenShift come from oversimplification, and the right choice depends on context, not assumptions.

What are common misconceptions about Kubernetes vs OpenShift?

When comparing Kubernetes vs OpenShift, there are several common misconceptions that can lead to poor decision-making. Clarifying these helps ensure you choose the right platform based on facts rather than assumptions.

“OpenShift is just Kubernetes”

OpenShift is built on Kubernetes, but it is not just Kubernetes. It adds a full platform layer with integrated tools for CI/CD, security, monitoring and developer workflows. In the OpenShift vs Kubernetes comparison, OpenShift is a more complete, opinionated solution rather than a standalone orchestration tool.

“Kubernetes has no security”

Kubernetes provides strong security features such as role-based access control, network policies and secrets management. However, these must be configured and maintained by your team. The difference between Kubernetes vs OpenShift is that OpenShift enforces stricter security defaults out of the box.

“OpenShift removes all complexity”

OpenShift simplifies many aspects of Kubernetes, but it does not eliminate complexity entirely. Teams still need to understand containerisation, deployment strategies and infrastructure concepts. OpenShift reduces operational overhead, but it is not a fully managed, hands-off solution.

“Kubernetes is always cheaper”

While Kubernetes has no licensing cost, it can become expensive when you factor in engineering time, tooling and maintenance. In some cases, OpenShift’s licensing cost is offset by reduced operational effort, making the total cost of ownership comparable or even lower.

Understanding these misconceptions is key to making an informed Kubernetes vs OpenShift decision. Both platforms are powerful, but they solve different problems depending on your organisation’s needs, expertise and scale.

Verdict: Many misconceptions about Kubernetes vs OpenShift come from oversimplification, and the right choice depends on context, not assumptions.

blue arrow to the left
Imaginary Cloud logo

Final Thoughts

Choosing between Kubernetes vs OpenShift is a strategic decision. Kubernetes offers flexibility and control for teams with strong expertise, while OpenShift simplifies operations with built-in security and enterprise-ready tooling.

If you are deciding between Kubernetes vs OpenShift and need expert guidance, contact Imaginary Cloud. We help you design and scale the right platform for your business goals.

blue arrow to the left
Imaginary Cloud logo

FAQ

Is OpenShift just Kubernetes?

No. OpenShift is built on Kubernetes, but it extends it with additional tools for security, CI/CD and developer workflows. Kubernetes is the core orchestration engine, while OpenShift adds a platform layer designed to simplify and standardise operations.

Which is better: Kubernetes or OpenShift?

Neither is universally better. Kubernetes is more flexible and cost-efficient, while OpenShift is easier to manage and more enterprise-ready. The best choice depends on your team’s expertise, budget and compliance requirements.

Is OpenShift worth the cost compared to Kubernetes?

OpenShift can be worth the cost for enterprises because it reduces operational complexity and includes built-in tools and support. Kubernetes has no licensing fees, but may require more engineering resources, which can increase total cost of ownership.

Can you use Kubernetes and OpenShift together?

Yes. OpenShift runs on top of Kubernetes, so both can coexist in the same ecosystem. Some organisations use Kubernetes for flexibility and OpenShift as a standardised platform layer for enterprise workloads.

What is the main difference between Kubernetes vs OpenShift?

The main difference is that Kubernetes is an open source container orchestration system, while OpenShift is a Kubernetes-based platform with added enterprise features like automation, security and integrated tooling.

Build scalable products with web and mobile development CTA

Alex Gamela
Alex Gamela

Rédacteur de contenu et producteur de médias numériques qui s'intéresse à la relation symbiotique entre la technologie et la société. Les livres, la musique et les guitares sont une constante.

Read more posts by this author
Rute Figueiredo
Rute Figueiredo

Développeur de logiciels passionné par la technologie et son impact sur notre vie. J'adore le sport, la musique et l'apprentissage !

Read more posts by this author
Alexandra Mendes
Alexandra Mendes

Alexandra Mendes est spécialiste senior de la croissance chez Imaginary Cloud et possède plus de 3 ans d'expérience dans la rédaction de textes sur le développement de logiciels, l'IA et la transformation numérique. Après avoir suivi un cours de développement frontend, Alexandra a acquis des compétences pratiques en matière de codage et travaille désormais en étroite collaboration avec les équipes techniques. Passionnée par la façon dont les nouvelles technologies façonnent les entreprises et la société, Alexandra aime transformer des sujets complexes en contenus clairs et utiles pour les décideurs.

LinkedIn

Read more posts by this author

People who read this post, also found these interesting:

arrow left
arrow to the right
Dropdown caret icon