Declarative Modeling for Cloud Deployments

Similar documents
Introduction to Kubernetes Storage Primitives for Stateful Workloads

CloudCenter for Developers

Bitnami s Kubernetes Projects Leverage Application delivery on Next Generation Platforms

Note: Currently (December 3, 2017), the new managed Kubernetes service on Azure (AKS) does not yet support Windows agents.

Delivering Kubernetes Apps with Helm. Michelle Adnan Adam

Scaling Jenkins with Docker and Kubernetes Carlos

ASP.NET Core & Docker

Kubernetes made easy with Docker EE. Patrick van der Bleek Sr. Solutions Engineer NEMEA

/ Cloud Computing. Recitation 5 February 14th, 2017

Code: Slides:

Cloud & container monitoring , Lars Michelsen Check_MK Conference #4

Kubernetes Ingress Virtual Service Configuration

So, I have all these containers! Now what?

Important DevOps Technologies (3+2+3days) for Deployment

Kubernetes Ingress Virtual Service Configuration

/ Cloud Computing. Recitation 5 September 26 th, 2017

Kuber-what?! Learn about Kubernetes

Container Orchestration on Amazon Web Services. Arun

Creating a Multi-Container Pod

Onto Petaflops with Kubernetes

INTRODUCING CONTAINER-NATIVE VIRTUALIZATION

Developing Microsoft Azure Solutions (70-532) Syllabus

Microservices. Chaos Kontrolle mit Kubernetes. Robert Kubis - Developer Advocate,

Kubernetes The Path to Cloud Native

Using DC/OS for Continuous Delivery

Automated Deployment of Private Cloud (EasyCloud)

Deploying and Using ArcGIS Enterprise in the Cloud. Bill Major

@briandorsey #kubernetes #GOTOber

Developing Microsoft Azure Solutions (70-532) Syllabus

Cloud I - Introduction

WHITE PAPER. Kubernetes Deployment Models: The Ultimate Guide

Learn. Connect. Explore.

Architecting Microsoft Azure Solutions (proposed exam 535)

Red Hat OpenShift Roadmap Q4 CY16 and H1 CY17 Releases. Lutz Lange Solution

Mesosphere and Percona Server for MongoDB. Jeff Sandstrom, Product Manager (Percona) Ravi Yadav, Tech. Partnerships Lead (Mesosphere)

UP! TO DOCKER PAAS. Ming

WHITE PAPER. RedHat OpenShift Container Platform. Benefits: Abstract. 1.1 Introduction

Mesosphere and Percona Server for MongoDB. Peter Schwaller, Senior Director Server Eng. (Percona) Taco Scargo, Senior Solution Engineer (Mesosphere)

Kuberiter White Paper. Kubernetes. Cloud Provider Comparison Chart. Lawrence Manickam Kuberiter Inc

Developing Microsoft Azure Solutions (70-532) Syllabus

Kubernetes: Twelve KeyFeatures

Advanced Continuous Delivery Strategies for Containerized Applications Using DC/OS

Oh.. You got this? Attack the modern web

Securing Microservice Interactions in Openstack and Kubernetes

Agenda. AWS Database Services Traditional vs AWS Data services model Amazon RDS Redshift DynamoDB ElastiCache

Efficiently exposing apps on Kubernetes at scale. Rasheed Amir, Stakater

DevOps Course Content

Running Databases in Containers.

Containers, Serverless and Functions in a nutshell. Eugene Fedorenko

Private Cloud Public Cloud Edge. Consistent Infrastructure & Consistent Operations

ANIKET DAPTARI & RANJINI RAJENDRAN CONTRAIL TEAM

Continuous delivery while migrating to Kubernetes

Genomics on Cisco Metacloud + SwiftStack

When (and how) to move applications from VMware to Cisco Metacloud

DevOps + Infrastructure TRACK SUPPORTED BY

São Paulo. August,

DevOps Technologies. for Deployment

STATE OF MODERN APPLICATIONS IN THE CLOUD

DEEP DIVE: OPENSTACK COMPUTE


Containers and the Evolution of Computing

Amazon EC2 Container Service: Manage Docker-Enabled Apps in EC2

How to Keep UP Through Digital Transformation with Next-Generation App Development

Using Juju with a Local Provider with KVM and LXC in Ubuntu LTS

IBM Planning Analytics Workspace Local Distributed Soufiane Azizi. IBM Planning Analytics

Cloud Operations Using Microsoft Azure. Nikhil Shampur

Building physical clouds

gcp / gke / k8s microservices

EASILY DEPLOY AND SCALE KUBERNETES WITH RANCHER

At Course Completion Prepares you as per certification requirements for AWS Developer Associate.

Title DC Automation: It s a MARVEL!

Serverless Website Publishing with AWS Code* Services. Steffen Grunwald Solutions Architect, AWS October 27, 2016

Flip the Switch to Container-based Clouds

OpenShift 3 Technical Architecture. Clayton Coleman, Dan McPherson Lead Engineers

The Post-Cloud. Where Google, DevOps, and Docker Converge

Automating Security Practices for the DevOps Revolution

ArcGIS Enterprise: Cloud Operations using Amazon Web Services. Mark Carlson Cherry Lin

70-532: Developing Microsoft Azure Solutions

HPCC Systems: See Through Patterns in Big Data to Find Big Opportunities

70-532: Developing Microsoft Azure Solutions

You Have Stateful Apps - What if Kubernetes Would Also Run Your Storage?

S Implementing DevOps and Hybrid Cloud

Containers Infrastructure for Advanced Management. Federico Simoncelli Associate Manager, Red Hat October 2016

Implementing Container Application Platforms with Cisco ACI

70-247: Configuring and Deploying a Private Cloud with System Center 2012

Operating and managing an Atomic container-based infrastructure

Cloud Native Networking

Taming your heterogeneous cloud with Red Hat OpenShift Container Platform.

Monitoring and Operating a Private Cloud with System Center 2012 (70-246) Course Outline Module 1: Introduction to the Private Cloud

Cisco CloudCenter Solution with VMware

Unlocking Azure with Puppet Enterprise. November 29, 2016

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Kubernetes. Introduction

A Case Study Using Kubernetes/Docke Routing, Geocoding, and Basemap Microservices with QGIS and OpenLayers

Puppet on the AWS Cloud

The Long Road from Capistrano to Kubernetes

Xen and CloudStack. Ewan Mellor. Director, Engineering, Open-source Cloud Platforms Citrix Systems

Running MarkLogic in Containers (Both Docker and Kubernetes)

WHITEPAPER. Embracing Containers & Microservices for future-proof application modernization

Docker Live Hacking: From Raspberry Pi to Kubernetes

Transcription:

Declarative Modeling for Cloud Deployments Giuseppe Attardi Department of Distributed Computing & Storage OpenStack Day Italia Roma 21/9/2018

GARR Federated Cloud Computing Platform Objectives GARR Offer

cloud.garr.it

Declarative Modeling for Cloud Automation Key Idea Benefits

Cloud Automation

Automation Tools

Procedural vs Declarative Typical Ansible code Connect to each server Install packages for a web application Configure web application, styles Create database credentials Connect database to server by copying credentials Create table and populate data Juju Specify: by editing configuration files (e.g. sed) Applications Number of servers Optional: set parameters Juju does: chooses servers and provisions them Installs packages and configure them Generates passwords and communicates them Initializes database

A Single Automation Tool for all Tasks Platform Deployment: OpenStack Application Deployment: Big Data Analytics

Juju

Juju Architecture and Workflow

Day Two Operations Evolution Scaling Scaling applications Coordinate among servers Propagate changes to connected applications Perform configuration updates From development to production Security updates Maintain Certificates Platform upgrades OpenStack upgrades (every 6 months) Kubernetes upgrades Upgrading the charms themselves with improved functionality

Quick Deployment Times

Deployment as a Service Self-service app deployment

Self-service App Deployment Select Moodle App Deploy Scale Deploy on public cloud

Scaling Moodle in the Cloud

Jupyter Notebook Server

Multiple Clouds

External Public Clouds: AWS $ juju clouds Cloud Regions aws Default Type Description 12 us-east-1 ec2 Amazon Web Services aws-china 1 cn-north-1 ec2 Amazon China aws-gov 1 us-gov-west-1 ec2 Amazon (USA Government) 18 centralus azure Microsoft Azure azure-china 2 chinaeast azure Microsoft Azure China cloudsigma 5 hnl cloudsigma CloudSigma Cloud google 4 us-east1 gce Google Cloud Platform azure juju deploy ~/mediawiki-single $ juju status Model Controller Cloud/Region Version default aws-us-east-1 aws/us-east-1 2.0.2 App Charm Store OS Notes mediawiki Version Status unknown Scale 1 mediawiki jujucharms Rev 3 ubuntu exposed mysql waiting 0 mysql jujucharms 29 ubuntu Unit Workload Agent Machine Public address mediawiki/1* unknown idle 2 54.161.6.44 Ports Message Machine State DNS Inst id Series AZ 2 started 54.161.6.44 i-02d632e9b1d7b8507 trusty us-east-1a

App Deployed on AWS

Juju Details

Juju Concepts Charm: Unit of deployment Bundle: Composition of charms Event: Occur during lifetime of services Hook: Steps to be performed to handle event Action: Specific management function on a service install config-changed relation-joined, relation-changed leader-elected pool-storage-attached

Charm Interfaces and Relations

Executable Steps Hooks Handlers are triggered when an event occurs Can be written in any language Hooks must be idempotent To avoid inconsistencies or divergence if run more than once Actions Actions are executable scripts defined in the charms High level functionality related to the application: Pause and resume service Can be executed on one or more instances of the application

Container Platform

Kubernetes Container orchestrator Deployable on clouds or bare metal Open Source Manage applications, not machines

Kubernetes Concepts Pod Replication Controller / Deployment Service One or More Containers Ensures that a specified Grouping of pods, act as Shared IP number of pod replicas are one, has stable virtual IP Shared Storage Volume running at any one time and DNS name Shared Resources Shared Lifecycle Label Key/Value pairs associated with Kubernetes objects (e.g. env=production)

GARR Container Platform Based on Kubernetes Deployed on bare metal Integrated with OpenStack: Credentials Storage Support for AI applications: GPUs ML libraries Shared data repositories

Demo: GuestBook Microservices frontend frontend-service Redis in-memory store

frontend-deployment.yaml apiversion: apps/v1 kind: Deployment metadata: name: frontend labels: app: guestbook spec: selector: matchlabels: app: guestbook tier: frontend replicas: 3 template: metadata: labels: app: guestbook tier: frontend spec: containers: - name: php-redis image: gcr.io/google-samples/gb-frontend:v4 resources: requests: cpu: 100m memory: 100Mi env: - name: GET_HOSTS_FROM value: dns ports: - containerport: 80

Kubernetes Dashboard

Serverless Server: linux Virtual server: OpenStack Container: Kubernetes Serverless: Kubeless

Conclusions Declarative Modeling is conceptually and practically convenient A declarative tool like Juju was essential for deploying the GARR Cloud Platform Benefits overcome drawbacks Ask for a live demo and see for yourself

Get Involved Contest Join Us

Thank you