Recent Posts
Archives

Posts Tagged ‘Docker’

PostHeaderIcon [DevoxxUS2017] Lessons Learned from Building Hyper-Scale Cloud Services Using Docker by Boris Scholl

At DevoxxUS2017, Boris Scholl, Vice President of Development for Microservices at Oracle, shared valuable lessons from building hyper-scale cloud services using Docker. With a background in Microsoft’s Service Fabric and Container Service, Boris discussed Oracle’s adoption of Docker, Mesos/Marathon, and Kubernetes for resource-efficient, multi-tenant services. His session offered insights into architecture choices and DevOps best practices, providing a roadmap for scalable cloud development. This post examines the key themes of Boris’s presentation, highlighting practical strategies for modern cloud services.

Adopting Docker for Scalability

Boris Scholl began by outlining Oracle’s shift toward cloud services, leveraging Docker to build scalable, multi-tenant applications. He explained how Docker containers optimize resource consumption, enabling rapid service deployment. Drawing from his experience at Oracle, Boris highlighted the pros of containerization, such as portability, and cons, like the need for robust orchestration, setting the stage for discussing advanced DevOps practices.

Orchestration with Mesos and Kubernetes

Delving into orchestration, Boris discussed Oracle’s use of Mesos/Marathon and Kubernetes to manage containerized services. He shared lessons learned, such as the importance of abstracting container management to avoid platform lock-in. Boris’s examples illustrated how orchestration tools ensure resilience and scalability, enabling Oracle to handle hyper-scale workloads while maintaining service reliability.

DevOps Best Practices for Resilience

Boris emphasized the critical role of DevOps in running “always-on” services. He advocated for governance to manage diverse team contributions, preventing architectural chaos. His insights included automating CI/CD pipelines and prioritizing diagnostics for monitoring. Boris shared a lesson on avoiding over-reliance on specific orchestrators, suggesting abstraction layers to ease transitions between platforms like Mesos and Kubernetes.

Governance and Future-Proofing

Concluding, Boris stressed the importance of governance in distributed systems, drawing from Oracle’s experience in maintaining component versioning and compatibility. He recommended blogging as a way to share microservices insights, referencing his own posts. His practical advice inspired developers to adopt disciplined DevOps practices, ensuring cloud services remain scalable, resilient, and adaptable to future needs.

Links:

PostHeaderIcon [DevoxxFR2015] Evolving Infrastructure Without Downtime: CloudBees’ Journey

Nicolas De Loof, an Apache Maven committer and founder of BreizhJUG, delivered an engaging session at Devoxx France 2015, stepping in for his colleague Michael Neale. Representing CloudBees, Nicolas shared the company’s evolution from a fragmented startup to a robust, globally available system, focusing on seamless infrastructure migrations without interrupting service. His narrative, infused with humor and practical insights, highlighted transitions to multi-tenant architectures and Docker-based deployments.

From Startup Chaos to Structured Systems

Nicolas began by outlining CloudBees’ early days, marked by ad-hoc technical decisions that later demanded refinement. Initial choices, such as a custom LXC-based solution, became obsolete as the company scaled. He described the challenge of maintaining zero downtime across a global user base, necessitating careful planning to evolve infrastructure while keeping services operational.

This journey, Nicolas emphasized, required strategic foresight.

Migrating to Multi-Tenant Architecture

The shift to a multi-tenant build-on-demand system was a cornerstone of CloudBees’ transformation. Nicolas detailed how this migration, spanning months, consolidated resources to improve efficiency without impacting users. By gradually phasing in the new architecture, the team ensured continuity, addressing regrets from earlier single-tenant designs that strained scalability.

This transition, he noted, enhanced resource utilization.

Adopting Docker for Containerization

Replacing LXC with Docker marked another pivotal change. Nicolas explained how Docker’s containerization simplified deployment and management, offering greater flexibility than the bespoke LXC setup. The migration, executed incrementally, maintained service uptime, with Docker’s lightweight containers streamlining operations across CloudBees’ infrastructure.

This adoption, Nicolas highlighted, modernized their platform.

Operational Best Practices

Drawing from CloudBees’ experience, Nicolas stressed the importance of health checks, monitoring, and termination strategies to prevent service disruptions. His lighthearted “Salut les Geeks” conclusion, inspired by a YouTube series, underscored practical advice: robust monitoring prevents “blonde” moments where systems fail silently. He urged teams to integrate these practices early to avoid production chaos.

These strategies, he concluded, ensure resilient operations.

Links: