SlideShare a Scribd company logo
© 2016 ForgeRock. All rights reserved.
© 2016 ForgeRock. All rights reserved.
ForgeRock DevOps /
Cloud Strategy
Warren Strange
Director, Customer Engineering
NY Identity Summit 2016
© 2016 ForgeRock. All rights reserved.
Why DevOps?
Expectations for time to value are changing
• Months -> Weeks -> Days
The rise of “12 factor” apps & Continuous Integration
• Before: Deploy new features yearly
• Now: Deploy new features weekly
Shift towards cloud deployments and containers
• AWS, Azure, Google, OpenStack, etc.
• Docker / Kubernetes
© 2016 ForgeRock. All rights reserved.
ForgeRock DevOps Goal
The agility of an IDaaS, with the flexibility of a custom solution
Flexibility / Power
SpeedofDeployment
IDaaS
Legacy
© 2016 ForgeRock. All rights reserved.
What is “DevOps” Friendly?
• Installation / management is easily automated
• Products self tuning / self configuring
• Infrastructure as code
• Repeatable and automated deployments
• Useful configuration file formats
• Toolable / templatable
• Human friendly (not a dump of an internal data structure)
• Phoenix servers
• Blow one up, and another one rises to take its place
© 2016 ForgeRock. All rights reserved.
ForgeRock DevOps Focus
• Core engineering work required to make products more
“12Factor” like
• Requires deep & intimate knowledge of internals of OpenAM / OpenDJ
/ OpenIDM / OpenIG
• Where ForgeRock can have the most impact
• Container friendly
• Reduced file system dependencies
• Externalize state
• Dynamic configuration
© 2016 ForgeRock. All rights reserved.
Roadmap: OpenAM 14
• “Autonomous Servers”
• No cross-talk, no special servers
• CTS become sole source of state for tokens
• No “home” server concept
• Scale up / down by adding more servers
• Stateless Sessions
• Any server can issue a token, any server can validate it
• Extension of Stateless sessions in AM 13
• Stateless OAuth 2.0
© 2016 ForgeRock. All rights reserved.
Roadmap: OpenAM 14
• REST based Configuration
• ssoadm-ng
• REST / JSON Configuration
• Reduced file system dependencies
• Boot using ENV vars (Docker requirement)
• Agents
• Boot from ENV vars
© 2016 ForgeRock. All rights reserved.
Roadmap: OpenDJ
• Single persistence engine for the entire stack
• The one component that is most “pet” like
• OpenDJ 3.0
• Pluggable backends
• Foundational work for future alternate backends
• Memory based with snapshots (example: short lived access tokens
)
© 2016 ForgeRock. All rights reserved.
Roadmap: OpenIDM
• Boot from ENV Vars
• Flexible audit log destinations (commons audit)
• Improved Configuration Import / Export
• Export / Version / Import
• Improved conf/* file management
• Clearly separate product config from customizations
• Template environment variables
• OpenDJ as a repository
© 2016 ForgeRock. All rights reserved.
Containers
•Phase 1
• ForgeRock will support customers deploying with
Docker
• Provide sample Dockerfiles / Kubernetes Manifests
•Phase 2
• Provide reference Docker images
• Distribution mechanism TBD
© 2016 ForgeRock. All rights reserved.
Feedback Needed
• What are your biggest challenges in deployment / management?
• Help us prioritize our efforts
• What is your application AuthN / AuthZ strategy?
• Reverse proxy + HTTP headers - AuthZ at proxy
• Policy Agents (Java EE or .Net)
• OpenID Connect / SAML
• Directly consume OIDC tokens
• AuthZ - use scopes plus custom logic?
• Application landscape
• Java, .Net, NodeJS, Ruby, other?
© 2016 ForgeRock. All rights reserved.
Container Questions
• What are your plans for Docker?
• Have you looked at orchestration frameworks such as
Mesos / Kubernetes / Docker Swarm / Amazon ?
• What is your desired Docker support model?
• Would you run ForgeRock curated & tested Docker
images, or is your preference to create your own Docker
images?
© 2016 ForgeRock. All rights reserved.
Additional Material
© 2016 ForgeRock. All rights reserved.
Docker Tips
• Docker on Mac
• Remember it is running in a VM! “localhost” is relative
to the VM, not your laptop
• To find the IP of your VM host-only network use Kitematic or
docker-machine ip
• Docker Volumes are relative to your guest VM, not your
laptop
• Virtualbox can mount /Users/
• How do I shell into an running image?
• docker ps to get the image id
• docker exec -it image-id /bin/bash
© 2016 ForgeRock. All rights reserved.
Docker Registries vs. Repositories
• Registry:
• Service responsible for hosting and distributing docker images.
• Docker Hub is the most popular public registry.
• Others include quay.io (CoreOS team), gcr.io (Google)
• Private registries
• Repository
• Collection of Docker Images. For example “forgerock”
• Tags
• Images are tagged with a version. Example “dev”, “1.0”
© 2016 ForgeRock. All rights reserved.
Image Naming Format
{registry}/{repository}/{image}:{tag}
Examples
docker pull quay.io/kubespray/kubernetes-dashboard:latest
docker pull java:8u72-jre
Registry defaults to “hub.docker.com” if omited (Docker Hub)
Repository defaults to _ (“official” repo) if omitted
docker pull java
Tag defaults to “latest” if not specified
© 2016 ForgeRock. All rights reserved.
Tags
• Arbitrary schema (invent your own)
• By convention, a release version or git hash
• “latest” is a synonym for “the most recent version”
Example:
forgerock/openidm:latest
forgerock/openidm:nightly
forgerock/openam:13.0.1
Using “latest” is OK for development. Not good for production.
• Does not create repeatable deployment
© 2016 ForgeRock. All rights reserved.
Image Considerations
• Do not use proprietary base images!
FROM some-repo/oracle-jdk
FROM java:jre8
• Consolidate RUN commands to keep image size down
© 2016 ForgeRock. All rights reserved.
Building Container Friendly Apps
• Base container should be quite “generic”
• Personality is gained at runtime
• Avoid hostname / IP address dependencies
• One service, one container
• Stateless over stateful
• Throw away the container and create a new one
• Log / trace to stdout as a default
• Avoids needing to write special log collectors for each service
• Externalize persistence
• State stored externally (database, DJ)
• Be tolerant of service startup order and availability
• Example: service starts before the database is ready
• Database goes down, comes back up
© 2016 ForgeRock. All rights reserved.
Kubernetes
• Provides orchestration, container networking, service lookup,
rolling upgrades, bin packing, placement (affinity / non-
affinity)
• Self healing, horizontal scaling
• Created by Google, based on 10+ years of experience
running containers at scale
• Container agnostic (Docker, Rocket, LXC)
• Open source project
• Adopted by cncf.io
• IP transferred to the Linux Foundation
• Github PR Stats (one month)
• Kubernetes: 213 merged, 461 active
• Docker Swarm: 61 merged, 20 active
• Cloudfoundry-release + bosh: 17 merged, 8 active
J
© 2016 ForgeRock. All rights reserved.
© 2016 ForgeRock. All rights reserved.
Kubernetes Concepts / Terms
Nodes Servers that run pods
Pods Collection of containers that logically belong together. Scheduled
together. Ports must be unique within a pod
Services Abstraction that defines logical set of pods and how to access them.
Pod IPs are not stable over time. Service provide a Virtual / Stable IP
to access backend pods
© 2016 ForgeRock. All rights reserved.
Kubernetes Features
Namespaces Instance isolation on a cluster. For example, dev, QA, Prod. Multi-tenancy of
a kind..
Integrated DNS Service discovery via DNS
Persistent Volumes
Persistent Volume Claims
Abstraction for persistent data volumes attached to containers. For example -
postgres data files, OpenDJ backends.
Secrets / Secret volumes Special Volume type used to securely distribute secrets to your containers.
Secrets can be passwords, keys, keystores, etc.
This removes secrets from the containers themselves.
Replication Controllers Monitor service availability, restarting failed services as required. Autoscaling
support
Ingres API HTTP (Layer 7) and Network load balancing (Layer 3) built in
Jobs API Manage Jobs (one time processes)
Rolling Upgrades Manage upgrade of clusters and services
© 2016 ForgeRock. All rights reserved.
Kubernetes Tips
• Easy to use, hard to install
• Recommended (in relative order)
• GKE (Hosted Kubernetes as a service)
• Linux - follow local install instructions
• Kmachine
• https://github.com/TheNewNormal/kube-solo-osx
© 2016 ForgeRock. All rights reserved.

More Related Content

PDF
The Future is Now: What’s New in ForgeRock Directory Services
PDF
DevOps Unleashed: Strategies that Speed Deployments
PPTX
Webinar: Access Management with the ForgeRock Identity Platform - So What’s N...
PDF
ForgeRock Platform Release - Summer 2016
PPTX
Directory Services with the ForgeRock Identity Platform - So What’s New?
PDF
The Future is Now: What’s New in ForgeRock Access Management
PDF
Pimping the ForgeRock Identity Platform for a Billion Users
PPTX
OpenAM: An Introduction
The Future is Now: What’s New in ForgeRock Directory Services
DevOps Unleashed: Strategies that Speed Deployments
Webinar: Access Management with the ForgeRock Identity Platform - So What’s N...
ForgeRock Platform Release - Summer 2016
Directory Services with the ForgeRock Identity Platform - So What’s New?
The Future is Now: What’s New in ForgeRock Access Management
Pimping the ForgeRock Identity Platform for a Billion Users
OpenAM: An Introduction

What's hot (20)

PPTX
IDP Proxy Concept: Accessing Identity Data Sources Everywhere!
PPTX
Identity Management with the ForgeRock Identity Platform - So What’s New?
PPTX
NYC Identity Summit Business Day: Identity is the Center of Everything (Mike ...
PPTX
Webinar: "Entitlements: Taking Control of the Big Data Gold Rush"
PPTX
Webinar: ForgeRock Identity Platform Preview (Dec 2015)
PPTX
Dev Ops Geek Fest: Automating the ForgeRock Platform
PDF
Beyond username and password it's continuous authorization webinar
PPTX
Webinar: Extend The Power of The ForgeRock Identity Platform Through Scripting
PPTX
Webinar: Customer Scale
PDF
Digital Trust: How Identity Tackles the Privacy, Security and IoT Challenge
PDF
The Future is Now: What’s New in ForgeRock Identity Management
PDF
Sydney Identity Summit: Addressing the New Threat Landscape with Continuous S...
PPTX
OpenIG Webinar: Your Swiss Army Knife for Protecting and Securing Web Apps, A...
PPTX
NYC Identity Summit Tech Day: Best Practices for API Security
PPTX
NYC Identity Summit Tech Day: ForgeRock Identity Platform Overview
PPTX
A CONTEMPLATION OF OPENIG DEEP THOUGHTS
PPTX
Identity Gateway with the ForgeRock Identity Platform - So What’s New?
PDF
OpenAM as Flexible Integration Component
PPT
Open Identity Stack Roadmap
PDF
OpenAM Best Practices - Corelio Media Case Study
IDP Proxy Concept: Accessing Identity Data Sources Everywhere!
Identity Management with the ForgeRock Identity Platform - So What’s New?
NYC Identity Summit Business Day: Identity is the Center of Everything (Mike ...
Webinar: "Entitlements: Taking Control of the Big Data Gold Rush"
Webinar: ForgeRock Identity Platform Preview (Dec 2015)
Dev Ops Geek Fest: Automating the ForgeRock Platform
Beyond username and password it's continuous authorization webinar
Webinar: Extend The Power of The ForgeRock Identity Platform Through Scripting
Webinar: Customer Scale
Digital Trust: How Identity Tackles the Privacy, Security and IoT Challenge
The Future is Now: What’s New in ForgeRock Identity Management
Sydney Identity Summit: Addressing the New Threat Landscape with Continuous S...
OpenIG Webinar: Your Swiss Army Knife for Protecting and Securing Web Apps, A...
NYC Identity Summit Tech Day: Best Practices for API Security
NYC Identity Summit Tech Day: ForgeRock Identity Platform Overview
A CONTEMPLATION OF OPENIG DEEP THOUGHTS
Identity Gateway with the ForgeRock Identity Platform - So What’s New?
OpenAM as Flexible Integration Component
Open Identity Stack Roadmap
OpenAM Best Practices - Corelio Media Case Study
Ad

Similar to NYC Identity Summit Tech Day: ForgeRock DevOps/Cloud Strategy (20)

PDF
Meetup devops
PDF
Continuous Delivery of Containers with Drone & Kontena
PDF
PaaS options for .NET
PDF
Containers - Portable, repeatable user-oriented application delivery. Build, ...
PPTX
Docker-Intro
PPTX
Discussing the difference between docker dontainers and virtual machines
PPTX
Docker Enterprise Workshop - Technical
PPTX
Best Practices for Running Kafka on Docker Containers
KEY
Benefits of an Open environment with Wakanda
PPTX
ma-formation-en-Docker-jlklk,nknkjn.pptx
PDF
Rami Sayar - Node microservices with Docker
PPTX
UNITde II - Docker-Containerization.pptx,
PDF
Killer Docker Workflows for Development
PPTX
OpenStack Summit
PDF
Docker for Developers
PDF
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
PPTX
Docker for PHP Developers - Jetbrains
PPTX
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
PDF
Preparing your dockerised application for production deployment
PDF
Stay productive while slicing up the monolith
Meetup devops
Continuous Delivery of Containers with Drone & Kontena
PaaS options for .NET
Containers - Portable, repeatable user-oriented application delivery. Build, ...
Docker-Intro
Discussing the difference between docker dontainers and virtual machines
Docker Enterprise Workshop - Technical
Best Practices for Running Kafka on Docker Containers
Benefits of an Open environment with Wakanda
ma-formation-en-Docker-jlklk,nknkjn.pptx
Rami Sayar - Node microservices with Docker
UNITde II - Docker-Containerization.pptx,
Killer Docker Workflows for Development
OpenStack Summit
Docker for Developers
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
Docker for PHP Developers - Jetbrains
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
Preparing your dockerised application for production deployment
Stay productive while slicing up the monolith
Ad

More from ForgeRock (20)

PDF
Digital Identities in the Internet of Things - Securely Manage Devices at Scale
PPTX
Get the Exact Identity Solution You Need - In the Cloud - AWS and Beyond
PDF
Identity Live Sydney: Identity Management - A Strategic Opportunity
PDF
Identity Live Singapore: Transform Your Cybersecurity Capability
PDF
Identity Live Singapore 2018 Keynote Presentation
PDF
Identity Live Sydney 2018 Keynote Presentation
PDF
Identity Live Singapore: Just Ask 'Em
PDF
Identity Live Singapore: Building Trust & Privacy in a Connected Society
PDF
Identity Live Sydney: Intelligent Authentication
PDF
Identity Live Sydney: Building Trust and Privacy in a Connected Society
PDF
Get the Exact Identity Solution you Need in the Cloud - Deep Dive
PPTX
Get the Exact Identity Solution You Need - In the Cloud - Overview
PDF
ForgeRock and Trusona - Simplifying the Multi-factor User Experience
PDF
Opening Keynote (Identity Live Berlin 2018)
PDF
Steinberg - Customer identity as the cornerstone of our approach to digitaliz...
PDF
BMW Group - Identity Enables the Next 100 Years.. (Identity Live Berlin 2018)
PDF
Trust is Everything - The Future of Identity and the ForgeRock Platform (Iden...
PDF
Silo Busters- The Value of User and Data Centricity beyond IoT Devices (Ident...
PDF
Shift from GDPR readiness to sustained compliance to improve your business an...
PDF
Intelligent Authentication (Identity Live Berlin 2018)
Digital Identities in the Internet of Things - Securely Manage Devices at Scale
Get the Exact Identity Solution You Need - In the Cloud - AWS and Beyond
Identity Live Sydney: Identity Management - A Strategic Opportunity
Identity Live Singapore: Transform Your Cybersecurity Capability
Identity Live Singapore 2018 Keynote Presentation
Identity Live Sydney 2018 Keynote Presentation
Identity Live Singapore: Just Ask 'Em
Identity Live Singapore: Building Trust & Privacy in a Connected Society
Identity Live Sydney: Intelligent Authentication
Identity Live Sydney: Building Trust and Privacy in a Connected Society
Get the Exact Identity Solution you Need in the Cloud - Deep Dive
Get the Exact Identity Solution You Need - In the Cloud - Overview
ForgeRock and Trusona - Simplifying the Multi-factor User Experience
Opening Keynote (Identity Live Berlin 2018)
Steinberg - Customer identity as the cornerstone of our approach to digitaliz...
BMW Group - Identity Enables the Next 100 Years.. (Identity Live Berlin 2018)
Trust is Everything - The Future of Identity and the ForgeRock Platform (Iden...
Silo Busters- The Value of User and Data Centricity beyond IoT Devices (Ident...
Shift from GDPR readiness to sustained compliance to improve your business an...
Intelligent Authentication (Identity Live Berlin 2018)

Recently uploaded (20)

PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
Introduction to Artificial Intelligence
PPTX
Odoo POS Development Services by CandidRoot Solutions
PPTX
L1 - Introduction to python Backend.pptx
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PPTX
Online Work Permit System for Fast Permit Processing
PDF
System and Network Administration Chapter 2
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
System and Network Administraation Chapter 3
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Transform Your Business with a Software ERP System
PDF
medical staffing services at VALiNTRY
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Which alternative to Crystal Reports is best for small or large businesses.pdf
Introduction to Artificial Intelligence
Odoo POS Development Services by CandidRoot Solutions
L1 - Introduction to python Backend.pptx
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
ManageIQ - Sprint 268 Review - Slide Deck
Online Work Permit System for Fast Permit Processing
System and Network Administration Chapter 2
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
System and Network Administraation Chapter 3
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
How to Choose the Right IT Partner for Your Business in Malaysia
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Design an Analysis of Algorithms II-SECS-1021-03
Transform Your Business with a Software ERP System
medical staffing services at VALiNTRY
Softaken Excel to vCard Converter Software.pdf
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx

NYC Identity Summit Tech Day: ForgeRock DevOps/Cloud Strategy

  • 1. © 2016 ForgeRock. All rights reserved.
  • 2. © 2016 ForgeRock. All rights reserved. ForgeRock DevOps / Cloud Strategy Warren Strange Director, Customer Engineering NY Identity Summit 2016
  • 3. © 2016 ForgeRock. All rights reserved. Why DevOps? Expectations for time to value are changing • Months -> Weeks -> Days The rise of “12 factor” apps & Continuous Integration • Before: Deploy new features yearly • Now: Deploy new features weekly Shift towards cloud deployments and containers • AWS, Azure, Google, OpenStack, etc. • Docker / Kubernetes
  • 4. © 2016 ForgeRock. All rights reserved. ForgeRock DevOps Goal The agility of an IDaaS, with the flexibility of a custom solution Flexibility / Power SpeedofDeployment IDaaS Legacy
  • 5. © 2016 ForgeRock. All rights reserved. What is “DevOps” Friendly? • Installation / management is easily automated • Products self tuning / self configuring • Infrastructure as code • Repeatable and automated deployments • Useful configuration file formats • Toolable / templatable • Human friendly (not a dump of an internal data structure) • Phoenix servers • Blow one up, and another one rises to take its place
  • 6. © 2016 ForgeRock. All rights reserved. ForgeRock DevOps Focus • Core engineering work required to make products more “12Factor” like • Requires deep & intimate knowledge of internals of OpenAM / OpenDJ / OpenIDM / OpenIG • Where ForgeRock can have the most impact • Container friendly • Reduced file system dependencies • Externalize state • Dynamic configuration
  • 7. © 2016 ForgeRock. All rights reserved. Roadmap: OpenAM 14 • “Autonomous Servers” • No cross-talk, no special servers • CTS become sole source of state for tokens • No “home” server concept • Scale up / down by adding more servers • Stateless Sessions • Any server can issue a token, any server can validate it • Extension of Stateless sessions in AM 13 • Stateless OAuth 2.0
  • 8. © 2016 ForgeRock. All rights reserved. Roadmap: OpenAM 14 • REST based Configuration • ssoadm-ng • REST / JSON Configuration • Reduced file system dependencies • Boot using ENV vars (Docker requirement) • Agents • Boot from ENV vars
  • 9. © 2016 ForgeRock. All rights reserved. Roadmap: OpenDJ • Single persistence engine for the entire stack • The one component that is most “pet” like • OpenDJ 3.0 • Pluggable backends • Foundational work for future alternate backends • Memory based with snapshots (example: short lived access tokens )
  • 10. © 2016 ForgeRock. All rights reserved. Roadmap: OpenIDM • Boot from ENV Vars • Flexible audit log destinations (commons audit) • Improved Configuration Import / Export • Export / Version / Import • Improved conf/* file management • Clearly separate product config from customizations • Template environment variables • OpenDJ as a repository
  • 11. © 2016 ForgeRock. All rights reserved. Containers •Phase 1 • ForgeRock will support customers deploying with Docker • Provide sample Dockerfiles / Kubernetes Manifests •Phase 2 • Provide reference Docker images • Distribution mechanism TBD
  • 12. © 2016 ForgeRock. All rights reserved. Feedback Needed • What are your biggest challenges in deployment / management? • Help us prioritize our efforts • What is your application AuthN / AuthZ strategy? • Reverse proxy + HTTP headers - AuthZ at proxy • Policy Agents (Java EE or .Net) • OpenID Connect / SAML • Directly consume OIDC tokens • AuthZ - use scopes plus custom logic? • Application landscape • Java, .Net, NodeJS, Ruby, other?
  • 13. © 2016 ForgeRock. All rights reserved. Container Questions • What are your plans for Docker? • Have you looked at orchestration frameworks such as Mesos / Kubernetes / Docker Swarm / Amazon ? • What is your desired Docker support model? • Would you run ForgeRock curated & tested Docker images, or is your preference to create your own Docker images?
  • 14. © 2016 ForgeRock. All rights reserved. Additional Material
  • 15. © 2016 ForgeRock. All rights reserved. Docker Tips • Docker on Mac • Remember it is running in a VM! “localhost” is relative to the VM, not your laptop • To find the IP of your VM host-only network use Kitematic or docker-machine ip • Docker Volumes are relative to your guest VM, not your laptop • Virtualbox can mount /Users/ • How do I shell into an running image? • docker ps to get the image id • docker exec -it image-id /bin/bash
  • 16. © 2016 ForgeRock. All rights reserved. Docker Registries vs. Repositories • Registry: • Service responsible for hosting and distributing docker images. • Docker Hub is the most popular public registry. • Others include quay.io (CoreOS team), gcr.io (Google) • Private registries • Repository • Collection of Docker Images. For example “forgerock” • Tags • Images are tagged with a version. Example “dev”, “1.0”
  • 17. © 2016 ForgeRock. All rights reserved. Image Naming Format {registry}/{repository}/{image}:{tag} Examples docker pull quay.io/kubespray/kubernetes-dashboard:latest docker pull java:8u72-jre Registry defaults to “hub.docker.com” if omited (Docker Hub) Repository defaults to _ (“official” repo) if omitted docker pull java Tag defaults to “latest” if not specified
  • 18. © 2016 ForgeRock. All rights reserved. Tags • Arbitrary schema (invent your own) • By convention, a release version or git hash • “latest” is a synonym for “the most recent version” Example: forgerock/openidm:latest forgerock/openidm:nightly forgerock/openam:13.0.1 Using “latest” is OK for development. Not good for production. • Does not create repeatable deployment
  • 19. © 2016 ForgeRock. All rights reserved. Image Considerations • Do not use proprietary base images! FROM some-repo/oracle-jdk FROM java:jre8 • Consolidate RUN commands to keep image size down
  • 20. © 2016 ForgeRock. All rights reserved. Building Container Friendly Apps • Base container should be quite “generic” • Personality is gained at runtime • Avoid hostname / IP address dependencies • One service, one container • Stateless over stateful • Throw away the container and create a new one • Log / trace to stdout as a default • Avoids needing to write special log collectors for each service • Externalize persistence • State stored externally (database, DJ) • Be tolerant of service startup order and availability • Example: service starts before the database is ready • Database goes down, comes back up
  • 21. © 2016 ForgeRock. All rights reserved. Kubernetes • Provides orchestration, container networking, service lookup, rolling upgrades, bin packing, placement (affinity / non- affinity) • Self healing, horizontal scaling • Created by Google, based on 10+ years of experience running containers at scale • Container agnostic (Docker, Rocket, LXC) • Open source project • Adopted by cncf.io • IP transferred to the Linux Foundation • Github PR Stats (one month) • Kubernetes: 213 merged, 461 active • Docker Swarm: 61 merged, 20 active • Cloudfoundry-release + bosh: 17 merged, 8 active J
  • 22. © 2016 ForgeRock. All rights reserved.
  • 23. © 2016 ForgeRock. All rights reserved. Kubernetes Concepts / Terms Nodes Servers that run pods Pods Collection of containers that logically belong together. Scheduled together. Ports must be unique within a pod Services Abstraction that defines logical set of pods and how to access them. Pod IPs are not stable over time. Service provide a Virtual / Stable IP to access backend pods
  • 24. © 2016 ForgeRock. All rights reserved. Kubernetes Features Namespaces Instance isolation on a cluster. For example, dev, QA, Prod. Multi-tenancy of a kind.. Integrated DNS Service discovery via DNS Persistent Volumes Persistent Volume Claims Abstraction for persistent data volumes attached to containers. For example - postgres data files, OpenDJ backends. Secrets / Secret volumes Special Volume type used to securely distribute secrets to your containers. Secrets can be passwords, keys, keystores, etc. This removes secrets from the containers themselves. Replication Controllers Monitor service availability, restarting failed services as required. Autoscaling support Ingres API HTTP (Layer 7) and Network load balancing (Layer 3) built in Jobs API Manage Jobs (one time processes) Rolling Upgrades Manage upgrade of clusters and services
  • 25. © 2016 ForgeRock. All rights reserved. Kubernetes Tips • Easy to use, hard to install • Recommended (in relative order) • GKE (Hosted Kubernetes as a service) • Linux - follow local install instructions • Kmachine • https://github.com/TheNewNormal/kube-solo-osx
  • 26. © 2016 ForgeRock. All rights reserved.