Maximizing the Value of Containers and Microservices with the Right Platform
Miska Kaipiainen, Kontena, Inc.
CEO & Founder
About Me
Miska KaipiainenNameCurrent Work
@miskakaiTwitter
CEO & Founder of Kontena, Inc.Previous Digia, Visualweb, Meshcom
Technologies, Radionet
Bio Running high tech companies to international markets with passion to technology. Hobby programmer and electronic music producer.
Meetups Docker Helsinki MeetupAmazon AWS Finland Meetup
Why, What? Containers?
Virtualization vs DockerInterest over Time
Virtualization Docker
GoogleTrends:5yfrom23Oct,2016
Rolling Out DockerFor Production
= Hard
Managing Micro Services= Hard
Microservices with Containers…
Luckily for us, there are some solutions!
The Choices
Do-it-yourselfplatform
Useoneofthehostedplatforms
Useoneoftheexistingplatforms
Do-It-YourselfContainerPlatform
Do you really want to build this by yourself?
Creating Your Own Container Platform is Hard!
• Don’t do it! Seriously, you don’t want to do it!
The only valid reasons to go for DIY platform
1. Use the experience to learn all the nasty parts of container technology
2. You are doing something so special that it does not work with any of the existing solutions
3. Get into container platform business
Let’s create a container platform!
How’s Kontena created? What components does it contain?
Getting Perspective:
Example:KontenaContainerPlatform
KontenaGridAnumberofphysicalorvirtualmachines– KontenaNodes –createaKontenaGrid.Thenodesmaybelocatedanywhere;insingledatacenter,differentAZsordifferentcloudproviders.
OverlayNetworkKontenawillautomaticallycreateanoverlaynetworkpoweredbyWeave andconnectallnodesofaGrid.Overlaynetworkenableservicestocommunicatewitheachotherinmulti-host,multi-AZenvironment.
ServiceDiscoveryKontenahasabuilt-inservicediscoverypoweredbyetcd.ItisusedtoautomaticallyassignDNSaddressesforanyservicesrunninginKontena.ItisalsousedbyKontena’sloadbalancerforzero-downtimeoperation.
OrchestrationKontena’sorchestratorisdistributing,runningandmonitoringallKontenaServicesinaGrid.Servicesmaybestatelessorstateful,andtheyareautomaticallydistributedacrossNodesinaGrid.
ContainerizedWorkloadsWithKontena,allcontainerizedworkloadsaredescribedasServices.KontenaServiceiscomposedofcontainersbasedonthesameimagefile.Servicesmaybescaledandlinkedtogethertocreatecomplexelasticapps.
OS
Docker
KontenaNodes&AgentKontenaAgentmaybeinstalledtoanymachinecapableofrunningDocker.Itisrunningasaprivilegedcontainerina
machine.
KontenaMasterKontenaMasterisorchestratingtheentireKontenasystem.Itprovides
APIsusedbyKontenaCLI,WebUIandthirdpartyintegrations.
KontenaMastermaybeinstalledashigh-availabilitysetupifneeded.
AllBatteriesIncluded!
Built-InImageRegistrySometimesprojectscannotusepubliclyhosted
containerimageregistrieslikeDockerHub.Kontenacomeswithbuilt-incontainerimageregistryprovidingprivateandsecuresolution.
Built-InVPNAccessAllcontainersareruninsideavirtualprivatenetworkbydefault.Nothingisexposedto
Internetunlessexplicitlydefined.WithKontena’sbuilt-inVPNaccessdeveloperscan
securelyaccessthoseresources.
Built-InLoadBalancerKontenacomeswithbuilt-inloadbalancer.
BasedonHaproxy.Itfeaturesfullyautomatic,zero-downtimeoperationduetodeep
integrationwithKontena’sservicediscoveryandorchestrationtechnology.
AggregatedStats&LogsKontenaprovidesreal-timelogandstatisticsstreamscontainers.Thestreamsmaybegroupedandaggregatedtoproduceservicelevelstreams.ThisallowseasyviewingoflogsandstatisticsforyourapplicationCPU,memory,diskandnetworkusage.
UserManagementwithAuditTrailAlleventsandactionsperformedthroughKontenaCLIorAPIsareloggedintoaudittrail.Combinedwithusersandaccesscontrol,theaudittrailsupportmakesKontenaareliableandsecuresolutionforanyenterprisedeployments.
Built-InSecretsManagementWhenyourapplicationrequiresaccesstoAPIsordatabases,you'lloftenneedtousesecretssuchaspasswordsandaccesstokensforauthenticatingtheaccess.KontenaVaultisasecurekey/valuestoragethatcanbeusedtomanagesecretsinKontena.
Works on any infrastructure!Kontena works on any public cloud or in your own private datacenter; hybrid environment,
virtualized or bare metal.
We have 1k+ members in 35 Meetup groups globallyThe Community Effort
Summary about Kontena Project• The Kontena platform development started in the beginning of
2015. It’s almost 2 years now!• Over the past 2 years we have
• Written nearly 50K lines of code• Released 78 releases• Had 1991 commits from 30 contributors• Closed 309 issues• Processed feedback from hundreds of end users and projects depending on
Kontena
Please use this info as reference when thinking if you should start creating your own container platform J
Off-the-ShelfContainerPlatforms
So, how to choose the right platform?• There is no single platform that everybody
should be using• All of the platforms and solutions are still
“in progress”• Don’t trust any of the advertised features!• Don’t get carried away by hype!• Only way to choose the right platform is
to try them out• While testing, try to think what is the total
cost of ownership for that platform!
Happy platform hunting!
Thank You!! [email protected]
" @kontenainc
# slack.kontena.io
$ github.com/kontena/kontena
meetup.com/pro/kontena
% www.kontena.io