An on-going presentation for the Docker workshop on how to integrate docker into Vagrant as a provider. In order to remove the requirement of having a VM, and speedup development environments. It also features Puppet as the configuration management system.
The code can be found in: https://github.com/npoggi/vagrant-docker
Docker is popular open-source software containerization platform. It provides an ability to package software into standardised units on Docker for software development. In this hands-on introductory session, I introduce the concept of containers and provide an overview of Docker. Participants can learn important concepts in Docker step-by-step and learn by example by running commands with me. The main session involves using Docker CLI (Command Line Interface) covering all the key concepts such as creating images and managing containers. What is more, this workshop ends with a complete example of getting some amazing work done with ease using Docker. Presented in OSI Days '16: http://opensourceindia.in/osidays/workshops-osi-2016/
Varying WordPress Development Environment WordCamp Cincinnati 2016David Brattoli
The presentation slides of my presentation Varying WordPress Local Development Environment that I gave at WordCamp Cincinnati 2016. This presentation is the step by step tutorial of how to build a local WordPress development environment using Vagrant, VVV and Virtualbox.
An on-going presentation for the Docker workshop on how to integrate docker into Vagrant as a provider. In order to remove the requirement of having a VM, and speedup development environments. It also features Puppet as the configuration management system.
The code can be found in: https://github.com/npoggi/vagrant-docker
Docker is popular open-source software containerization platform. It provides an ability to package software into standardised units on Docker for software development. In this hands-on introductory session, I introduce the concept of containers and provide an overview of Docker. Participants can learn important concepts in Docker step-by-step and learn by example by running commands with me. The main session involves using Docker CLI (Command Line Interface) covering all the key concepts such as creating images and managing containers. What is more, this workshop ends with a complete example of getting some amazing work done with ease using Docker. Presented in OSI Days '16: http://opensourceindia.in/osidays/workshops-osi-2016/
Varying WordPress Development Environment WordCamp Cincinnati 2016David Brattoli
The presentation slides of my presentation Varying WordPress Local Development Environment that I gave at WordCamp Cincinnati 2016. This presentation is the step by step tutorial of how to build a local WordPress development environment using Vagrant, VVV and Virtualbox.
Vagrant is a well-known tool for creating development environments in a simple and consistent way. Since we adopted in our organization we experienced several benefits: lower project setup times, better shared knowledge among team members, less wtf moments ;-)
In this session I'd like to share our experience, including but not limited to:
- advanced vagrantfile configuration
- vm configuration tips for dev environment: performance, debug, tuning
- our wtf moments
- puphet/phansilbe: hot or not?
- tips for sharing a box
Varying WordPress Development Environment WordCamp Columbus 2016David Brattoli
These are the slides of David Brattoli's WordCamp Columbus 2016 presentation Varying WordPress Development Environment. This presentation covers setting a local web development for WordPress using Varying-Vagrant-Vagrants.
With the 'rise of containers' comes also the rise of container platforms. And while Docker is the way to do things for now, Podman has also been gaining traction as the new kid on the block especially after being somewhat embraced by RedHat and Fedora. Being new also comes with lack of heavy scrutiny and audit on the security side of things. Once you start integrating other protocols and pieces that compliment each other, such as Varlink, boundaries become fuzzy. Rather than focus on container breakouts, which are also very important, we'll focus on how Podman and Varlink interoperate and the authentication and security implications as such. We'll look at the remote API capabilities, secure configurations and how certain setups and projects out there by default can be vulnerable to compromise. By the end of the talk, we will have discussed various bugs, issues and hardening techniques around deploying Podman and Varlink together and if you don't know a lot about containers, you'll learn a bit along the way.
mindtrek2016 - the economics of open source cloudsCarlo Daffara
When public cloud is better than the alternatives? What is the real economics of cloud computing? From my presentation at Mindtrek 2016 in Tampere, Finland
My presentation for OpenNebulaConf 2015, with a (slightly tongue-in-cheek) overview of the real difference between public and private clouds from the point of view of economics, utilization rate, complexity and more.
Vagrant is a well-known tool for creating development environments in a simple and consistent way. Since we adopted in our organization we experienced several benefits: lower project setup times, better shared knowledge among team members, less wtf moments ;-)
In this session I'd like to share our experience, including but not limited to:
- advanced vagrantfile configuration
- vm configuration tips for dev environment: performance, debug, tuning
- our wtf moments
- puphet/phansilbe: hot or not?
- tips for sharing a box
Varying WordPress Development Environment WordCamp Columbus 2016David Brattoli
These are the slides of David Brattoli's WordCamp Columbus 2016 presentation Varying WordPress Development Environment. This presentation covers setting a local web development for WordPress using Varying-Vagrant-Vagrants.
With the 'rise of containers' comes also the rise of container platforms. And while Docker is the way to do things for now, Podman has also been gaining traction as the new kid on the block especially after being somewhat embraced by RedHat and Fedora. Being new also comes with lack of heavy scrutiny and audit on the security side of things. Once you start integrating other protocols and pieces that compliment each other, such as Varlink, boundaries become fuzzy. Rather than focus on container breakouts, which are also very important, we'll focus on how Podman and Varlink interoperate and the authentication and security implications as such. We'll look at the remote API capabilities, secure configurations and how certain setups and projects out there by default can be vulnerable to compromise. By the end of the talk, we will have discussed various bugs, issues and hardening techniques around deploying Podman and Varlink together and if you don't know a lot about containers, you'll learn a bit along the way.
mindtrek2016 - the economics of open source cloudsCarlo Daffara
When public cloud is better than the alternatives? What is the real economics of cloud computing? From my presentation at Mindtrek 2016 in Tampere, Finland
My presentation for OpenNebulaConf 2015, with a (slightly tongue-in-cheek) overview of the real difference between public and private clouds from the point of view of economics, utilization rate, complexity and more.
The days of a "simple" LAMP stack are behind us. We now rely on different types of technologies, applications and services to run our web based applications. With "the cloud" we have learned how to distribute our operations, but are we resilient when these cloud services are not available?
We have all heard about the major outages of Amazon and Azure in the past and many online services were impacted by those outages. So how can you protect yourself against being "offline" for hours or days and what are the tools you can use to protect yourself against it?
Learn how we protect our customers with distributed systems (cloud and on-prem) to mitigate outages and stay online even when the lights go out.
Microservices Architectures with Docker Swarm, etcd, Kuryr and NeutronFawad Khaliq
Microservices architectures are revolutionizing the way software is envisioned and built. OpenStack has started to play a key role in enabling the microservices architectures and focused groups inside OpenStack community are working towards this goal: Magnum, Kuryr etc.
Docker is one of the key components here and combining them all, we get to build microservices architectures using tools like Docker Swarm, Etcd, Kuryr and Neutron. This workshop will provide attendees with the opportunity to gain experience with various Docker features and uses cases integrated with the OpenStack ecosystem. The lab will cover wide range of topics:
Introduction to Docker and OpenStack
Docker Swarm: Architecture and usage
Etcd
Kuryr and Neutron: Architecture and usage with DevStack
Deploying Microservices
Breaking Docker, Kuryr and debugging it!
Attendees simply need to come in (with their laptop). Workshop speaker/organizer will provide instructions and will be available to answer any questions.
Building Distributed System with Celery on Docker Swarm - PyCon JP 2016Wei Lin
In this talk, the basic mechanisms of Celery and Docker-Swarm will be explained. With Docker-Swarm , a cluster was built upon two Raspberry Pi machines. Hadoop entry-level "Word Count" program could be re-written in Python and executed parallelly via Celery on the cluster. An example of distributed system modeling neural-network will also be explained.
Introducing Docker Swarm - the orchestration tool by DockerRamit Surana
Swarm is native clustering for Docker containers. It pools together several Docker Engines into a single, virtual host. Point a Docker client or third party tool (e.g., Compose, Dokku, Shipyard, Jenkins, the Docker client, etc.) at Swarm and it will transparently scale to multiple hosts.
Scaling Jenkins with Docker: Swarm, Kubernetes or Mesos?Carlos Sanchez
The Jenkins platform can be dynamically scaled by using several Docker cluster and orchestration platforms, using containers to run slaves and jobs and also isolating job execution. But which cluster technology should be used? Docker Swarm? Apache Mesos? Kubernetes? How do they compare? All of them can be used to dynamically run jobs inside containers. This talk will cover these main container clusters, outlining the pros and cons of each, the current state of the art of the technologies and Jenkins support.
An introduction to Docker native clustering: Swarm.
Deployment and configuration, integration with Consul, for a product-like cluster to serve web-application with multiple containers on multiple hosts. #dockerops
Video: https://youtu.be/C_u4_l84ED8
Karl Isenberg reviews the history of distributed computing, clarifies terminology for layers in the container stack, and does a head to head comparison of several tools in the space, including Kubernetes, Marathon, and Docker Swarm. Learn which features and qualities are critical for container orchestration and how you can apply this knowledge when evaluating platforms.
What's New in Docker 1.12 by Mike Goelzer and Andrea LuzzardiDocker, Inc.
Mike Goelzer is a developer, hacker, author and the open source product management lead for Docker’s Core Runtime. He currently works on the open source Docker Engine and Docker’s open source container orchestration technologies. Andrea Luzzardi is a Software Engineer at Docker and was part of the original team that built the project. He is currently working on Swarm, a Docker-native clustering system. They discuss what is new in Docker.
Getting Deep on Orchestration: APIs, Actors, and Abstractions in a Distribute...Docker, Inc.
Orchestration platforms let us work with higher level ideas like services and jobs; but there is more to a platform than scheduling and service discovery. A platform is a collection of actors and APIs that work together and provide those higher level abstractions on a distributed system. In this session we'll go deep on the architecture of open source orchestration platforms, consider scaling pains, reveal extension points, and reflect on an orchestration platform at Amazon. We'll finish with a demo of a homemade abstraction deployed on a live, multi-cloud Swarm cluster.
Load Balancing Apps in Docker Swarm with NGINXNGINX, Inc.
On-demand webinar recording: http://bit.ly/2mRjk2g
Docker and other container technologies continue to gain in popularity. We recently surveyed the broad community of NGINX and NGINX Plus users and found that two-thirds of organizations are either investigating containers, using them in development, or using them in production. Why? Because abstracting your applications from the underlying infrastructure makes developing, distributing, and running software simpler, faster, and more robust than ever before.
But when you move from running your app in a development environment to deploying containers in production, you face new challenges – such as how to effectively run and scale an application across multiple hosts with the performance and uptime that your customers demand.
The latest Docker release, 1.12, supports multihost container orchestration, which simplifies deployment and management of containers across a cluster of Docker hosts. In a complex environment like this, load balancing plays an essential part in delivering your container-based application with reliability and high performance.
Join us in this webinar to learn:
* The basic built-in load balancing options available in Docker Swarm Mode
* The pros and cons of moving to an advanced load balancer like NGINX
* How to integrate NGINX and NGINX Plus with Swarm Mode to provide an advanced load-balancing solution for a cluster with orchestration
* How to scale your Docker-based application with Swarm Mode and NGINX Plus
Swarm in a nutshell
• Exposes several Docker Engines as a single virtual Engine
• Serves the standard Docker API
• Extremely easy to get started
• Batteries included but swappable
My talk from Dockercon EU in Amsterdam, Dec 2014. Original abstract:
The ModCloth Platform team has been building a Docker-based continuous delivery pipeline. This presentation discusses that project and how we build containers at ModCloth. The topics include what goes into our containers; how to optimize builds to use the Docker build cache effectively; useful development workflows (including using fig); and the key decision to treat containers as processes instead of mini-vms. This presentation will also discuss (and demo!) the workflow we’ve adopted for building containers and how we’ve integrated container builds with our CI.
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...Docker, Inc.
The ModCloth Platform team has been building a Docker-based continuous delivery pipeline. This presentation discusses that project and how we build containers at ModCloth. The topics include what goes into our containers; how to optimize builds to use the Docker build cache effectively; useful development workflows (including using fig); and the key decision to treat containers as processes instead of mini-vms. This presentation will also discuss (and demo!) the workflow we’ve adopted for building containers and how we’ve integrated container builds with our CI.
Docker has created enormous buzz in the last few years. Docker is a open-source software containerization platform. It provides an ability to package software into standardised units on Docker for software development. In this hands-on introductory session, I introduce the concept of containers, provide an overview of Docker, and take the participants through the steps for installing Docker. The main session involves using Docker CLI (Command Line Interface) - all the concepts such as images, managing containers, and getting useful work done is illustrated step-by-step by running commands.
In this talk Ben will walk you through running Cassandra in a docker environment to give you a flexible development environment that uses only a very small set of resources, both locally and with your favorite cloud provider. Lessons learned running Cassandra with a very small set of resources are applicable to both your local development environment and larger, less constrained production deployments.
Docker is the latest hotness in the deployment automation space, and opens a whole new world of opportunities in how we bundle, deploy and manage our running apps.
Recent changes in one desktop product generated many doubts in developer communities regarding containers. Can we still use or create them? Do we have alternatives to docker? We have some answers! Join us in this session to learn more about some popular docker alternatives. You can create containers without docker, and you can also run and publish them. There's life after docker, and containers are here to stay.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
1. Scaling With Docker Swarm using
Packer, Terraform & OpenStack
Bobby DeVeaux - March 28th 2017
https://joind.in/talk/a76ea
2. https://joind.in/talk/a76ea @bobbyjason #doxlon
• Created my first website at 9 Years old in 1995 😮
• Started coding PHP in 2001 - 16 years ago
• Developer, Team Leader, CTO, Director & Consultant
• Been using AWS for over 5 years
• Web Development, Message Queues, Automation, CI&CD
• Previously worked at SkyBet & DVSA
• Now a DevOps Consultant with UKCloud, Evangelising OpenStack
• Contributor to Terraform
• I ♥️ Docker, Terraform & Golang (or anything Hashicorp)
• #twitter: @bobbyjason
About Me ☁️
2
3. https://joind.in/talk/a76ea @bobbyjason #doxlon
• I’m here to spread the awareness of UKCloud & OpenStack
• I want you to use Docker Swarm
• I want you to love Terraform
• I want to show you how to scale an app using all the above
Why Am I Here?
3
7. https://joind.in/talk/a76ea @bobbyjason #doxlon
• Who’s using Docker yet?
• Who’s using Docker Swarm?
• Who’s using Terraform?
• Who’s using Packer?
• Who’s not played with any of them, and would love to?
Hands Up
7
16. https://joind.in/talk/a76ea @bobbyjason #doxlon
• Terraform is a tool for building, changing, and versioning
infrastructure safely and efficiently. Terraform can manage existing
and popular service providers as well as custom in-house solutions.
• Infrastructure as Code: Infrastructure is described using a high-level
configuration syntax. This allows a blueprint of your datacenter to be
versioned and treated as you would any other code. Additionally,
infrastructure can be shared and re-used.
• Execution Plans: Terraform has a "planning" step where it generates
an execution plan. The execution plan shows what Terraform will do
when you call apply. This lets you avoid any surprises when
Terraform manipulates infrastructure
What Is Terraform?
24
17. https://joind.in/talk/a76ea @bobbyjason #doxlon
• How long do your builds & deployments in travis / Jenkins take?
• What’s acceptable?
• ‘Quick’ is relative, and depends on your requirements.
• When I say quick deployments, I’m referring to efficient
deployments using Foundation Images.
Who Likes Quick Deployments?
29
18. https://joind.in/talk/a76ea @bobbyjason #doxlon
• Ansible / Puppet / Chef means that lots of projects now build from
the base box image, i.e. CentOS6 or Ubuntu 14.04 etc.
• Do you want to be building this each build? Some of you are clever,
and don’t. Some of you are clever, but didn’t consider an
alternative, or didn’t know how. Maybe some of you don’t even use
automated builds…
• Using Packer and your provisioner of choice, you can export the
artefact and store it as a Docker Container or Image in your cloud
provider (Amazon AMI, OpenStack Glance, etc).
Foundation Images
30
19. https://joind.in/talk/a76ea @bobbyjason #doxlon
• Tool for creating identical machine images
• Supports multiple platforms
• Supports many provisioners (Ansible, Chef, Puppet, Bash.. etc.)
• Can export image in multiple formats AMIs for EC2, VMDK/VMX
files for VMware, OVF exports for VirtualBox, etc.
What Is Packer?
31
42. https://joind.in/talk/a76ea @bobbyjason #doxlon
• Provisioned Docker Containers
• Infrastructure as Code
• Automated Deployments for CI / CD
• Scalable Architecture
• Openstack + UKCloud
There you have it!
63
Key takeaway: UKPS are serious about transforming government IT. UKCloud uniquely focussed on providing enabling technologies and services which enabled us to become one of the fastest growing tech companies in Europe. Today, we remain 100% focussed on UKPS and are the market leading cloud provider. We support almost 200 workloads across over 30 direct customers and over 200 partners
This slide provides an at-a-glance view of UKCloud.
Along the bottom are key government policies and initiatives that have enabled a fundamental transformation of how IT is delivered across UK public sector. Digital by default is a core component of Civil Service Reform and seeks to enable a digital government, where interactions with businesses and citizens happen online rather than via call centres, drop-in centres or postal services. These new digital transactions require new applications and new architectures, and hence the government’s Technology Code of Practice advocates a Cloud First policy, favouring open-source and open standards over proprietary solutions, procured via the G-Cloud framework and appropriately assured through evaluation against the Cloud Security Principles. Importantly, Social Justice features prominently under the Theresa May government and UKCloud, as a British company, employing British people, creating British innovation and paying tax in Britain, is ideally aligned with the Social Value Act. In addition, the Greening ICT initiative incentivises the use of shared and efficient services such as cloud. And the dis-aggregation policy ensures that the large, legacy IT contracts are broken down and awarded to multiple suppliers rather than a single supplier.
It’s this context that drives demand for what we do and gives us a clear purpose.
Along the top are key characteristics of UKCloud. We were founded in 2011, as Skyscape Cloud Services, and born to deliver genuine cloud services exclusively to UK public sector and to therefore disrupt the inefficient way government IT was being delivered. In the past 5 years, we’ve grown rapidly including a 96% year-on-year growth in our last financial year. Indeed, we’re recognised as one of the fastest growing technology companies in the whole of Europe. This growth has enabled us to rapidly expand our company and we now have over 180 employees – all focused on delivering the best cloud for UK public sector. And our focus is paying dividends as we’re the market leading IaaS provider in G-Cloud with a 34% market share, bigger then the next three providers combined. Indeed, we’ve extended our market share every month despite increasing competition. And unlike other providers in G-Cloud who have but a few UK public sector customers, we have scores of customers and almost 200 UK public sector workloads, applications or projects.
The centre of the slide shows that those 200 workloads consist of over 30 direct customer contracts with the likes of DVLA, HMRC, MOJ and others, as well as solutions delivered via a growing ecosystem of over 200 partners which includes the likes of SopraSteria and Capgemini delivering Systems Integration to the likes of Kainos, Equal Experts and CACI which deliver more specialised managed services and professional services. Over time, we believe the majority of our workloads will be delivered via our partner ecosystem.
We already have Docker for AWS
We already have Docker for Azure
UKCloud have an Openstack offering
Committing code to our PHP App and seeing it deployed
Load Balancing
Killing a container
Points about being Cloud Native - Database as a Service,
not that scary
Decentralized design: Instead of handling differentiation between node roles at deployment time, the Docker Engine handles any specialization at runtime. You can deploy both kinds of nodes, managers and workers, using the Docker Engine. This means you can build an entire swarm from a single disk image.
Declarative service model: Docker Engine uses a declarative approach to let you define the desired state of the various services in your application stack. For example, you might describe an application comprised of a web front end service with message queueing services and a database backend.
Desired state reconciliation: The swarm manager node constantly monitors the cluster state and reconciles any differences between the actual state and your expressed desired state. For example, if you set up a service to run 10 replicas of a container, and a worker machine hosting two of those replicas crashes, the manager will create two new replicas to replace the replicas that crashed. The swarm manager assigns the new replicas to workers that are running and available.
Multi-host networking: You can specify an overlay network for your services. The swarm manager automatically assigns addresses to the containers on the overlay network when it initializes or updates the application.
Service discovery: Swarm manager nodes assign each service in the swarm a unique DNS name and load balances running containers. You can query every container running in the swarm through a DNS server embedded in the swarm.
Load balancing: You can expose the ports for services to an external load balancer. Internally, the swarm lets you specify how to distribute service containers between nodes.
Secure by default: Each node in the swarm enforces TLS mutual authentication and encryption to secure communications between itself and all other nodes. You have the option to use self-signed root certificates or certificates from a custom root CA.
Rolling updates: At rollout time you can apply service updates to nodes incrementally. The swarm manager lets you control the delay between service deployment to different sets of nodes. If anything goes wrong, you can roll-back a task to a previous version of the service.
- Create services
docker service ls
- Create services
- Scale services
docker service ls
docker kill container
docker service ls
Docker stack deploy —compose-file docker-compose.yml mystic
docker stack ls
docker service ls
docker ps
We’ve covered docker compose & swarm basics, creating services and deploying stacks..
We have a great development enivronment
Any questions so far?
Hopefully most of you know the already… :)
terraform apply
3 things:
> Updating the image to use the alpha build, so we can have Docker 1.13
> Installing Docker-Compose
> Copying ssh key
Basic Nginx Docker Container
Nginx config to process PHP via PHP-FPM
Grabbing the PHP 7 docker container
Installing supervisor + debug + opcache
Copy 2 php.ini files. 1 for dev, 1 for prod
Supervisor accepting ENV var to determine which php file to load,
This will build our docker containers locally, but there’s a better way..
Bash Script to wrap it up and build the containers on Jenkins
Show Jenkins
Show docker hub
Had an email asking if I knew I’d posted my password in my blog post…
Pop this file on your Jenkins server and all will be good
commented it out for nostalgic purposes
Parameterised build report
Docker-hub
Doesn’t do much other than copy that latest version of the code onto our latest foundation image
No need to rebuild the PHP box, no reinstalling go OPcache or Xdebug
When we commit/merge into our master branch, we want to build our new PHP dummy app container
show Docker Hub
Red - fail to deploy as we have not created the infrastructure yet - lets do that next
Here we are building the first manager and passing in a user_data cloudinit file
the cloud init sets up the swarm and saves the join tokens
it also uses our docker-compose.yml file to deploy the stack
For each of the other ‘secondary masters’ we use a different init file
Copies the join tokens from the Primary master, and also copies the docker compose file
Then joins the swarm using the token
we now have 3 masters, all capable of being the Leader.
terraform apply
ssh
docker node ls
visit IP and show load balancing
Copying the worker tokens
scaling the nodes to the numbers of workers
forcing redistribution if scaling more than 1 at a time
terraform apply
Committing code to our PHP App and seeing it deployed
Load Balancing
Killing a container
Points about being Cloud Native - Database as a Service,