SlideShare une entreprise Scribd logo
1  sur  69
Télécharger pour lire hors ligne
GOING LIVE WITH COMMANDBOX
AND DOCKER!
Fun times* in deploying real projects
* Your mileage might vary
CMDdevelop • deploy • deliver
@markdrew
mark@cmdhq.io
http://cmdhq.io
WHAT WE ARE COVERING
➤ Background
➤ Workflow
➤ Server Monitoring
➤ Configuration
➤ Caching & Session Storage
➤ Logging
➤ Configuration
➤ Load Balancing and
Orchestration
➤ The Hard Stuff
BACKGROUND
BACKGROUND
➤ Owned actual hardware at ISP
➤ Disaster Recovery (DR)
➤ WIDE range of platforms
➤ Range of usage patterns
➤ Lots of assets and data
➤ Issues with getting code to
production
➤ 💩 code constipation
➤ 💥 Actual Disaster - ISP needs
to move.
Web app
Image Conv
Meta indexing
Image Conv
Log
WORKFLOW
TIMETABLE
Week1 Mon Tue Wed Thurs Fri
Dev Dev Dev Dev Dev Dev
QA
Infra
Week2 Mon Tue Wed Thurs Fri
Dev Dev Dev Dev Estimate Train/Est
QA Test Test Test
Infra
Week3 Mon Tue Wed Thurs Fri
Dev Dev Dev Dev Dev …
QA Test Test
Infra Prep Deploy
WORKFLOW - GITFLOW (MODIFIED)!
Time
master
develop
feature X
feature Y
1
release
2 4
hot-fix
3
ENVIRONMENTS
Development Unit Test QA Live
ENVIRONMENTS
Development Unit Test QA Live
ENVIRONMENTS
Development
Development
Unit Test
Unit Test
QA
QA
Live
Live
*tomorrow
WHY DOCKER?
➤ Why move from Vagrant to
Docker?
➤ How does it help the
developer?
➤ How does it help
infrastructure team?
WHY COMMANDBOX?
➤ Shiny new toy?
➤ Configuration
➤ Smaller software surface
➤ Ability to script stuff EASIER
CLEAN UP THE CODE
➤ CFLint
➤ Git Hooks
➤ Unit tests *
*tomorrow
CLEAN UP THE CODE
➤ A static code analysis tool
for CFML
➤ Checks code against a list
of rules (which can be
customised per project)
➤ Check for variable name
lengths etc.
➤ https://github.com/cflint/
CFLint
> java -jar CFLint-1.2.3-all.jar -folder .
@markdrew
FOLDER BASED CONFIGURATION
{
"output" : [ ],
"rule" : [ ],
"excludes" : [ ],
"includes" : [ {
"code" : "FUNCTION_HINT_MISSING"
} ],
"inheritParent" : false,
"inheritPlugins" : true,
"parameters" : {}
}
.cflintrc
GIT HOOKS
➤ Run Commandbox (or any!)
commands when performing
git actions.
➤ Awesome!
@markdrew
> box install commandbox-githooks
> cd MyProject
> git init
> box githooks install
Title Text
@markdrew
ADD IN THE HOOKS
{
"name":"MyProject",
"githooks":{
"preCommit":"!java -jar CFLint-1.2.3-all.jar -folder .”
}
}
box.json
SERVE WITH COMMANDBOX!
➤ server.json
➤ needs SSL
➤ Webroot isn’t the root.
➤ Needed specific Railo version
to start using it (thanks Brad!)
{
“name":"ClientApp",
"app":{
"cfengine":"Railo"
},
"web":{
“webroot":"wwwroot/",
"SSL":{
"enable":true,
"port":1443
},
"http":{
"enable":true,
"port":8080
}
}
}
server.json
@markdrew
AND CREATE DOCKER
#!/usr/bin/env bash
echo "Building the APP Docker image"
container_name="development-${RANDOM}"
image_name="dev"
docker build -t ${image_name} .
echo "Starting..."
docker run -it --name ${container_name} 
-p 8080:8080 -p 8443:1443 
-v "${PWD}:/app" 
-v "${PWD}/../password-lgk:/usr/share/tomcat7/certs" 
${image_name}
buildDocker.sh
@markdrew
AND CREATE DOCKER
FROM ortussolutions/commandbox
COPY . /app
buildDocker.sh
NOW WITH GITLAB
NOW WITH GITLAB
SERVER MONITORING
MONITORING
➤ It’s 3am, do you know which
server crashed?
➤ Where are the logs? Is it
VM1(x)? Which instance?
SERVER MONITORING
VM1 VM2 VM3 VM4 VM5
VM1
FUSION REACTOR CLOUD
PROMETHEUS
OTHER MONITORS
CONFIGURATION
CONFIGURATION
➤ From Database
➤ Dynamic Datasources
➤ On Request
➤ Per request settings
➤ CFConfig
➤ JVM Settings
➤ Extensions
@markdrew
DYNAMIC DATASOURCES
component {
app = new core.objects.app();
hostName = ListFirst(cgi.http_host , ":");
appConfig = app.getConfig( hostName = hostName );
this.defaultDatasource = appConfig.code;
this.datasources[ this.defaultDatasource ] = {
class : 'com.microsoft.jdbc.sqlserver.SQLServerDriver',
connectionString: 'jdbc:sqlserver://' & appConfig.dbServer & ':
1433;DATABASENAME=' & appConfig.dbName &
';sendStringParametersAsUnicode=true;SelectMethod=direct',
username : appConfig.dbUser,
password : appConfig.dbPassword,
};
}
Title Text
@markdrew
CFCONFIG
> box install commandbox-cfconfig
> cfconfig show
Title Text
{
"applicationListener":"mixed",
"applicationMode":"curr2root",
"applicationTimeout":"1,0,0,0",
"clientCookies":"yes",
"clientManagement":"no",
"clientTimeout":"90,0,0,0",
"loggers":{
"application":{
"appender":"resource",
"appenderArguments":{
"path":"{lucee-config}/logs/application.log"
},
"layout":"classic"
},
"datasource":{
"appender":"resource",
"appenderArguments":{
@markdrew
CFCONFIG
> cfconfig export .CFConfig.json
Title Text
@markdrew
CFCONFIG SETTINGS
{
"app":{
"cfengine":"Lucee@5"
}
"cfconfigfile":".CFConfig.json"
}
server.json
@markdrew
JVM SETTINGS
{
"app":{
"cfengine":"Lucee@5"
},
"jvm":{
"heapSize":1024,
"minHeapSize":256
},
"cfconfigfile":".CFConfig.json"
}
server.json
ENVIRONMENT RESOURCE HOSTS
Dev Test QA Live
DB dev.domain test.domain qa.domain live.domain
Mail mail.dev.domain mail.test.domain mail.qa.domain mail.live.domain
Logs logs.dev.domain logs.test.domain logs.qa.domain logs.live.domain
Etc etc.dev.domain etc.test.domain etc.qa.domain live.qa.domain
ENVIRONMENT RESOURCE HOSTS
Dev Test QA Live
DB db db db db
Mail mail mail mail mail
Logs logs logs logs logs
Etc etc etc etc etc
@markdrew
/ETC/HOSTS
192.168.2.1 db
192.168.2.1 mail
192.168.2.1 logs
192.168.2.1 etc
Hosts
@markdrew
ADD HOSTS
#!/usr/bin/env bash
echo "Building the APP Docker image"
container_name="development-${RANDOM}"
image_name="dev"
docker build -t ${image_name} .
echo "Starting..."
docker run -it --name ${container_name} 
-p 8080:8080 -p 8443:1443 
-v "${PWD}:/app" 
--add-host="db:192.168.65.1" 
--add-host="mail:192.168.65.2" 
-—add-host=“logs:192.168.65.3" 
-—add-host=“etc:192.168.65.4” 
${image_name}
buildDocker.sh
CACHING & SESSION
STORAGE
CACHING & SESSIONS
➤ Cache of data
➤ Cache of resources/artefacts
➤ Cache of function results
➤ Session storage
CACHE OF DATA
CACHE OF DATA
http://127.0.0.1:51921/lucee/admin/web.cfm?action=services.cache
@markdrew
function getConfig() cachedwithin="#CreateTimeSpan(0, 0, 10, 0)#"{
return now();
}
Title Text
@markdrew
ARTEFACT CACHING
docker run 
—name ourapp 
-p 8080:8080 
-p 8443:8443 
-v .CommandBox/artifacts:/root/.CommandBox/artifacts 
theapp
runApp.sh
SESSION STORAGE
VM1
@markdrew
SETTING UP SESSION STORAGE
component {
this.sessionCluster = true;
this.sessionStorage = "SessionStore";
this.sessionManagement = true;
}
Application.cfc
LOGGING
LOGGING ISSUES
➤ Logs get lost
➤ Not all things are logged.
➤ Need to setup in Lucee admin
➤ Trap it using
➤ JournalD
➤ ELK = Elasticsearch +
Kibana + Logstash (beats)
KIBANA - DASHBOARDS
KIBANA - TIME SERIES
@markdrew
<logger
appender="resource"
appender-arguments="path:{lucee-config}/logs/application.log"
layout="classic" name="application"/>
<logger
appender="console"
appender-arguments="streamtype:error"
layout="classic"
layout-arguments="" level="ERROR" name="exception"/>
Title Text
LOAD BALANCING AND
ORCHESTRATION
LOAD BALANCING AND ORCHESTRATION
➤ Round Robin load balancing
➤ Kubernetes
➤ Could be using:
➤ Portioner
➤ Docker Compose and
Swarm
➤ Elastic Container Service
AWS
THE HARD STUFF
DATA CHANGES / WORKFLOW
➤ Some solutions:

➤ CFMigrations - Eric Peterson

➤ Versioning of database

➤ QueryBuilder (Fluent Query Builder
for CFML)  - Eric Peterson

➤ Currently using hand crafted SQL
files (can be run multiple times)

➤ First time alters the columns

➤ Second time updates data

SCHEDULED TASKS
CANARY DEPLOYMENTS
VM1 VM2 VM3 VM4 VM5
VM1
GREEN/BLUE DEPLOYMENTS
VM1 VM2 VM3 VM4 VM5
IN SUMMARY
➤ Provide the team with the structure to succeed
➤ Provide the team with the tools to succeed
➤ Configure all the things! Commandbox & CfConfig are your
friends
➤ Simplify environment transitions
➤ Monitor all the things!
➤ Log all the things!
➤ Cache all the things!
➤ It’s a process in process
CMDdevelop • deploy • deliver
@markdrew
mark@cmdhq.io
http://cmdhq.io

Contenu connexe

Tendances

2012 coscup - Build your PHP application on Heroku
2012 coscup - Build your PHP application on Heroku2012 coscup - Build your PHP application on Heroku
2012 coscup - Build your PHP application on Heroku
ronnywang_tw
 
PDXPortland - Dockerize Django
PDXPortland - Dockerize DjangoPDXPortland - Dockerize Django
PDXPortland - Dockerize Django
Hannes Hapke
 

Tendances (20)

Docker orchestration v4
Docker orchestration v4Docker orchestration v4
Docker orchestration v4
 
Dockerを利用したローカル環境から本番環境までの構築設計
Dockerを利用したローカル環境から本番環境までの構築設計Dockerを利用したローカル環境から本番環境までの構築設計
Dockerを利用したローカル環境から本番環境までの構築設計
 
Zero Downtime Deployment with Ansible
Zero Downtime Deployment with AnsibleZero Downtime Deployment with Ansible
Zero Downtime Deployment with Ansible
 
Ruby on Rails and Docker - Why should I care?
Ruby on Rails and Docker - Why should I care?Ruby on Rails and Docker - Why should I care?
Ruby on Rails and Docker - Why should I care?
 
Docker for Developers - Sunshine PHP
Docker for Developers - Sunshine PHPDocker for Developers - Sunshine PHP
Docker for Developers - Sunshine PHP
 
Docker Demo @ IuK Seminar
Docker Demo @ IuK SeminarDocker Demo @ IuK Seminar
Docker Demo @ IuK Seminar
 
Toolbox of a Ruby Team
Toolbox of a Ruby TeamToolbox of a Ruby Team
Toolbox of a Ruby Team
 
Zero Downtime Deployment with Ansible
Zero Downtime Deployment with AnsibleZero Downtime Deployment with Ansible
Zero Downtime Deployment with Ansible
 
Living the Nomadic life - Nic Jackson
Living the Nomadic life - Nic JacksonLiving the Nomadic life - Nic Jackson
Living the Nomadic life - Nic Jackson
 
2012 coscup - Build your PHP application on Heroku
2012 coscup - Build your PHP application on Heroku2012 coscup - Build your PHP application on Heroku
2012 coscup - Build your PHP application on Heroku
 
Paris container day june17
Paris container day   june17Paris container day   june17
Paris container day june17
 
Create a Varnish cluster in Kubernetes for Drupal caching - DrupalCon North A...
Create a Varnish cluster in Kubernetes for Drupal caching - DrupalCon North A...Create a Varnish cluster in Kubernetes for Drupal caching - DrupalCon North A...
Create a Varnish cluster in Kubernetes for Drupal caching - DrupalCon North A...
 
PDXPortland - Dockerize Django
PDXPortland - Dockerize DjangoPDXPortland - Dockerize Django
PDXPortland - Dockerize Django
 
Advanced Task Scheduling with Amazon ECS (June 2017)
Advanced Task Scheduling with Amazon ECS (June 2017)Advanced Task Scheduling with Amazon ECS (June 2017)
Advanced Task Scheduling with Amazon ECS (June 2017)
 
App development with quasar (pdf)
App development with quasar (pdf)App development with quasar (pdf)
App development with quasar (pdf)
 
Running High Performance and Fault Tolerant Elasticsearch Clusters on Docker
Running High Performance and Fault Tolerant Elasticsearch Clusters on DockerRunning High Performance and Fault Tolerant Elasticsearch Clusters on Docker
Running High Performance and Fault Tolerant Elasticsearch Clusters on Docker
 
Infrastructure = code - 1 year later
Infrastructure = code - 1 year laterInfrastructure = code - 1 year later
Infrastructure = code - 1 year later
 
Devfest 2021' - Artifact Registry Introduction (Taipei)
Devfest 2021' - Artifact Registry Introduction (Taipei)Devfest 2021' - Artifact Registry Introduction (Taipei)
Devfest 2021' - Artifact Registry Introduction (Taipei)
 
如何透過 Go-kit 快速搭建微服務架構應用程式實戰
如何透過 Go-kit 快速搭建微服務架構應用程式實戰如何透過 Go-kit 快速搭建微服務架構應用程式實戰
如何透過 Go-kit 快速搭建微服務架構應用程式實戰
 
Big query - Command line tools and Tips - (MOSG)
Big query - Command line tools and Tips - (MOSG)Big query - Command line tools and Tips - (MOSG)
Big query - Command line tools and Tips - (MOSG)
 

Similaire à Into The Box 2018 Going live with commandbox and docker

Deployment with Fabric
Deployment with FabricDeployment with Fabric
Deployment with Fabric
andymccurdy
 
Python Deployment with Fabric
Python Deployment with FabricPython Deployment with Fabric
Python Deployment with Fabric
andymccurdy
 

Similaire à Into The Box 2018 Going live with commandbox and docker (20)

The Fairy Tale of the One Command Build Script
The Fairy Tale of the One Command Build ScriptThe Fairy Tale of the One Command Build Script
The Fairy Tale of the One Command Build Script
 
Lights, Camera, Docker: Streaming Video at DramaFever
Lights, Camera, Docker: Streaming Video at DramaFeverLights, Camera, Docker: Streaming Video at DramaFever
Lights, Camera, Docker: Streaming Video at DramaFever
 
Deployment with Fabric
Deployment with FabricDeployment with Fabric
Deployment with Fabric
 
Deploying configurable frontend web application containers
Deploying configurable frontend web application containersDeploying configurable frontend web application containers
Deploying configurable frontend web application containers
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014
 
How to create your own hack environment
How to create your own hack environmentHow to create your own hack environment
How to create your own hack environment
 
Docker Security workshop slides
Docker Security workshop slidesDocker Security workshop slides
Docker Security workshop slides
 
Python Deployment with Fabric
Python Deployment with FabricPython Deployment with Fabric
Python Deployment with Fabric
 
Docker workshop DevOpsDays Amsterdam 2014
Docker workshop DevOpsDays Amsterdam 2014Docker workshop DevOpsDays Amsterdam 2014
Docker workshop DevOpsDays Amsterdam 2014
 
FP - Découverte de Play Framework Scala
FP - Découverte de Play Framework ScalaFP - Découverte de Play Framework Scala
FP - Découverte de Play Framework Scala
 
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
 
Get started with docker &amp; dev ops
Get started with docker &amp; dev opsGet started with docker &amp; dev ops
Get started with docker &amp; dev ops
 
Having Fun with Play
Having Fun with PlayHaving Fun with Play
Having Fun with Play
 
Running Docker in Development & Production (DevSum 2015)
Running Docker in Development & Production (DevSum 2015)Running Docker in Development & Production (DevSum 2015)
Running Docker in Development & Production (DevSum 2015)
 
Deployment Tactics
Deployment TacticsDeployment Tactics
Deployment Tactics
 
Gradle como alternativa a maven
Gradle como alternativa a mavenGradle como alternativa a maven
Gradle como alternativa a maven
 
Bangpypers april-meetup-2012
Bangpypers april-meetup-2012Bangpypers april-meetup-2012
Bangpypers april-meetup-2012
 
Docker, c'est bonheur !
Docker, c'est bonheur !Docker, c'est bonheur !
Docker, c'est bonheur !
 
Get started with docker &amp; dev ops
Get started with docker &amp; dev opsGet started with docker &amp; dev ops
Get started with docker &amp; dev ops
 
Docking with Docker
Docking with DockerDocking with Docker
Docking with Docker
 

Plus de Ortus Solutions, Corp

Plus de Ortus Solutions, Corp (20)

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Ortus Government.pdf
Ortus Government.pdfOrtus Government.pdf
Ortus Government.pdf
 
Luis Majano The Battlefield ORM
Luis Majano The Battlefield ORMLuis Majano The Battlefield ORM
Luis Majano The Battlefield ORM
 
Brad Wood - CommandBox CLI
Brad Wood - CommandBox CLI Brad Wood - CommandBox CLI
Brad Wood - CommandBox CLI
 
Secure your Secrets and Settings in ColdFusion
Secure your Secrets and Settings in ColdFusionSecure your Secrets and Settings in ColdFusion
Secure your Secrets and Settings in ColdFusion
 
Daniel Garcia ContentBox: CFSummit 2023
Daniel Garcia ContentBox: CFSummit 2023Daniel Garcia ContentBox: CFSummit 2023
Daniel Garcia ContentBox: CFSummit 2023
 
ITB_2023_Human-Friendly_Scheduled_Tasks_Giancarlo_Gomez.pdf
ITB_2023_Human-Friendly_Scheduled_Tasks_Giancarlo_Gomez.pdfITB_2023_Human-Friendly_Scheduled_Tasks_Giancarlo_Gomez.pdf
ITB_2023_Human-Friendly_Scheduled_Tasks_Giancarlo_Gomez.pdf
 
ITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdf
ITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdfITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdf
ITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdf
 
ITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdf
ITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdfITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdf
ITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdf
 
ITB_2023_Relationships_are_Hard_Data_modeling_with_NoSQL_Curt_Gratz.pdf
ITB_2023_Relationships_are_Hard_Data_modeling_with_NoSQL_Curt_Gratz.pdfITB_2023_Relationships_are_Hard_Data_modeling_with_NoSQL_Curt_Gratz.pdf
ITB_2023_Relationships_are_Hard_Data_modeling_with_NoSQL_Curt_Gratz.pdf
 
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdfITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
 
ITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdf
ITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdfITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdf
ITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdf
 
ITB_2023_CBWire_v3_Grant_Copley.pdf
ITB_2023_CBWire_v3_Grant_Copley.pdfITB_2023_CBWire_v3_Grant_Copley.pdf
ITB_2023_CBWire_v3_Grant_Copley.pdf
 
ITB_2023_Practical_AI_with_OpenAI_-_Grant_Copley_.pdf
ITB_2023_Practical_AI_with_OpenAI_-_Grant_Copley_.pdfITB_2023_Practical_AI_with_OpenAI_-_Grant_Copley_.pdf
ITB_2023_Practical_AI_with_OpenAI_-_Grant_Copley_.pdf
 
ITB_2023_When_Your_Applications_Work_As_a_Team_Nathaniel_Francis.pdf
ITB_2023_When_Your_Applications_Work_As_a_Team_Nathaniel_Francis.pdfITB_2023_When_Your_Applications_Work_As_a_Team_Nathaniel_Francis.pdf
ITB_2023_When_Your_Applications_Work_As_a_Team_Nathaniel_Francis.pdf
 
ITB_2023_Faster_Apps_That_Wont_Get_Crushed_Brian_Klaas.pdf
ITB_2023_Faster_Apps_That_Wont_Get_Crushed_Brian_Klaas.pdfITB_2023_Faster_Apps_That_Wont_Get_Crushed_Brian_Klaas.pdf
ITB_2023_Faster_Apps_That_Wont_Get_Crushed_Brian_Klaas.pdf
 
ITB_2023_Chatgpt_Box_Scott_Steinbeck.pdf
ITB_2023_Chatgpt_Box_Scott_Steinbeck.pdfITB_2023_Chatgpt_Box_Scott_Steinbeck.pdf
ITB_2023_Chatgpt_Box_Scott_Steinbeck.pdf
 
ITB_2023_CommandBox_Task_Runners_Brad_Wood.pdf
ITB_2023_CommandBox_Task_Runners_Brad_Wood.pdfITB_2023_CommandBox_Task_Runners_Brad_Wood.pdf
ITB_2023_CommandBox_Task_Runners_Brad_Wood.pdf
 
ITB_2023_Create_as_many_web_sites_or_web_apps_as_you_want_George_Murphy.pdf
ITB_2023_Create_as_many_web_sites_or_web_apps_as_you_want_George_Murphy.pdfITB_2023_Create_as_many_web_sites_or_web_apps_as_you_want_George_Murphy.pdf
ITB_2023_Create_as_many_web_sites_or_web_apps_as_you_want_George_Murphy.pdf
 
ITB2023 Developing for Performance - Denard Springle.pdf
ITB2023 Developing for Performance - Denard Springle.pdfITB2023 Developing for Performance - Denard Springle.pdf
ITB2023 Developing for Performance - Denard Springle.pdf
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Into The Box 2018 Going live with commandbox and docker