Upload
openshift-origin
View
609
Download
2
Embed Size (px)
DESCRIPTION
Social IRC bots in the Cloud with OpenShift - Mongo London presentation by Marek Jelen
Citation preview
1
Social IRCbots in the cloud
with Node.js and MongoDB
Marek JelenPaaS Evangelist, Red HatMongoLondon, 2013
2
i. basic understanding what cloud is and what it is not
ii. you are a developer and you know what Node.js
iii. basic knowledge of MongoDB
iv. questions are good!
v. questions are awesome!
vi. discussion is preferred to my monologue
My expectations
3
What is IRC?• Communication protocol• Open (RFC1459) & Simple• Text based
• Realtime-communication• Group chat & One-to-One chat• Users => #channels <= Bots• Clients, Bouncers, Bots
4
Basic IRC commands• /join #openshif• /msg mjelen This is awesome• /me is presenting in London• /topic Don't be afraid to ask questions.
5
Is it any good?• Basic communication channel of tech companies• Community building environment• Support channel for users• etc. etc. etc.
• OpenSource servers & clients (standalone, web)
6
What is OpenShift?
Red Hat's free, auto-scaling Platform as a Service (PaaS) for applications in the cloud.
7
8
Looks great, but what’s the catch?
• OpenShif is free-as-in-beer & free-as-in-freedom • Three times 0.5GB RAM/1GB storage • Need more resources, just ask!• We are in Developer Preview• Sign up at openshift.com• Promo code: MongoDBLondon
9
Three flavours
• OpenSource project => OpenShif Origin
• Enterprise ready product => OpenShif Enterprise
• Service by Red Hat => OpenShif Online
10
And now, let's buildAnd now, let's build
some botssome bots
11
My bots on OpenShift (1)• Create new deployment environment• rhc app create ircbot nodejs• clones a git repository locally• setups node.js environment• allows you ssh access• provides logs tailing• sets public DNS records
12
My bots on OpenShift (2)• Enter the directory• cd ircbot
• Install dependencies• npm install irc -s
• Write the code
13
My bots on OpenShift (3)• Record changes (when needed)• git add package.json server.js
• Commit the changes• git commit -m “My first commit”
• And deploy• git push [origin [master]]
14
My bots on OpenShift (4)• Add MongoDB to the mix• rhc cartridge add mongodb-2.2 -a ircbot
• Add RockMongo to inspect MongoDB• rhc cartridge add rockmongo-1.1 -a ircbot
• Install dependencies• npm install -S mongojs
• Write the code• Connect to MongoDB from application
15
My bots on OpenShift (5)• Record changes (when needed)• git add package.json server.js
• Commit the changes• git commit -m “My first commit”
• And deploy• git push (origin (master))
16
Conclusion• Three flavors of OpenShif • Origin, Enterprise, Online
• Sign up for Online for free• Promo code: MongoLondon
• IRC is fun• Open, Simple, Feature-full
• Node.js makes it simple to write apps• MongoDB helps with data persistence