quick introduction to CI & CD with Google cloud platform
- App Engine Development
- Devops: CI & CD (Docker, gitlab, GCP)
- Tips & Study information
repo: https://gitlab.com/cage1016/gae-flask
ArgoCD is a Continuous Delivery and Deployment tool based on GitOps principles. It helps to automate deployment to Kubernetes cluster from github. We will look into how to adopt and use argoCD for continuous deployment.
Gitlab CI/CD provides continuous integration and continuous delivery capabilities. It allows automating the building, testing, and deployment of code changes. At Proxym, Gitlab is used to host Git repositories and manage the complete DevOps lifecycle including CI/CD. It integrates with other tools and uses multiple runners to test code changes and deliver new features to customers quickly in an automated way.
These are the slides for a talk/workshop delivered to the Cloud Native Wales user group (@CloudNativeWal) on 2019-01-10.
In these slides, we go over some principles of gitops and a hands on session to apply these to manage a microservice.
You can find out more about GitOps online https://www.weave.works/technologies/gitops/
This document provides an overview of GitOps and summarizes a training session on the topic. The session covered Kubernetes and Git basics, the motivation and model for GitOps, an example of GitOps in action using Flux on a training environment, progressive delivery techniques like Flagger, and challenges with GitOps adoption. The goals were to explain what GitOps is, understand benefits, gain hands-on experience, and decide if it's right for a team/project. GitOps aims to use Git as the single source of truth for infrastructure and automate deployments by reconciling production with the code repository.
This document discusses GitLab Continuous Integration (GitLab CI/CD). It defines continuous integration, continuous delivery, and continuous deployment. It explains that GitLab CI/CD uses pipelines made up of stages and jobs to test, build, and deploy code. Pipelines are configured using a YAML file. Jobs run on GitLab runners, which can execute jobs locally or using Docker. Benefits of GitLab CI/CD include integrated pipelines, Docker/Kubernetes integration, and not requiring plugins. The downside is that it is only available within GitLab.
This document provides an overview of Kubernetes, an open-source system for automating deployment, scaling, and management of containerized applications. It describes Kubernetes' architecture including nodes, pods, replication controllers, services, and networking. It also discusses how to set up Kubernetes environments using Minikube or kubeadm and get started deploying pods and services.
Jenkins is an open source automation server written in Java. Jenkins helps to automate the non-human part of software development process, with continuous integration and facilitating technical aspects of continuous delivery. It is a server-based system that runs in servlet containers such as Apache Tomcat.
This document provides an overview of GitLab and discusses implementing GitLab within the Commercial Bank of Ethiopia (CBE). It describes GitLab as a self-hosted Git repository management system that allows users to privately manage code repositories. The document outlines key GitLab features like repository creation, user management, access controls, and integration with Git workflows. It recommends a single server GitLab architecture for CBE based on its reference architectures. The proposed CBE implementation would involve deploying a GitLab server authenticated via Active Directory, with an optional GitLab runner server, and various CBE teams using it for source code management, infrastructure as code, and change tracking.
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDSunnyvale
A brief dissertation about using GitOps paradigm to operate an application on multiple Kubernetes environments thanks to GitHub, ArgoCD and Kustomize. A talk about this matters has been taken at the event #CloudConf2020
This document summarizes a presentation about deploying applications on Kubernetes with GitOps. The presentation covers GitOps workflows and tools like FluxCD and ArgoCD for managing Helm charts from Git repositories. It also discusses integrating continuous integration pipelines with ArgoCD and provides best practices for areas like secret management, scaling, and microservices. The presenter concludes by taking questions and inviting interested parties to join their company.
Kubernetes Application Deployment with Helm - A beginner Guide!Krishna-Kumar
Google DevFest2019 Presentation at Infosys Campus Bangalore. Application deployment in Kubernetes with Helm is demo'ed in Google Kubernetes Engine (GKE). This is an introductory session on Helm. Several references are given in it to further explore helm3 as it is in Beta state now.
Continuous Integration/Deployment with Gitlab CIDavid Hahn
This document discusses continuous integration/deployment with Gitlab CI. It provides an introduction and overview of continuous integration, continuous delivery, and deployment. It then discusses Gitlab and Gitlab CI in more detail, including stages and pipelines, the UI, runners, using CI as code, and examples for Node.js + React, Java + Angular, and Electron applications. The sources section lists links and image sources for additional information.
GitHub Actions is an automation platform for GitHub repositories that allows users to build workflows to automate software tasks. It was introduced in 2019 and is based on Azure Pipelines. Workflows are configured using YAML files and can be triggered by events like push commits, pull requests, or scheduled times. Actions, which are reusable code components, can be used in workflows and are sourced from the GitHub marketplace or created by users. GitHub Actions is free for public repositories and offers paid plans for private repositories.
GitOps è un nuovo metodo di CD che utilizza Git come unica fonte di verità per le applicazioni e per l'infrastruttura (declarative infrastructure/infrastructure as code), fornendo sia il controllo delle revisioni che il controllo delle modifiche. In questo talk vedremo come implementare workflow di CI/CD Gitops basati su Kubernetes, dalla teoria alla pratica passando in rassegna i principali strumenti oggi a disposizione come ArgoCD, Flux (aka Gitops engine) e JenkinsX
Kubernetes is a platform for managing containerized workloads and services that provides a container-centric management environment. It aims to provide high utilization, high availability, minimize fault recovery time, and reduce the probability of correlated failures through a declarative job specification language, name service integration, real-time job monitoring, and analyzing and simulating system behavior using APIs and dashboards. Kubernetes can manage 100,000s of jobs, 1000s of applications across multiple clusters each with 10,000s of machines.
This document provides an overview of Kubernetes including:
- Kubernetes is an open source system for managing containerized applications and services across clusters of hosts. It provides tools to deploy, maintain, and scale applications.
- Kubernetes objects include pods, services, deployments, jobs, and others to define application components and how they relate.
- The Kubernetes architecture consists of a control plane running on the master including the API server, scheduler and controller manager. Nodes run the kubelet and kube-proxy to manage pods and services.
- Kubernetes can be deployed on AWS using tools like CloudFormation templates to automate cluster creation and management for high availability and scalability.
Presentation given at Open Source Summit Japan 2016 about the state of the cloud native technology (Cloud Native Computing Foundation) and the standardization of container technology (Open Container Initiative)
Hands-On Introduction to Kubernetes at LISA17Ryan Jarvinen
This document provides an agenda and instructions for a hands-on introduction to Kubernetes tutorial. The tutorial will cover Kubernetes basics like pods, services, deployments and replica sets. It includes steps for setting up a local Kubernetes environment using Minikube and demonstrates features like rolling updates, rollbacks and self-healing. Attendees will learn how to develop container-based applications locally with Kubernetes and deploy changes to preview them before promoting to production.
This document provides an overview of Kubernetes, a container orchestration system. It begins with background on Docker containers and orchestration tools prior to Kubernetes. It then covers key Kubernetes concepts including pods, labels, replication controllers, and services. Pods are the basic deployable unit in Kubernetes, while replication controllers ensure a specified number of pods are running. Services provide discovery and load balancing for pods. The document demonstrates how Kubernetes can be used to scale, upgrade, and rollback deployments through replication controllers and services.
Free GitOps Workshop + Intro to Kubernetes & GitOpsWeaveworks
Follow along in this free workshop and experience GitOps!
AGENDA:
Welcome - Tamao Nakahara, Head of DX (Weaveworks)
Introduction to Kubernetes & GitOps - Mark Emeis, Principal Engineer (Weaveworks)
Weave Gitops Overview - Tamao Nakahara
Free Gitops Workshop - David Harris, Product Manager (Weaveworks)
If you're new to Kubernetes and GitOps, we'll give you a brief introduction to both and how GitOps is the natural evolution of Kubernetes.
Weave GitOps Core is a continuous delivery product to run apps in any Kubernetes. It is free and open source, and you can get started today!
https://www.weave.works/product/gitops-core
If you’re stuck, also come talk to us at our Slack channel! #weave-gitops http://bit.ly/WeaveGitOpsSlack (If you need to invite yourself to the Slack, visit https://slack.weave.works/)
This document provides an overview of CI/CD on Google Cloud Platform. It discusses key DevOps principles like treating infrastructure as code and automating processes. It then describes how GCP services like Cloud Build, Container Registry, Source Repositories, and Stackdriver can help achieve CI/CD. Spinnaker is mentioned as an open-source continuous delivery platform that integrates well with GCP. Overall the document outlines the benefits of CI/CD and how GCP makes CI/CD implementation easy and scalable.
Helm is a package manager for Kubernetes that allows easy installation and management of Kubernetes applications. It consists of a Helm client that runs on a user's machine and communicates with Tiller, which runs as a pod on the Kubernetes cluster and performs installation and management tasks. Charts, which are Helm packages containing Kubernetes manifest templates, are analogous to Puppet modules, while a release, which is an installed instance of a chart, is analogous to a Docker container.
This document provides an overview of Kubernetes including:
1) Kubernetes is an open-source platform for automating deployment, scaling, and operations of containerized applications. It provides container-centric infrastructure and allows for quickly deploying and scaling applications.
2) The main components of Kubernetes include Pods (groups of containers), Services (abstract access to pods), ReplicationControllers (maintain pod replicas), and a master node running key components like etcd, API server, scheduler, and controller manager.
3) The document demonstrates getting started with Kubernetes by enabling the master on one node and a worker on another node, then deploying and exposing a sample nginx application across the cluster.
** Kubernetes Certification Training: https://www.edureka.co/kubernetes-certification **
This Edureka tutorial on "Kubernetes Architecture" will give you an introduction to popular DevOps tool - Kubernetes, and will deep dive into Kubernetes Architecture and its working. The following topics are covered in this training session:
1. What is Kubernetes
2. Features of Kubernetes
3. Kubernetes Architecture and Its Components
4. Components of Master Node and Worker Node
5. ETCD
6. Network Setup Requirements
DevOps Tutorial Blog Series: https://goo.gl/P0zAfF
Introduction to chrome extension developmentKAI CHU CHUNG
This document provides an introduction and overview of how to build Chrome extensions and apps. It covers what Chrome extensions are, the different types (browser actions, page actions, popups), how to build the extension structure and logic using manifest files, permissions, and communication between parts. It also recommends using Yeoman generators and build tools like Grunt to quickly set up and develop Chrome extensions and apps.
Jenkins is an open source automation server written in Java. Jenkins helps to automate the non-human part of software development process, with continuous integration and facilitating technical aspects of continuous delivery. It is a server-based system that runs in servlet containers such as Apache Tomcat.
This document provides an overview of GitLab and discusses implementing GitLab within the Commercial Bank of Ethiopia (CBE). It describes GitLab as a self-hosted Git repository management system that allows users to privately manage code repositories. The document outlines key GitLab features like repository creation, user management, access controls, and integration with Git workflows. It recommends a single server GitLab architecture for CBE based on its reference architectures. The proposed CBE implementation would involve deploying a GitLab server authenticated via Active Directory, with an optional GitLab runner server, and various CBE teams using it for source code management, infrastructure as code, and change tracking.
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDSunnyvale
A brief dissertation about using GitOps paradigm to operate an application on multiple Kubernetes environments thanks to GitHub, ArgoCD and Kustomize. A talk about this matters has been taken at the event #CloudConf2020
This document summarizes a presentation about deploying applications on Kubernetes with GitOps. The presentation covers GitOps workflows and tools like FluxCD and ArgoCD for managing Helm charts from Git repositories. It also discusses integrating continuous integration pipelines with ArgoCD and provides best practices for areas like secret management, scaling, and microservices. The presenter concludes by taking questions and inviting interested parties to join their company.
Kubernetes Application Deployment with Helm - A beginner Guide!Krishna-Kumar
Google DevFest2019 Presentation at Infosys Campus Bangalore. Application deployment in Kubernetes with Helm is demo'ed in Google Kubernetes Engine (GKE). This is an introductory session on Helm. Several references are given in it to further explore helm3 as it is in Beta state now.
Continuous Integration/Deployment with Gitlab CIDavid Hahn
This document discusses continuous integration/deployment with Gitlab CI. It provides an introduction and overview of continuous integration, continuous delivery, and deployment. It then discusses Gitlab and Gitlab CI in more detail, including stages and pipelines, the UI, runners, using CI as code, and examples for Node.js + React, Java + Angular, and Electron applications. The sources section lists links and image sources for additional information.
GitHub Actions is an automation platform for GitHub repositories that allows users to build workflows to automate software tasks. It was introduced in 2019 and is based on Azure Pipelines. Workflows are configured using YAML files and can be triggered by events like push commits, pull requests, or scheduled times. Actions, which are reusable code components, can be used in workflows and are sourced from the GitHub marketplace or created by users. GitHub Actions is free for public repositories and offers paid plans for private repositories.
GitOps è un nuovo metodo di CD che utilizza Git come unica fonte di verità per le applicazioni e per l'infrastruttura (declarative infrastructure/infrastructure as code), fornendo sia il controllo delle revisioni che il controllo delle modifiche. In questo talk vedremo come implementare workflow di CI/CD Gitops basati su Kubernetes, dalla teoria alla pratica passando in rassegna i principali strumenti oggi a disposizione come ArgoCD, Flux (aka Gitops engine) e JenkinsX
Kubernetes is a platform for managing containerized workloads and services that provides a container-centric management environment. It aims to provide high utilization, high availability, minimize fault recovery time, and reduce the probability of correlated failures through a declarative job specification language, name service integration, real-time job monitoring, and analyzing and simulating system behavior using APIs and dashboards. Kubernetes can manage 100,000s of jobs, 1000s of applications across multiple clusters each with 10,000s of machines.
This document provides an overview of Kubernetes including:
- Kubernetes is an open source system for managing containerized applications and services across clusters of hosts. It provides tools to deploy, maintain, and scale applications.
- Kubernetes objects include pods, services, deployments, jobs, and others to define application components and how they relate.
- The Kubernetes architecture consists of a control plane running on the master including the API server, scheduler and controller manager. Nodes run the kubelet and kube-proxy to manage pods and services.
- Kubernetes can be deployed on AWS using tools like CloudFormation templates to automate cluster creation and management for high availability and scalability.
Presentation given at Open Source Summit Japan 2016 about the state of the cloud native technology (Cloud Native Computing Foundation) and the standardization of container technology (Open Container Initiative)
Hands-On Introduction to Kubernetes at LISA17Ryan Jarvinen
This document provides an agenda and instructions for a hands-on introduction to Kubernetes tutorial. The tutorial will cover Kubernetes basics like pods, services, deployments and replica sets. It includes steps for setting up a local Kubernetes environment using Minikube and demonstrates features like rolling updates, rollbacks and self-healing. Attendees will learn how to develop container-based applications locally with Kubernetes and deploy changes to preview them before promoting to production.
This document provides an overview of Kubernetes, a container orchestration system. It begins with background on Docker containers and orchestration tools prior to Kubernetes. It then covers key Kubernetes concepts including pods, labels, replication controllers, and services. Pods are the basic deployable unit in Kubernetes, while replication controllers ensure a specified number of pods are running. Services provide discovery and load balancing for pods. The document demonstrates how Kubernetes can be used to scale, upgrade, and rollback deployments through replication controllers and services.
Free GitOps Workshop + Intro to Kubernetes & GitOpsWeaveworks
Follow along in this free workshop and experience GitOps!
AGENDA:
Welcome - Tamao Nakahara, Head of DX (Weaveworks)
Introduction to Kubernetes & GitOps - Mark Emeis, Principal Engineer (Weaveworks)
Weave Gitops Overview - Tamao Nakahara
Free Gitops Workshop - David Harris, Product Manager (Weaveworks)
If you're new to Kubernetes and GitOps, we'll give you a brief introduction to both and how GitOps is the natural evolution of Kubernetes.
Weave GitOps Core is a continuous delivery product to run apps in any Kubernetes. It is free and open source, and you can get started today!
https://www.weave.works/product/gitops-core
If you’re stuck, also come talk to us at our Slack channel! #weave-gitops http://bit.ly/WeaveGitOpsSlack (If you need to invite yourself to the Slack, visit https://slack.weave.works/)
This document provides an overview of CI/CD on Google Cloud Platform. It discusses key DevOps principles like treating infrastructure as code and automating processes. It then describes how GCP services like Cloud Build, Container Registry, Source Repositories, and Stackdriver can help achieve CI/CD. Spinnaker is mentioned as an open-source continuous delivery platform that integrates well with GCP. Overall the document outlines the benefits of CI/CD and how GCP makes CI/CD implementation easy and scalable.
Helm is a package manager for Kubernetes that allows easy installation and management of Kubernetes applications. It consists of a Helm client that runs on a user's machine and communicates with Tiller, which runs as a pod on the Kubernetes cluster and performs installation and management tasks. Charts, which are Helm packages containing Kubernetes manifest templates, are analogous to Puppet modules, while a release, which is an installed instance of a chart, is analogous to a Docker container.
This document provides an overview of Kubernetes including:
1) Kubernetes is an open-source platform for automating deployment, scaling, and operations of containerized applications. It provides container-centric infrastructure and allows for quickly deploying and scaling applications.
2) The main components of Kubernetes include Pods (groups of containers), Services (abstract access to pods), ReplicationControllers (maintain pod replicas), and a master node running key components like etcd, API server, scheduler, and controller manager.
3) The document demonstrates getting started with Kubernetes by enabling the master on one node and a worker on another node, then deploying and exposing a sample nginx application across the cluster.
** Kubernetes Certification Training: https://www.edureka.co/kubernetes-certification **
This Edureka tutorial on "Kubernetes Architecture" will give you an introduction to popular DevOps tool - Kubernetes, and will deep dive into Kubernetes Architecture and its working. The following topics are covered in this training session:
1. What is Kubernetes
2. Features of Kubernetes
3. Kubernetes Architecture and Its Components
4. Components of Master Node and Worker Node
5. ETCD
6. Network Setup Requirements
DevOps Tutorial Blog Series: https://goo.gl/P0zAfF
Introduction to chrome extension developmentKAI CHU CHUNG
This document provides an introduction and overview of how to build Chrome extensions and apps. It covers what Chrome extensions are, the different types (browser actions, page actions, popups), how to build the extension structure and logic using manifest files, permissions, and communication between parts. It also recommends using Yeoman generators and build tools like Grunt to quickly set up and develop Chrome extensions and apps.
The document discusses a travel service called Waldo-GCP that is built on Google Cloud Platform. It uses various GCP services like App Engine, Cloud Datastore, Cloud Storage, and Managed VMs. Waypoints for optimal road trips are stored in Cloud Datastore and Cloud Storage. Managed VMs run Python and Node.js services for computing optimal routes and generating screenshots. The architecture includes App Engine modules for processing notifications from Cloud Storage buckets and dispatching tasks to Managed VMs.
Django-oscar is an e-commerce framework for Django that allows any part of the core functionality to be customized. It has over 1,900 stars on GitHub and supports a variety of e-commerce features out of the box, including multiple product types, a large catalog, order processing, payments, shipping, and promotions. While the documentation is good, there are not many examples and customizing is slightly difficult. The framework is open source with over 150 contributors and has been used to support millions of products on live e-commerce sites.
Managed VMs allow users to run Docker containers on Google App Engine. This extends App Engine's capabilities by enabling the use of custom containers beyond the standard runtimes. With Managed VMs, users can build Docker images containing their applications and dependencies, deploy them to App Engine, and manage them similarly to how standard App Engine apps are deployed and managed. Traffic can be routed to apps running in both standard and custom Docker containers on Managed VMs modules through the use of a dispatch file.
TensorFlow 是由 Google 所公布的開源機器學習平台,根據 Github 的數據統計,TensorFlow 成為2016年最受關注的十大開源專案之一。此次分享將介紹,如何在 NAS 上整合TensorFlow 及相關 Open source project,以展示幾種相關的資料分析應用。
The document summarizes the evolution of Google App Engine (GAE). It discusses how GAE started by supporting Python but now supports additional languages like Java and Go. It also describes how GAE has expanded its capabilities from only supporting frontend instances to also offering backend instances and managed virtual machines that allow users to run custom Docker containers on GAE. The document provides an overview of key GAE concepts and features like runtimes, APIs, and integration with services like Cloud Storage, Cloud SQL, and Cloud Datastore.
The document discusses features for a travel planning application including generating optimal itineraries from uploaded points of interest, obtaining hotel recommendations near a given location, and retrieving information on nearby bicycle rentals during a trip. It also mentions capabilities for recording experiences during a trip and reviewing past journeys. The application aims to support travelers through the various stages of planning, experiencing, and reminiscing about a vacation.
This document provides an introduction and overview of Google Apps Script:
- Google Apps Script is a scripting language based on JavaScript that allows you to customize Google Apps functionality.
- It can be used to build add-ons for Google Sheets, Docs, Forms, and more and access advanced Google services like Gmail, Drive, and Calendar.
- There are different types of scripts including standalone scripts, scripts bound to Google documents, and web apps.
- The document discusses example uses like a coffee map app and internationalization helper and provides resources for learning more about Apps Script.
This document summarizes a presentation about deploying millions of emails per hour using cloud-based CI/CD practices. It discusses using App Engine and SendGrid for email delivery infrastructure, integrating CI (continuous integration) and CD (continuous delivery) with tools like Gitlab, Cloud Source Repositories, and Stackdriver Debugger. It also provides a demo of these practices and learning resources for email deliverability best practices, SendGrid documentation, and GCP services like Cloud Source Repositories and Stackdriver Debugger.
Cloud Workstations provides preconfigured, customizable, and secure managed development environments on Google Cloud. Cloud Workstations is accessible through a browser-based IDE, from multiple local code editors (such as IntelliJ IDEA Ultimate or VS Code), or through SSH. Instead of manually setting up development environments, you can create a workstation configuration specifying your environment in a reproducible way
Introduction to Cloud Computing with Google Cloudwesley chun
This is a 20-30 minute technical talk introducing developers to cloud computing including an overview of Google Cloud computing products. There is a special focus on serverless tools as a convenient way for developers to run code. The talk ends with several inspirational apps showcasing what is possible with Google Cloud tools meant to plant a seed as to consider what is possible.
Instrumentación de entrega continua con GitlabSoftware Guru
Mostraremos el caso real de cómo tenemos implementado en nuestra empresa el flujo de desarrollo para integración y entrega continua, instrumentado con GitLab.
Sesión presentada por David Padilla en SG Next 2017
Lambda Architecture using Google Cloud plus AppsSimon Su
This is a demo that use apps script to demo the lambda dashboard. The apps script publish a endpoint and client using fluentd to post data to apps script and also bigquery. Then, you can see the realtime and batch query in the same view.
Slim3 is a Java framework for developing applications on Google App Engine. It is optimized for GAE and allows building applications using an MVC framework. Slim3 provides features like fast deployment, hot reloading, and type-safe queries. To set up a Slim3 project, install Java and Eclipse plugins, create a new Slim3 project, module, and entry point class, and uncomment configuration in web.xml to enable the GWT service servlet. The project can then be run as a web application.
Gitlab ci e kubernetes, build test and deploy your projects like a prosparkfabrik
This document discusses using GitLab CI and Kubernetes together for continuous integration, delivery, and deployment. It provides an overview of Kubernetes and GitLab, describes how to set up a GitLab runner using the Kubernetes executor, and provides an example YAML configuration. It also covers continuous deployment workflows, running GitLab on Kubernetes, and some tips and tricks as well as techniques for troubleshooting Kubernetes and GitLab CI/CD pipelines.
This presentation was given at the Boston Django meetup on November 16, and surveyed several leading PaaS providers including Stackato, Dotcloud, OpenShift and Heroku.
For each PaaS provider, I documented the steps necessary to deploy Mezzanine, a popular Django-based CMS and blogging platform.
At the end of the presentation, I do a wrap-up of the different providers and provide a comparison matrix showing which providers have which features. This matrix is likely to go out-of-date quickly because these providers are adding new features all the time.
From Zero to Hadoop: a tutorial for getting started writing Hadoop jobs on Am...Alexander Dean
Hadoop is everywhere these days, but it can seem like a complex, intimidating ecosystem to those who have yet to jump in.
In this hands-on workshop, Alex Dean, co-founder of Snowplow Analytics, will take you "from zero to Hadoop", showing you how to run a variety of simple (but powerful) Hadoop jobs on Elastic MapReduce, Amazon's hosted Hadoop service. Alex will start with a no-nonsense overview of what Hadoop is, explaining its strengths and weaknesses and why it's such a powerful platform for data warehouse practitioners. Then Alex will help get you setup with EMR and Amazon S3, before leading you through a very simple job in Pig, a simple language for writing Hadoop jobs. After this we will move onto writing a more advanced job in Scalding, Twitter's Scala API for writing Hadoop jobs. For our final job, we will consolidate everything we have learnt by building a more sophisticated job in Scalding.
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017MarcinStachniuk
This document discusses continuous delivery in an open source project. It begins with an introduction of the speaker and then discusses various tools used in the continuous delivery process like Travis CI for continuous integration. It outlines the build pipeline for the project including deploying to Bintray and updating GitHub pages. It also covers code quality tools like Codecov and promoting the project on the internet through blogs, conferences and other forums.
This talk looks at converting an existing GCP serverless application into one build using Firebase. Firebase helps to simplify deployment, particularly around simple web hosting. The talk also looks at how easy it is to use GCP services integrated with Firebase such as authentication and Cloud Firestore.
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Fabrice Bernhard
This is the presentation given at the Symfony Live 2011 conference. It is an introduction to the new agile movement spreading in the technical operations community called DevOps and how to adopt it on web development projects, in particular Symfony projects.
Plan of the slides :
- Configuration Management
- Development VM
- Scripted deployment
- Continuous deployment
Tools presented in the slides:
- Puppet
- Vagrant
- Fabric
- Jenkins / Hudson
Sydney MicroServices Meetup - March 2015
Original interactive slides here: http://slides.com/yunzhilin/dropwizard-and-friends
Nebula provides open source Gradle plugins to help with tasks like testing, publishing, and dependency management. The document describes Nebula's plugin infrastructure and several plugins including nebula-test, nebula-core, nebula-project, gradle-nebula-oss-project, gradle-ospackage, gradle-dependency-lock, and gradle-publishing. It also mentions that Netflix is hiring build tools and full stack engineers.
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808Cisco DevNet
This session is an introduction to Golang - the Go programming language - for IT Professionals. We'll explain how to setup a GO development environment, create a simple HTTP/2 Web API, and embed our code into a Docker container. We'll also go through the reasons why the language is so popular to create network applications by showing how the language is expressive, concise, clean, and efficient. Join this session if you've started writing Python scripts that consume Web APIs, and you now want to go to the next stage by creating your own APIs to expose or store Enterprise Data.
DEVNET-1808
https://www.ciscolive.com/us/learn/sessions/session-catalog/?search=DEVNET-1808
The document discusses automating software deployment using Ansible. It provides an overview of Ansible's basic concepts like inventory files to define hosts, playbooks to execute tasks on hosts, and roles to bundle related tasks. It then discusses using Ansible roles to automate deployments, including the ansistrano roles which can deploy applications by copying files, managing releases, and supporting deployment hooks. Overall the document presents Ansible as a way to easily automate and standardize software deployment processes.
Devfest 2023 - Service Weaver Introduction - Taipei.pdfKAI CHU CHUNG
In modern software development, decentralized applications are increasingly common. Decentralized applications can split applications into multiple independent services, each service can be developed, deployed and managed independently.
Service Weaver is a decentralized application development framework provided by Google Cloud. It helps you develop, deploy and manage decentralized applications easily.
In this session, Google Cloud developer expert Kai-Chu Chung will introduce the basic concepts and usage of Service Weaver.
The document describes building a custom Cloud Native Buildpack (CNB) that includes the jq command line JSON processor. It includes details on:
1. The structure of the jq-cnb buildpack with its buildpack.toml metadata file, bin/detect script, and bin/build script
2. Running a build with the jq-cnb which downloads jq, detects and builds the application, and exports the final image
3. The phases of the build including detect, analyze, restore, build, and export
COSCUP 2020 Google 技術 x 公共參與 x 開源 口罩地圖技術開源KAI CHU CHUNG
這次台灣在防疫的表現上是亮眼的,其中最早的科技防疫「口罩地圖」扮演了拋磚引玉的作用,透過 Google Map 的結合,讓許多民眾可以很容易的找尋口罩物資,之後行政院也拍板釋出口罩存量的 open data,讓整個開放社群有更多資訊力量的投入。
介紹第一版「超商口罩地圖」的起源和概念,與第二版「藥局口罩地圖」的團隊組組成與技術應用,第二版口罩地圖是兩位 GDE 與三位 GDG organizer 的協同作業,在短短一個晚上時間內,使用 Google 雲端服務,做好能夠扛載第一天 80 萬次數的使用量。
GDG Cloud Taipei meetup #50 - Build go kit microservices at kubernetes with ...KAI CHU CHUNG
Gokit is microservice tookit and use Service/Endpoint/Transport to strict separation of concerns design. This talk to use go-kit develop microservice application integrate with istio, jaeger prometheus, etc service and deploy on Kubernetes.
GDG Devfest 2019 - Build go kit microservices at kubernetes with easeKAI CHU CHUNG
Gokit is microservice tookit and use Service/Endpoint/Transport to strict separation of concerns design. This talk to use go-kit develop microservice application integrate with consul, zipkin, prometheus, etc service and deploy on Kubernetes.
Global GDG Leaders Summit, Google I/O 2018 經驗分享KAI CHU CHUNG
This document summarizes Cage Chung's experience sharing about Google I/O 2018. It provides details about the 3-day event, including 27 meetups, 163 sessions, and over 7,000 attendees. It lists the different sandboxes and sessions available, including those related to Google Cloud, Android, AR/VR, and machine learning. It also shares tips for transportation, accommodation, shopping, and bringing gifts from the event.
Big Data Analytics Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
This is the keynote of the Into the Box conference, highlighting the release of the BoxLang JVM language, its key enhancements, and its vision for the future.
Dev Dives: Automate and orchestrate your processes with UiPath MaestroUiPathCommunity
This session is designed to equip developers with the skills needed to build mission-critical, end-to-end processes that seamlessly orchestrate agents, people, and robots.
📕 Here's what you can expect:
- Modeling: Build end-to-end processes using BPMN.
- Implementing: Integrate agentic tasks, RPA, APIs, and advanced decisioning into processes.
- Operating: Control process instances with rewind, replay, pause, and stop functions.
- Monitoring: Use dashboards and embedded analytics for real-time insights into process instances.
This webinar is a must-attend for developers looking to enhance their agentic automation skills and orchestrate robust, mission-critical processes.
👨🏫 Speaker:
Andrei Vintila, Principal Product Manager @UiPath
This session streamed live on April 29, 2025, 16:00 CET.
Check out all our upcoming Dev Dives sessions at https://community.uipath.com/dev-dives-automation-developer-2025/.
Spark is a powerhouse for large datasets, but when it comes to smaller data workloads, its overhead can sometimes slow things down. What if you could achieve high performance and efficiency without the need for Spark?
At S&P Global Commodity Insights, having a complete view of global energy and commodities markets enables customers to make data-driven decisions with confidence and create long-term, sustainable value. 🌍
Explore delta-rs + CDC and how these open-source innovations power lightweight, high-performance data applications beyond Spark! 🚀
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc
Most consumers believe they’re making informed decisions about their personal data—adjusting privacy settings, blocking trackers, and opting out where they can. However, our new research reveals that while awareness is high, taking meaningful action is still lacking. On the corporate side, many organizations report strong policies for managing third-party data and consumer consent yet fall short when it comes to consistency, accountability and transparency.
This session will explore the research findings from TrustArc’s Privacy Pulse Survey, examining consumer attitudes toward personal data collection and practical suggestions for corporate practices around purchasing third-party data.
Attendees will learn:
- Consumer awareness around data brokers and what consumers are doing to limit data collection
- How businesses assess third-party vendors and their consent management operations
- Where business preparedness needs improvement
- What these trends mean for the future of privacy governance and public trust
This discussion is essential for privacy, risk, and compliance professionals who want to ground their strategies in current data and prepare for what’s next in the privacy landscape.
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfSoftware Company
Explore the benefits and features of advanced logistics management software for businesses in Riyadh. This guide delves into the latest technologies, from real-time tracking and route optimization to warehouse management and inventory control, helping businesses streamline their logistics operations and reduce costs. Learn how implementing the right software solution can enhance efficiency, improve customer satisfaction, and provide a competitive edge in the growing logistics sector of Riyadh.
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...Alan Dix
Talk at the final event of Data Fusion Dynamics: A Collaborative UK-Saudi Initiative in Cybersecurity and Artificial Intelligence funded by the British Council UK-Saudi Challenge Fund 2024, Cardiff Metropolitan University, 29th April 2025
https://alandix.com/academic/talks/CMet2025-AI-Changes-Everything/
Is AI just another technology, or does it fundamentally change the way we live and think?
Every technology has a direct impact with micro-ethical consequences, some good, some bad. However more profound are the ways in which some technologies reshape the very fabric of society with macro-ethical impacts. The invention of the stirrup revolutionised mounted combat, but as a side effect gave rise to the feudal system, which still shapes politics today. The internal combustion engine offers personal freedom and creates pollution, but has also transformed the nature of urban planning and international trade. When we look at AI the micro-ethical issues, such as bias, are most obvious, but the macro-ethical challenges may be greater.
At a micro-ethical level AI has the potential to deepen social, ethnic and gender bias, issues I have warned about since the early 1990s! It is also being used increasingly on the battlefield. However, it also offers amazing opportunities in health and educations, as the recent Nobel prizes for the developers of AlphaFold illustrate. More radically, the need to encode ethics acts as a mirror to surface essential ethical problems and conflicts.
At the macro-ethical level, by the early 2000s digital technology had already begun to undermine sovereignty (e.g. gambling), market economics (through network effects and emergent monopolies), and the very meaning of money. Modern AI is the child of big data, big computation and ultimately big business, intensifying the inherent tendency of digital technology to concentrate power. AI is already unravelling the fundamentals of the social, political and economic world around us, but this is a world that needs radical reimagining to overcome the global environmental and human challenges that confront us. Our challenge is whether to let the threads fall as they may, or to use them to weave a better future.
Book industry standards are evolving rapidly. In the first part of this session, we’ll share an overview of key developments from 2024 and the early months of 2025. Then, BookNet’s resident standards expert, Tom Richardson, and CEO, Lauren Stewart, have a forward-looking conversation about what’s next.
Link to recording, presentation slides, and accompanying resource: https://bnctechforum.ca/sessions/standardsgoals-for-2025-standards-certification-roundup/
Presented by BookNet Canada on May 6, 2025 with support from the Department of Canadian Heritage.
What is Model Context Protocol(MCP) - The new technology for communication bw...Vishnu Singh Chundawat
The MCP (Model Context Protocol) is a framework designed to manage context and interaction within complex systems. This SlideShare presentation will provide a detailed overview of the MCP Model, its applications, and how it plays a crucial role in improving communication and decision-making in distributed systems. We will explore the key concepts behind the protocol, including the importance of context, data management, and how this model enhances system adaptability and responsiveness. Ideal for software developers, system architects, and IT professionals, this presentation will offer valuable insights into how the MCP Model can streamline workflows, improve efficiency, and create more intuitive systems for a wide range of use cases.
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxJustin Reock
Building 10x Organizations with Modern Productivity Metrics
10x developers may be a myth, but 10x organizations are very real, as proven by the influential study performed in the 1980s, ‘The Coding War Games.’
Right now, here in early 2025, we seem to be experiencing YAPP (Yet Another Productivity Philosophy), and that philosophy is converging on developer experience. It seems that with every new method we invent for the delivery of products, whether physical or virtual, we reinvent productivity philosophies to go alongside them.
But which of these approaches actually work? DORA? SPACE? DevEx? What should we invest in and create urgency behind today, so that we don’t find ourselves having the same discussion again in a decade?
Quantum Computing Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPathCommunity
Join this UiPath Community Berlin meetup to explore the Orchestrator API, Swagger interface, and the Test Manager API. Learn how to leverage these tools to streamline automation, enhance testing, and integrate more efficiently with UiPath. Perfect for developers, testers, and automation enthusiasts!
📕 Agenda
Welcome & Introductions
Orchestrator API Overview
Exploring the Swagger Interface
Test Manager API Highlights
Streamlining Automation & Testing with APIs (Demo)
Q&A and Open Discussion
Perfect for developers, testers, and automation enthusiasts!
👉 Join our UiPath Community Berlin chapter: https://community.uipath.com/berlin/
This session streamed live on April 29, 2025, 18:00 CET.
Check out all our upcoming UiPath Community sessions at https://community.uipath.com/events/.
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell
With expertise in data architecture, performance tracking, and revenue forecasting, Andrew Marnell plays a vital role in aligning business strategies with data insights. Andrew Marnell’s ability to lead cross-functional teams ensures businesses achieve sustainable growth and operational excellence.
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Impelsys Inc.
Impelsys provided a robust testing solution, leveraging a risk-based and requirement-mapped approach to validate ICU Connect and CritiXpert. A well-defined test suite was developed to assess data communication, clinical data collection, transformation, and visualization across integrated devices.
6. Who is using GAE?
Angry Birds
Khan Academy
Royal Wedding
Snapchat
EA Games
Forbes
Bestbuy
https://cloud.google.com/customers/ Appengine
7. Google Cloud Platform | Compute
PaasIaaS
Application
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
Application
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
Saas
Application
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
Infrastructure as a Service Platform as a Service Service as a Service
You manage Google manage
12. 2.
Devops: CI & CD
(Docker, gitlab,
GCP)
Let’s start with the second set of
slides
13. Devops
DevOps (a clipped compound of
development and operations) is
a culture, movement or practice
that emphasizes the
collaboration and
communication of both software
developers and other
information-technology (IT)
professionals while automating
the process of software delivery
and infrastructure changes.[1][2]
It aims at establishing a culture
and environment where
building, testing, and releasing
software, can happen rapidly,
frequently, and more reliably -
DevOps - Wikipedia
[image](https://goo.gl/pMC6UZ)
14. Devops: CI & CD (Docker, gitlab, GCP)
[image](https://goo.gl/pMC6UZ)
15. Origin imgae from and modified [DevOps:持續整合&持續交付(Docker、CircleCI、AWS)](http://blog.amowu.com/2015/04/devops-
continuous-integration-delivery-docker-circleci-aws-beanstalk.html)
16. Simple flow
◎ Python (gae-flask)
○ Local Development
○ Local Test
◎ Gitlab
◎ Code Review with GitHub(Gitlab) Flow
◎ gitlab-ci-multi-runner
○ Local runner exec test docker
○ Gitlab runner test docker
◎ Google App Engine
○ Google Cloud Source Repositories
○ Stackdriver Debugger
17. Local Development / Test | gae-flask
// clone repo
$ git clone [email protected]:cage1016/gae-flask.git
// make a new virtualenv
$ mkvirtualenv gae-flask
// pip install requirements.test.txt or link env as lib folder
(gae-flask-gitlab-ci) $ pip install -r requirements.testing.txt -t lib
// or
(gae-flask-gitlab-ci) $ pip install git+https://github.com/ze-phyr-us/linkenv.git
(gae-flask-gitlab-ci) $ linkenv env/lib/python2.7/site-packages lib
// local run app engine project
(gae-flask-gitlab-ci) $ dev_appserver.py app.yaml
// local run test
(gae-flask-gitlab-ci) $ python ./runtests.py
18. Local Development / mian.py
import flask
import requests
app = flask.Flask(__name__)
@app.route("/")
def hello():
return "hello world"
if __name__ == "__main__":
app.run()
19. Local Development / test_main.py
import pytest
import main
@pytest.fixture
def app():
return main.app
@pytest.fixture
def test_client(app):
return app.test_client()
def test_hello(test_client):
response = test_client.get("/")
assert response.data.decode("utf-8") == "hello world"
25. Local runner exec test docker
// [install gitlab-ci-multi-runner](https://goo.gl/a99Aa4)
// list and register gitlab-ci-runner
$ gitlab-ci-multi-runner list
Listing configured runners ConfigFile=/Users/cage/.gitlab-runner/config.toml
gae-flask-gitlab-ci Executor=docker Token=95d56b26104856b9f3852f2d82b1e5 URL=https://gitlab.com/ci
// prepare a docker-machine for gitlab-ci-multi-runner
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
runner - virtualbox Running tcp://192.168.99.100:2376 v1.11.0
// run a gitlab-ci-multi-runner test via docker
$ gitlab-ci-multi-runner --debug exec docker test --env "GCLOUD_KEY=$GCLOUD_KEY
GCLOUD_ACCOUNT=$GCLOUD_ACCOUNT GCP_PROJECT_VERSION=$GCP_PROJECT_VERSION"
// push git
(gae-flask-gitlab-ci) $ git push master
26. Docker cage1016/gitlab-ci-gcp:v1.5
FROM buildpack-deps:jessie
# remove several traces of debian python
RUN apt-get purge -y python.*
RUN apt-get update && apt-get install -y -qq --no-install-recommends unzip openssh-client python-openssl
# install "virtualenv", since the vast majority of users of this image will want it
RUN pip install --no-cache-dir virtualenv
# Install the Google Cloud SDK.
# archive gcloud sdk https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-105.0.0-
linux-x86_64.tar.gz
ENV HOME /
ENV CLOUDSDK_PYTHON_SITEPACKAGES 1
RUN wget https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-102.0.0-linux-x86_64.
tar.gz && tar -zxvf google-cloud-sdk-102.0.0-linux-x86_64.tar.gz && rm google-cloud-sdk-102.0.0-linux-
x86_64.tar.gz
RUN google-cloud-sdk/install.sh --usage-reporting=true --path-update=true --bash-completion=true --rc-
path=/.bashrc --additional-components app-engine-java app-engine-python app kubectl alpha beta
...
https://github.com/cage1016/gitlab-ci-gcp/blob/master/Dockerfile
29. Push a new branch to Gitlab
https://gitlab.com/cage1016/gae-flask/builds
30. Google Cloud Source Repositories
[/ - GAE Labs](https://goo.gl/c99Dz8)
31. Google Cloud Source Repositories repo
$ git remote add google https://source.developers.google.com/p/[PROJECT_ID]/r/default
// generates a file named source-context.json, which contains information about the version of the
source code used to build the application
$ gcloud preview app gen-repo-info-file
// push code to google cloud source repositories
$ git push google master
[/ - GAE Labs](https://goo.gl/c99Dz8)
35. “
5G Google cloud storage for App
engine for FREE
<project-id>.appspot.com
staging.<project-id>.appspot.com
36. “
App Engine Managed VMs is
renamed to App Engine flexible
environment. March 24, 2016
[Python Release Notes - Python — Google Cloud Platform](https://cloud.google.com/appengine/docs/python/release-notes#1.9.35)
37. “
App Engine Admin API
Cloud Source Repositories API
Google Cloud Storage
38. “
At the moment, the Go app engine SDK is still based
on Go 1.4, even if you use the go1.6beta version for
your app. This means that the SDK doesn't
understand 1.6-style vendoring, and so doesn't
correctly upload the vendored dependencies.
This will be fixed when 1.6 becomes the stable (go1)
version and is used as the basis of the SDK. Stay
tuned!
[gcpug.tw.go/.travis.yml at master · gcpug-tw/gcpug.tw.go](https://github.com/gcpug-tw/gcpug.tw.go/blob/master/.travis.yml)
[Vendorization for deployment - Google Groups](https://groups.google.com/forum/#!topic/google-appengine-go/umcPV_4tAm8)
39. Study information
◎ Gitlab
○ [Quick Start](http://doc.gitlab.com/ce/ci/quick_start/README.
html)
○ [Configuration of your builds with .gitlab-ci.yml](http://doc.gitlab.
com/ee/ci/yaml/README.html)
○ [GitLab.org / gitlab-ci-multi-runner · GitLab](https://gitlab.
com/gitlab-org/gitlab-ci-multi-runner)
◎ Deploying to App Engine or Managed VMs from Travis CI
○ [Deploying to App Engine or Managed VMs from Travis CI - YouTube]
(https://www.youtube.com/watch?v=7U4jjRw_AJk&feature=youtu.
be)
○ [GoogleCloudPlatform/continuous-deployment-demo](https:
//github.com/GoogleCloudPlatform/continuous-deployment-
demo)
40. Study information cont.
◎ GCP
○ [Cloud Source Repositories - Private Git Repositories — Google
Cloud Platform](https://cloud.google.com/source-repositories/)
○ [Stackdriver Debugger - Production Debugging - Google Cloud
Platform — Google Cloud Platform](https://cloud.google.
com/debugger/)
○ [Managed VMs lab · kaichu.io](http://kaichu.io/2015/09/managed-
vms-lab/)