with organizations to build hyper-scale infrastructure - Driver of immutable infrastructure and automation over humans - Designed and implemented CaaS platforms for large enterprises - Creator and Maintainer of Harbor Master, a Docker Node.js SDK - Proud Hokie, Golf enthusiast, and Caps fan /alexandermrhea arhea _arhea [email protected]
to traditional infrastructure, a layered security model is required to deploy containers successfully. Building a secure Containers as a Service platform requires securing the network, the host, the platform, the container, and the data.
so that all applications can be patched. Docker Registry Vulnerability Scanning and Alerting Development of base images (Java, Node.js, etc.) Automated CI/CD to central registry Security + Platform Teams Application Teams Automated Reporting and Alerting Development teams build applications on top of base images Automated CI/CD to central registry Image automatically deployed to production Image Scanning
is signed using the build team’s key. Container is tested for correctness and also scanned for CVEs Container is signed using the test and security key after the checks have passed. Delivering Secure Containers to Production Commit Code Container Test Container Build Code is committed from the developer’s machine to SCM Code is signed using the developer’s PGP key A B C Deployment D Containers are continually scanned for CVEs. i As enterprises ship more and more software it becomes increasingly difficult to manage production estates and even more difficult to maintain security.
model. Containers enable Infrastructure, Development, and Security teams to work together by creating clean partitions between responsibility. Docker Platform On-Premises Hardware Public Cloud Provider Application Development Teams Infrastructure Teams Application Application Application Application Security Team
the application therefore a persistence layer between the container and disk is needed to facilitate data storage. Where possible we always recommend leveraging platform services such as hosted databases, caches, and queues. Docker Daemon Instance Volume Driver Application Application Container requests a persistent disk. Docker or Kubernetes calls the Volume Driver plugin to provide a cloud native disk. The RexRay volume driver by Dell EMC Labs brokers API calls to mount a disk (EBS, EFS, Persistent Disk, or Unmanaged Disk) to the instance and mount that directly into the container.
scanned continually for CVEs and remediation. Networking Monitoring Analyze network traffic using Guarduty and Twistlock. Centralized Monitoring Data Centralize data so that data can be correlated during debugging. Log Analysis Logs should continually analyzed for errors, PII, and performance concerns. Macie and Athena are great tools for doing this at scale. Centralized Logging Platform Logs streamed from containers to a central storage facility like Cloudwatch. Logging and Monitoring Centralized Monitoring and Logging Access to monitoring and logs is critical in an ephemeral environment.
models for every application and traffic flow Cloud Native Layer 3 and Layer 7 Firewalls Fully automated model creation and enforcement – zero touch protection
Control Native plugins and standalone scanner for integration into any CI/CD workflow “Shift-Left” quality gates and compliance / vulnerability thresholds
process to cloud adoption within the enterprise. We combine assessments and planning into Container Adoption which drives successful implementations. - Assess Application Container Readiness - Assess security, deployment, logging, and monitoring tooling - Assess high availability, disaster recovery, and backup requirements - Assess Licensing and COTs products estate and implications to containerizing Assess - Container as a Service High Level Design (HLD) - Kubernetes vs Swarm Selection Framework - Containerize vs Hosted Service Framework - Migration, Training, Security, and Operational Planning Plan Container Readiness Assessment Container Governance Model Assess Plan Build Automate Operate
assessment and planning phases we help organizations build highly available, scalable, and fault tolerant environments using code. Assess Plan Build Automate Operate - Using Terraform we build out the CaaS platform as code - Using Packer we build repeatable machine image creation processes based on enterprise policies and industry best practices - Integrate Active Directory, LDAP, or IAM to the CaaS platform (varies based on platform) - Integrate security tooling with the CaaS platform - Integrate monitoring and logging platforms with the CaaS platform - Deploy Development, Staging, and Production Platforms - Containerize and replatform the application for optimal performance and maintainability - Define applications as code using Docker Compose or Kubernetes tooling Build Containers as a Service Platform Containerized Applications Container Readiness Assessment Container Governance Model
organizations to deliver software and infrastructure in a fully automated fashion. Assess Plan Build Automate Operate - Build a Jenkins pipeline to build, test, scan, and deploy containers based on enterprise, regulatory, and industry best practices - Integrate automated unit, integration, and UX testing to the CI/CD pipeline - Implement Blue/Green, Canary, or Rolling deployment strategy - Implement automated health checks and resolutions - Implement automated security checks for best practices and security standards to catch misconfigurations - Implement automated machine image rollout strategies to roll out new machine images with the latest patches after testing in lower environments - Implement a automated infrastructure deployment pipeline for rolling out new infrastructure Automate Automated Software Delivery Automated Infrastructure Delivery Containers as a Service Platform Containerized Applications Container Readiness Assessment Container Governance Model