7 PaaS för att bygga och vara värd för dina moderna applikationer

By rik

Denna artikel utforskar de mest framstående PaaS-plattformarna som står till buds för den moderna applikationsutvecklaren.

PaaS, eller Platform as a Service, är en molntjänstmodell som innebär att leverantörer erbjuder en komplett plattform för kunder att utveckla och hosta sina applikationer. Utvecklare och DevOps-team använder dessa plattformar för att skapa, testa och driftsätta applikationer. Denna modell låter utvecklare fokusera helt på applikationslogiken och överlämna ansvaret för den underliggande plattformens infrastruktur till tjänsteleverantören.

Genom att frigöra utvecklare från infrastrukturhantering, möjliggör PaaS en snabbare utvecklingscykel. Det finns en rad olika PaaS-alternativ tillgängliga, vilka kan underlätta en effektiv och snabb applikationsutveckling.

Nedan följer en genomgång av några ledande, hanterade plattformar. För de som är intresserade av att bygga en intern lösning, kan dessa exempel fungera som inspiration för en egen mini-PaaS.

Google App Engine

Google Cloud erbjuder App Engine, en helt serverlös plattform, som är utformad för att hantera högskaliga applikationer. Med App Engine slipper man all server- och infrastrukturhantering, vilket gör det möjligt att fokusera helt på applikationsutvecklingen.

App Engine erbjuder två miljöalternativ: Standard och Flexibel. Standardmiljön kör applikationsinstanser i en skyddad miljö (sandlåda) och är idealisk vid plötsliga trafikökningar som kräver snabb skalning. Den flexibla miljön kör instanser i Docker-behållare och passar bra vid oregelbunden trafik. Båda miljöerna kan även användas parallellt.

Skalning av applikationen kan göras med några få klick, vilket gör att resurser kan allokeras på bara några minuter.

Funktioner i Google Cloud App Engine:

  • Ingen serverhantering eller konfiguration krävs
  • Kostnadseffektivt, med betalning endast för faktiskt resursutnyttjande
  • IAM-regler och brandvägg för att skydda applikationer
  • Stöd för utveckling i Java, Python, Node.js, Go, Ruby, C#, PHP och egna språkkörningar
  • Loggning och övervakning för applikationshälsokontroll
  • Möjlighet att hantera olika appversioner och skapa separata miljöer (DEV, TEST, PROD)

Denna plattform är kostnadseffektiv, och nya kunder får 300 $ i kredit under de första 90 dagarna.

DigitalOcean App Platform

DigitalOcean har lanserat en App Platform som snabbt vinner popularitet bland utvecklare.

Plattformen automatiserar byggprocessen av kod från GitHub och distribuerar applikationen i molnet. Uppdateringar i GitHub triggar automatiskt en om-distribution av applikationen, en process som kallas GitOps.

Denna process möjliggör en effektiv och smidig utvecklingsprocess.

Funktioner i DigitalOcean App Platform:

  • Hanterar OS, infrastruktur, beroenden, databaser m.m.
  • Hanterar SSL-certifikat och skyddar mot DDoS-attacker
  • Direkt distribution från GitHub-repositorier
  • Flexibla skalningsmöjligheter som minimerar driftstopp
  • Stöd för applikationer baserade på Python, React, Node.js, Laravel, Ruby, Ruby on Rails, GoLang, Gatsby, Hugo, Dockerfile, statiska webbplatser, och mycket mer.

App Platformen kan hanteras via DO-panelen eller API:et. En grundläggande användning kostar från 5 dollar per månad. DO passar bra för små och medelstora företag.

Platform.sh

Platform.sh är en komplett PaaS-lösning för utveckling, drift och skalning av applikationer. Plattformen är byggd med fokus på kontinuerlig driftsättning och erbjuder en högpresterande molntjänst.

Prisplaner och funktioner för Platform.sh:

Funktioner i Platform.sh:

  • Marknadsplats med stöd för olika språk och databaser
  • Hanterar säkerhet och uppdateringar automatiskt
  • Klonar produktionsmiljön för varje Git-gren, för att ge utvecklare och QA-team en produktionslik testmiljö.
  • Kontinuerlig driftsättning av containerbaserade build-on-production
  • Multicloud-stöd för distribution i hela världen

Platform.sh har datacenter i Montreal, Northern Virginia, Washington, Dublin, Paris, London, Frankfurt och Sydney och erbjuder lösningar för företag.

Jelastic

Jelastic är en plattform för utvecklare som underlättar distribution, skalning och hantering av applikationer i molnet. Plattformen erbjuder triggers för horisontell eller vertikal skalning vid ökad belastning.

En instrumentpanel ger tillgång till loggar och konfigurationsfiler. Dessutom finns en funktion för teamsamarbete där medlemmar kan bjudas in för att hantera applikationen.

Jelastic har en betalningsmodell baserad på användning. En molnkalkylator hjälper till att förstå de potentiella kostnaderna.

Funktioner i Jelastic:

  • Gränssnitt och API för automatisk provisionering
  • Automatisk vertikal och horisontell skalning
  • Integrerat stöd för CI/CD-verktyg
  • Automatiserad trafikdistribution för driftsättning utan driftstopp
  • Funktioner för att stoppa, starta om eller klona vilande applikationer
  • Integrerade IDE-plugins för Eclipse, IntelliJ IDEA, NetBeans
  • Loggvisare och konfigurationshanterare via instrumentpanelen

Jelastic stöder applikationer i Java, PHP, Python, Node.js, Ruby, Go, samt Docker och Kubernetes.

Azure App Service

Azure App Service från Microsoft möjliggör utveckling och drift av webbappar, mobila backend-tjänster och RESTful API:er i valfritt programmeringsspråk, utan infrastrukturhantering. Plattformen erbjuder automatisk skalning och hög tillgänglighet, med stöd för både Windows och Linux.

Automatiska distributioner från GitHub, Azure DevOps eller andra Git-repositorier är möjliga. Säkerhets- och prestandastandarder garanteras, med kapacitet att hantera upp till 40 miljarder förfrågningar per dag. Genom reserverade apptjänstinstanser kan kostnaderna minska med upp till 55 % jämfört med en pay-as-you-go-modell.

Ett inbyggt övervakningssystem ger realtidsfelsökning. Azure Monitor och Application Insights ger verktyg för att kontrollera status och prestanda. Ett realtidsvarningssystem meddelar om eventuella problem.

Funktioner i Azure App Service:

  • Stöd för C#, PHP, Java, Python, Ruby m.fl.
  • Integrerad CI/CD med Azure DevOps, GitHub, BitBucket, DockerHub etc.
  • 99,95% tillgänglighet garanteras
  • Enkel vertikal och horisontell skalning
  • SOC och PCI certifierad för säkerhet
  • Autentiseringsfunktioner med Azure AD och andra leverantörer som Google, Microsoft Live, Facebook m.fl.
  • Integration med Visual Studio

Azure är en robust plattform för företagsbehov.

Heroku Platform

Heroku Platform är en pionjär inom PaaS-tjänster.

Heroku låter utvecklare fokusera på att leverera lösningar snarare än infrastruktur. Heroku Platform hanterar de underliggande aspekterna så att utvecklare kan börja direkt med applikationsutvecklingen. I DevOps-världen innebär det Heroku ops och utvecklarnas dev.

Heroku Platform är utvecklar-, app- och produktionscentrerad. Utvecklare får en enkel och smidig upplevelse utan att behöva hantera icke-utvecklingsrelaterade uppgifter. Applikationer kan lanseras snabbare till användare. Driftsättningen sker i en produktionsmiljö utan krångel.

Användarinteraktionen sker via instrumentpanelen eller CLI.

Heroku Platform tillhandahåller följande verktyg:

  • Heroku Developer Experience (DX): Stödjer agil mjukvaruutveckling där fokus ligger på skapande och leverans av applikationer
  • Heroku Operational Experience (OpEx): Används för att felsöka och varna om eventuella problem. Inkluderar varningar, automatisk skalning och applikationsstatistik
  • Heroku Runtime: Kör applikationen i en hanterad och pålitlig miljö, kallad Dyno. Dynos är smarta behållare för applikationen.

Prissättningen på Heroku beror på typ av applikation. Heroku kör applikationer i isolerade Linux-behållare, Dynos.

AWS Elastic Beanstalk

AWS Elastic Beanstalk tillåter driftsättning av applikationer utvecklade i Java, .NET, PHP, Node.js m.fl. på välkända servrar som Apache, Nginx, Tomcat. Med Elastic Beanstalk laddar utvecklarna upp sina applikationer.

Lastbalansering, automatisk skalning och övervakning hanteras automatiskt av AWS.

Elastic Beanstalk förenklar applikationsutvecklingen. Fokus ligger på kodskrivande; AWS hanterar servrar, lagring, nätverk, virtualisering, OS och databaser.

Funktioner i AWS Elastic Beanstalk:

  • Flera distributionsalternativ: AWS-konsolen, Eclipse, Visual Studio, Beanstalk CLI
  • Stöd för flera språk och plattformar som Java, .NET, Python, Ruby, PHP, Node.js, Go, Docker
  • Automatisk skalning och elastisk lastbalansering
  • Möjlighet att anpassa AWS-resurser
  • Övervakning via 40+ nyckeltal

AWS Elastic Beanstalk i sig är kostnadsfritt, men användning av underliggande resurser debiteras.

Slutsats

För utvecklare och team som vill fokusera på applikationsutveckling är PaaS ett kraftfullt verktyg. Genom att använda någon av ovanstående plattformar kan applikationer snabbt distribueras, köras och skalas. För de som föredrar traditionell hosting på virtuella maskiner finns även dessa molnplattformar.

Från utveckling till produktion på dagar, inte månader!