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.
Alexandra Mendes

16. september 2024

Min Read

Hvorfor DevOps er afgørende for Cloud Solutions Architects

Vedtagelse af DevOps-praksis er nu afgørende for organisationer, der sigter mod større smidighed, effektivitet og innovation. DevOps, som kombinerer udvikling (Dev) og drift (Ops), tilskynder til et stærkt samarbejde mellem softwareudviklings- og it-driftsteams.

En Cloud Solutions Architect spiller en afgørende rolle i design og tilsyn med en organisations cloud-infrastruktur. De er ansvarlige for at skabe skalerbare, sikre og effektive cloud-miljøer, der opfylder forretningsmål. Denne rolle kræver et solidt greb om cloud-teknologier, bedste praksis inden for arkitektur og evnen til at styre komplekse, distribuerede systemer, samtidig med at der sikres gnidningsløs integration på tværs af forskellige tjenester.

Som bindeleddet mellem udvikling og drift er DevOps afgørende for Cloud Solutions Architects, der hjælper dem med at holde sig foran og levere effektive cloud-løsninger.

blue arrow to the left
Imaginary Cloud logo

Forståelse af DevOps og dets kerneprincipper

Hvad er DevOps?

DevOps er en metode, der forener udvikling og drift for at strømline softwarelevering og forbedre samarbejdet. Formålet er at reducere tiden mellem skrive kode og implementere den til produktion ved at fremme en kultur med kontinuerlig integration, levering og feedback.

De vigtigste DevOps-praksisser omfatter kontinuerlig integration/kontinuerlig implementering (CI/CD), infrastruktur som kode (IaC), automatiseret test og overvågning.

- CI/CD-rørledninger automatisere processen med at integrere kodeændringer og implementere dem til produktion, hvilket sikrer hurtigere og mere pålidelige udgivelser.

- IaC gør det muligt at administrere infrastruktur gennem kode, hvilket gør det lettere at vedligeholde og skalere.

- Automatiseret test hjælper med at identificere problemer tidligt, mens kontinuerlig overvågning sikrer, at systemerne fungerer optimalt.

Disse værktøjer og fremgangsmåder sikrer hurtigere og mere pålidelige udgivelser, hvilket gør det nemmere at vedligeholde og skalere cloud-infrastruktur. DevOps-platforme supportteamsamarbejde, konsistens, værktøjsforenkling og måling af softwareleveringsmålinger.

Kerneprincipper for DevOps

Kerneprincipperne i DevOps drejer sig om samarbejde, kommunikation, kontinuerlig forbedring og automatisering. Samarbejde nedbryder siloer mellem teams, hvilket fører til hurtigere problemløsning og bedre tilpasning til forretningsmål. Kontinuerlig forbedring og automatisering reducerer manuel indsats og risikoen for fejl, så teams kan fokusere på mere strategiske opgaver, som du kan se i disse casestudier der demonstrerer vellykket implementering af DevOps-principper.

Udviklingen af DevOps i Cloud-æraen

Da cloud computing er blevet rygraden i moderne it-infrastruktur, har DevOps-metoden udviklet sig til at tackle de unikke udfordringer og muligheder, som skyen præsenterer. Fremkomsten af cloud-native applikationer, der er designet til at udnytte det fulde potentiale i cloud-miljøer, har gjort DevOps-praksis endnu mere kritisk.

I de tidlige dage var DevOps primært fokuseret på at forbedre effektiviteten af traditionelle, lokale systemer. Men med fremkomsten af cloud computing er omfanget af DevOps udvidet. Nu involverer det automatisering af softwarelevering og styring af cloud-infrastruktur, sikkerhed, overholdelse og skalerbarhed. Denne udvikling har ført til udviklingen af nye værktøjer og praksis, der er specielt skræddersyet til cloud-miljøer, såsom serverløs computing, containerorkestrering og mikroservicearkitektur.

blue arrow to the left
Imaginary Cloud logo

Rollen som en cloud-løsningsarkitekt

Nøgleansvar for en cloud-løsningsarkitekt

En Cloud Solutions Architect designer og implementerer cloud-miljøer, der er skræddersyet til en organisations behov. Deres ansvar omfatter at sikre, at cloud-løsninger er skalerbare, sikre og pålidelige. De vælger passende skytjenester, opretter arkitektoniske tegninger og administrerer integrationen af disse tjenester.

De overvåger også de værktøjer og tjenester, der bruges til at overvåge og automatisere cloudmiljøer, optimere ydeevne og omkostningseffektivitet, samtidig med at de sikrer overensstemmelse med forretningsmålene.

En kritisk del af deres rolle involverer at forstå forretningsmålene og omsætte dem til en teknisk arkitektur, der udnytter skyens styrker. Dette kræver en dyb forståelse af forskellige cloud-platforme (f.eks. AWS, Azure, Google Cloud) samt evnen til at vælge den rigtige kombination af tjenester til at opfylde specifikke krav.

Udfordringer som Cloud Solutions Architects står over for

Cloud Solutions Architects står over for udfordringer som at administrere komplekse, distribuerede systemer og holde trit med hurtigt udviklende cloud-teknologier. Sikring af overholdelse og sikkerhed i cloudmiljøer er også et vigtigt problem i betragtning af de stigende trusler og lovkrav.

En anden udfordring er at afbalancere behovet for innovation med kravene til vedligeholdelse af eksisterende systemer. Efterhånden som virksomheder presser på for hurtigere og hyppigere opdateringer, skal arkitekter sikre, at cloud-infrastrukturen kan håndtere den øgede belastning og kompleksitet uden at gå på kompromis med ydeevne eller sikkerhed.

Derudover har Cloud Solutions Architects ofte brug for at administrere multi-cloud-miljøer, hvor forskellige dele af organisationen bruger forskellige cloud-udbydere. Dette tilføjer endnu et lag af kompleksitet, da arkitekter skal sikre problemfri integration og kommunikation mellem disse forskellige systemer.

Den strategiske betydning af Cloud Solutions Architects

Rollen som Cloud Solutions Architect strækker sig ud over blot teknisk implementering. De er strategiske partnere i organisationen og arbejder tæt sammen med virksomhedsledere for at drive digitale transformationsinitiativer. Ved at udnytte cloud-teknologier hjælper de organisationen med at nå sine forretningsmål, uanset om det drejer sig om at gå ind på nye markeder, forbedre kundeoplevelser eller reducere driftsomkostninger.

I mange organisationer er Cloud Solutions Architects også ansvarlige for at opbygge og vedligeholde en cloud governance framework. Denne ramme sikrer, at brugen af cloud-ressourcer stemmer overens med organisationens politikker, sikkerhedsstandarder og budgetmæssige begrænsninger. Dette er især vigtigt i store organisationer, hvor forskellige teams muligvis bruger skyen på forskellige måder.

Digital transformation service call-to-action
blue arrow to the left
Imaginary Cloud logo

Hvorfor DevOps er afgørende for Cloud Solutions Architects

Styrkelse af samarbejde og effektivitet

DevOps nedbryder siloer mellem udviklings- og driftsteams og fremmer et samarbejdsmiljø, der strømliner udrulningen af cloud-løsninger. Dette fører til hurtigere problemløsning og mere effektiv implementering og optimering af cloudmiljøer, hvilket direkte bidrager til hurtigere time-to-market, mere responsive tjenester og reducere menneskelige fejl og øge teamets produktivitet.

Den samarbejdsmæssige karakter af DevOps strækker sig også til tværfunktionelle teams, herunder sikkerhed, kvalitetssikring og overholdelse. Ved at bringe disse teams tidligt ind i udviklingsprocessen kan Cloud Solutions Architects sikre, at alle aspekter af cloud-miljøet overvejes fra starten. Dette reducerer sandsynligheden for, at problemer opstår senere i projektet, hvilket fører til mere vellykkede resultater.

Mulighed for kontinuerlig levering og integration

CI/CD-rørledninger er centrale i moderne cloud-arkitektur, der automatiserer integration og levering af kode for at understøtte hurtig iteration og implementering. For Cloud Solutions Architects betyder det hurtigere og mere pålidelig udrulning af opdateringer og funktioner, hvilket sikrer, at cloud-tjenester forbliver tilpasningsdygtige til virksomhedens behov.

Kontinuerlig levering gør det muligt for teams at frigive nye funktioner og opdateringer til kunderne oftere uden at ofre kvalitet eller stabilitet. Dette er især vigtigt i konkurrencedygtige brancher, hvor evnen til hurtigt at reagere på kundefeedback eller markedsændringer kan gøre forskellen mellem succes og fiasko.

Desuden giver CI/CD-rørledninger en ramme for test og validering af ændringer, før de implementeres til produktion. Dette reducerer risikoen for at introducere fejl eller andre problemer, hvilket kan være særligt dyrt i cloudmiljøer, hvor nedetid kan resultere i betydelige økonomiske tab.

Automatisering af cloud operationer

Automatisering er en hjørnesten i DevOps, især gennem Infrastructure as Code (IaC) og automatiseret test. Disse fremgangsmåder gør det muligt for Cloud Solutions Architects at administrere og skalere cloud-infrastruktur mere effektivt, samtidig med at fejl og manuel arbejdsbyrde reduceres.

iAC-værktøjer, såsom Terraform, AWS CloudFormation, Azure Resource Manager, og Google Cloud-implementeringshåndtering, hjælpe arkitekter med at definere den ønskede tilstand af deres infrastruktur i kode, som derefter kan versionskontrolleres, testes og implementeres ligesom applikationskode. Denne tilgang sikrer, at infrastrukturen er konsistent, gentagelig og let genoprettelig i tilfælde af et problem.

Automatiseret test er en anden kritisk komponent i DevOps, så teams hurtigt kan validere, at ændringer i infrastrukturen eller applikationskoden ikke introducerer regressioner eller andre problemer. Dette er især vigtigt i skymiljøer, hvor infrastrukturens dynamiske karakter kan gøre manuel test upraktisk eller umulig.

Forbedring af sikkerhed og overholdelse

DevSecOps integrerer sikkerhed i DevOps-pipelinen, hvilket sikrer, at sikkerhedsforanstaltninger er integreret i hele udviklingsprocessen. Denne tilgang er afgørende for at opretholde overholdelse og beskytte følsomme data, hvilket hjælper arkitekter med at opbygge mere sikre cloud-løsninger.

I traditionelle it-miljøer blev sikkerhed ofte behandlet som et særskilt problem, der først blev behandlet, efter at udviklingsprocessen var afsluttet. Dette førte til forsinkelser, øgede omkostninger og en højere risiko for sikkerhedsbrud. DevSecOps integrerer derimod sikkerhed i alle faser af udviklingsprocessen, fra design til implementering.

Denne shift-venstre-tilgang til sikkerhed hjælper Cloud Solutions Architects med at identificere og afbøde potentielle sikkerhedsrisici tidligt, før de kan blive store problemer. Det sikrer også, at sikkerhed ikke er en eftertanke, men en kerneovervejelse i design og implementering af cloud-løsninger.

DevOps bedste praksis for arkitekter for cloud-løsninger

Vedtagelse af en cloud-native DevOps-tankegang

En cloud-native DevOps-tilgang understreger brugen af mikrotjenester, containere og serverløse arkitekturer til at opbygge skalerbare og robuste systemer. Disse teknologier hjælper Cloud Solutions Architects med at skabe mere tilpasningsdygtige og effektive cloud-miljøer.

Mikrotjenester opdeler applikationer i mindre, uafhængige tjenester, som hver især kan udvikles, implementeres og skaleres uafhængigt. Dette giver større fleksibilitet og hurtigere levering af nye funktioner, da teams kan arbejde på forskellige dele af applikationen samtidigt.

Containere giver et ensartet runtime-miljø for mikrotjenester, hvilket sikrer, at de opfører sig på samme måde på tværs af forskellige miljøer. Dette reducerer risikoen for problemer, der opstår på grund af forskelle mellem udviklings- og produktionsmiljøer.

Serverløse arkitekturer tager dette et skridt videre og abstraherer den underliggende infrastruktur helt væk. Dette gør det muligt for Cloud Solutions Architects at fokusere på applikationens forretningslogik uden at bekymre sig om detaljerne i infrastrukturen.

Opbygning af effektive CI/CD-rørledninger

Implementering af robuste CI/CD-rørledninger med værktøjer som Jenkins, GitLab CI, eller AWS CodePipeline er afgørende for kontinuerlig levering i skyen. Disse pipeliner automatiserer integration og implementering, hvilket muliggør hyppige og pålidelige opdateringer.

For at opbygge en effektiv CI/CD-pipeline skal Cloud Solutions Architects først definere stadierne i pipelinen, herunder bygge, teste og implementere. Hvert trin skal automatiseres så meget som muligt, med manuel indgriben kun nødvendig for kritiske beslutningspunkter, såsom produktionsinstallationer.

Ud over at automatisere selve pipelinen er det også vigtigt at sikre, at pipelinen er integreret med andre DevOps-værktøjer, såsom versionskontrol, overvågning og alarmsystemer. Dette giver et holistisk overblik over hele udviklings- og implementeringsprocessen, så teams hurtigt kan identificere og løse eventuelle problemer, der opstår.

Udnyttelse af infrastruktur som kode (IaC)

iAC giver Cloud Solutions Architects mulighed for at administrere cloud-ressourcer gennem kode, hvilket sikrer konsistens og repeterbarhed.

En af de vigtigste fordele ved iAC er, at det giver teams mulighed for at behandle infrastruktur som et softwareaktiv, underlagt de samme strenge test- og valideringsprocesser som applikationskode. Dette reducerer risikoen for konfigurationsdrift, hvor infrastrukturens tilstand afviger fra den tilsigtede konfiguration over tid.

IaC gør det også muligt for Cloud Solutions Architects hurtigt at levere og skalere infrastruktur som reaktion på skiftende forretningsbehov. For eksempel kan arkitekter i perioder med høj efterspørgsel hurtigt implementere yderligere ressourcer for at sikre, at applikationen forbliver responsiv og tilgængelig for brugerne.

Overvågning og optimering

Kontinuerlig overvågning med værktøjer som Prometheus, Grafana, og AWS CloudWatch er afgørende for at opretholde sundheden og ydeevnen af cloud-infrastruktur. Ved at analysere overvågningsdata kan arkitekter optimere ressourceforbruget og forbedre omkostningseffektiviteten.

Overvågning giver synlighed i realtid i cloudmiljøets ydeevne, så teams hurtigt kan identificere og løse problemer, før de påvirker brugerne. Dette er især vigtigt i cloud-miljøer, hvor infrastrukturens dynamiske karakter kan gøre det vanskeligt at forudsige, hvordan ændringer vil påvirke ydeevnen.

Ud over at overvåge ydeevnen er det også vigtigt at overvåge omkostningerne. Cloud-ressourcer faktureres typisk efter forbrug, hvilket betyder, at ineffektivitet eller fejlkonfigurationer kan resultere i uventede omkostninger. Ved at overvåge ressourceforbruget og identificere muligheder for optimering kan Cloud Solutions Architects sikre, at cloud-miljøet forbliver omkostningseffektivt.

Implementering af DevSecOps til forbedret sikkerhed

Sikkerhed er et topproblem i cloud-miljøer, og DevSecOps-praksis er afgørende for at sikre, at sikkerhed er integreret i hele udviklingsprocessen. Ved at integrere sikkerhedskontroller i CI/CD-pipelinen kan Cloud Solutions Architects automatisere håndhævelsen af sikkerhedspolitikker og sikre, at alle ændringer gennemgås grundigt, før de implementeres i produktionen.

Denne tilgang giver også teams mulighed for at reagere hurtigere på sikkerhedstrusler, da sårbarheder kan identificeres og afhjælpes, før de udnyttes. Derudover kan arkitekter ved at integrere sikkerhed i udviklingsprocessen reducere risikoen for at indføre sikkerhedsfejl under udviklingen, hvilket sikrer, at cloud-miljøet forbliver sikkert over tid.

DevSecOps fremmer også en kultur med delt ansvar for sikkerhed, hvor alle teammedlemmer tager ejerskab af sikkerhedsproblemer. Dette hjælper med at nedbryde de traditionelle siloer mellem udviklings-, drifts- og sikkerhedsteams, hvilket fører til en mere samarbejdsvillig og effektiv tilgang til sikkerhed.

Fokus på kontinuerlig læring og forbedring

Teknologilandskabet udvikler sig konstant, og Cloud Solutions Architects skal holde sig ajour med de nyeste trends og bedste praksis. Kontinuerlig læring er afgørende for at sikre, at arkitekter kan udnytte de nyeste værktøjer og teknikker til at optimere cloudmiljøer.

Dette kan opnås gennem en kombination af formel træning, selvstudium og praktisk erfaring. Mange organisationer opfordrer også arkitekter til at deltage i konferencer, webinarer og andre branchebegivenheder for at holde sig informeret om den seneste udvikling inden for cloud computing og DevOps.

Ud over at holde sig ajour med den nyeste teknologi er det også vigtigt løbende at vurdere og forbedre DevOps-processerne selv. Dette kan gøres gennem regelmæssige retrospektiver, hvor teams gennemgår deres præstationer og identificerer muligheder for forbedring.

Ved at fremme en kultur med kontinuerlig læring og forbedring kan organisationer sikre, at deres Cloud Solutions Architects er veludstyrede til at imødekomme udfordringerne i det moderne cloud-miljø.

blue arrow to the left
Imaginary Cloud logo

Casestudier: DevOps-succes i Cloud-arkitektur

Netflix - Skalering med Microservices og DevOps

Netflix vedtog en mikroservicearkitektur understøttet af DevOps-praksis for at tackle udfordringerne ved at skalere sin monolitiske applikation. Ved at opdele applikationen i mindre, uafhængige tjenester og implementere CI/CD-pipeliner opnåede Netflix større smidighed og skalerbarhed ved at implementere tusindvis af opdateringer dagligt uden at påvirke tjenestetilgængeligheden.

Netflix's brug af containere og orkestreringsværktøjer som Kubernetes forbedrede yderligere dets evne til at administrere og skalere sin infrastruktur. Virksomheden udnyttede også iAC til at automatisere klargøring og styring af sine cloud-ressourcer, hvilket sikrede konsistens og reducerede risikoen for menneskelige fejl.

Ved at omfavne DevOps og cloud-native teknologier har Netflix været i stand til at bevare sin position som førende inden for den meget konkurrencedygtige streamingindustri og levere en problemfri oplevelse til millioner af brugere over hele verden.

Amazon - Forbedring af smidighed med DevOps

Amazon transformerede sin it-drift ved implementering af DevOps, der muliggør hurtig implementering og skalering af sine tjenester. Ved hjælp af Infrastructure as Code (IaC) med værktøjer som AWS CloudFormation automatiserede Amazon klargøring og styring af sin enorme cloud-infrastruktur, hvilket reducerede implementeringstider og forbedrede pålideligheden.

Amazons brug af CI/CD-pipeliner har også været medvirkende til at gøre det muligt for virksomheden at levere nye funktioner og opdateringer til kunderne hurtigt og pålideligt. Ved at automatisere test- og implementeringsprocessen har Amazon været i stand til at opretholde et højt kvalitetsniveau og samtidig øge leveringshastigheden.

Derudover har Amazon integreret sikkerhed i sine DevOps-processer gennem DevSecOps-praksis, hvilket sikrer, at alle ændringer undersøges grundigt for sikkerhedssårbarheder, før de implementeres til produktion. Dette har hjulpet virksomheden med at bevare kundernes tillid, selvom den fortsætter med at innovere og udvide sine tjenester.

Spotify - Fremskynder levering med DevOps

Spotify udnyttede DevOps at fremskynde sine softwareleveringsprocesser. Ved at indføre en mikroservicearkitektur og CI/CD-pipeliner strømlinede Spotify sine udviklingscyklusser, så teams kan implementere kode oftere og pålideligt. Denne tilgang har været medvirkende til at støtte Spotifys vækst og opretholde en brugeroplevelse af høj kvalitet.

Spotifys brug af automatiserings- og overvågningsværktøjer har også været nøglen til dens succes. Ved at automatisere implementeringsprocessen og løbende overvåge ydeevnen af sine tjenester har Spotify været i stand til hurtigt at identificere og løse problemer, før de påvirker brugerne.

Derudover har Spotify omfavnet en kultur med kontinuerlig læring og forbedring, hvor teams regelmæssigt gennemgår deres præstationer og identificerer muligheder for forbedring. Dette har hjulpet virksomheden med at forblive fleksibel og lydhør over for skiftende markedsforhold, hvilket sikrer, at det forbliver førende inden for den meget konkurrencedygtige musikstreamingindustri.

Shopify — Håndtering af massiv skala med DevOps

Shopify, en førende e-handelsplatform, har også med succes implementeret DevOps-praksis for at styre sin massive skala. Da millioner af forhandlere var afhængige af sin platform, havde Shopify brug for en måde at sikre, at dens infrastruktur kunne skaleres hurtigt og samtidig opretholde høj tilgængelighed og ydeevne.

Shopify vedtog en mikroservicearkitektur og CI/CD-rørledninger for at muliggøre hurtig udvikling og implementering af nye funktioner. Virksomheden udnyttede også iAC til at automatisere klargøring og styring af sin cloud-infrastruktur, hvilket sikrede konsistens og reducerede risikoen for fejl.

Derudover implementerede Shopify avancerede overvågnings- og advarselssystemer for at give synlighed i realtid om ydelsen af sine tjenester. Dette har gjort det muligt for virksomheden hurtigt at identificere og løse problemer og sikre, at dens platform forbliver pålidelig selv i spidsbelastningsperioder.

blue arrow to the left
Imaginary Cloud logo

Nøgletips og handlingsrettede trin

DevOps er afgørende for Cloud Solutions Architects, da det forbedrer samarbejdet, fremskynder implementeringen og forbedrer pålideligheden og sikkerheden af cloud-systemer. Ved at anvende DevOps-praksis kan arkitekter skabe skalerbare, sikre og effektive cloudmiljøer, der opfylder nutidens forretningskrav.

Praktiske trin til integration af DevOps i cloud-arkitektur:

  1. Vedtag en cloud-native tankegang: Fokuser på mikrotjenester, containere og serverløse arkitekturer.
  2. Implementere CI/CD-rørledninger: Brug værktøjer som Jenkins eller AWS CodePipeline til at automatisere integration og implementering.
  3. Udnyt infrastruktur som kode (IaC): Brug værktøjer som Terraform eller CloudFormation til konsekvent og skalerbar infrastrukturstyring.
  4. Kontinuerlig overvågning: Brug overvågningsværktøjer til at spore ydeevne og optimere cloud-ressourcer.
  5. Integrer sikkerhed i DevOps: Vedtag DevSecOps-praksis for at sikre, at sikkerhed er integreret i hele udviklingsprocessen.
  6. Fremme en kultur for kontinuerlig læring: Tilskynd løbende uddannelse og forbedring for at være på forkant med branchens tendenser.

Vedtagelse af denne praksis er afgørende for at forblive konkurrencedygtig i branchen og sikre, at cloud-løsninger er robuste og tilpasningsdygtige til fremtidige udfordringer.

blue arrow to the left
Imaginary Cloud logo

Konklusion

DevOps er afgørende for Cloud Solutions Architects, der driver bedre samarbejde, hurtigere implementeringer og mere pålidelige cloudmiljøer. Ved at integrere DevOps-praksis kan arkitekter designe cloud-systemer, der er skalerbare, sikre og tilpasset forretningsbehov.

For at være på forkant i branchen skal du udforske DevOps yderligere og begynde at implementere de diskuterede strategier. Omfavn disse fremgangsmåder for at opbygge modstandsdygtige, fremtidssikrede cloud-løsninger. Partner med Imaginær sky at udnytte vores ekspertise inden for digital transformation og cloud-arkitektur for at sikre, at din organisation forbliver konkurrencedygtig og sikker i nutidens hurtige teknologilandskab. Lad os bygge fremtiden sammen.

Build scalable products with web and mobile development call-to-action
blue arrow to the left
Imaginary Cloud logo
blue arrow to the left
Imaginary Cloud logo
blue arrow to the left
Imaginary Cloud logo
Alexandra Mendes
Alexandra Mendes

Alexandra Mendes er Senior Growth Specialist hos Imaginary Cloud med 3+ års erfaring med at skrive om softwareudvikling, AI og digital transformation. Efter at have gennemført et frontend-udviklingskursus fik Alexandra nogle praktiske kodningsevner og arbejder nu tæt sammen med tekniske teams. Alexandra brænder for, hvordan nye teknologier former erhvervslivet og samfundet, og hun nyder at omdanne komplekse emner til klart og nyttigt indhold for beslutningstagere.

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