Click here to load reader
Upload
countly
View
195
Download
0
Embed Size (px)
Citation preview
Countly
1
Countly Enterprise Edition - Deployment Scenarios
Getting Started
web: count.ly twitter: @gocountly 2
This guide will take you through;1. Deployment planning
2. Installation
3. SDK integration
4. Plugins
5. Support requests
Deployment Planning
web: count.ly twitter: @gocountly 3
Countly Enterprise Server consists of two main nodes;1. Countly application server
2. MongoDB database server
In the next few slides we’ll go over deployment options, talking about replication
and high availability scenarios including server specs.
Deployment Planning: Option 1
web: count.ly twitter: @gocountly 4
Most basic form of a Countly deployment is a single node acting as both Countly application server and MongoDB database server.
Single Node (server)
MongoDB
Countly API
Countly Dashboard
Nginx
Dashboard UserCountly SDK
Node 2Node 1
Deployment Planning: Option 2
web: count.ly twitter: @gocountly 5
Most common and recommended way of a production Countly deployment is like below. Two Countly application servers behind a load balancer and a MongoDB replica set with one primary and one secondary.
Dashboard UserCountly SDK
Countly API
Countly Dashboard
Nginx
Countly API
Countly Dashboard
Nginx
MongoDB Replica Set
Primary Secondary Arbiter
Load Balancer
Deployment Planning: Server Specs for Option 1
web: count.ly twitter: @gocountly 6
• 4GB RAM for each core in your node.
• 30GB boot disk.
• 100GB+ (depending on your data volume) SSD disk for MongoDB.
Deployment Planning: Server Specs for Option 2
web: count.ly twitter: @gocountly 7
• 2GB RAM for each core in Countly application server(s).
• 4GB RAM for MongoDB primary and secondary for each core in Countly application server(s). If you
have a 4 core Countly deployment, your database servers need 16GB RAM at minimum.
• MongoDB servers need minimal CPU resources.
• MongoDB arbiter needs minimal resources. You can have a 1 core, 2GB RAM server as your arbiter.
Arbiter doesn’t store any data and is only there for replica set member voting procedure.
• All 5 servers; 2 Countly, MongoDB primary, secondary and arbiter each needs 30GB boot disks.
• Data bearing servers, MongoDB primary and secondary, each needs 100GB+ (depending on your
data volume) SSD disks.
Deployment Planning: Ports
web: count.ly twitter: @gocountly 8
• Countly nodes need 80 (http), 443 (https), 53 (DNS) and 25 (mail) ports to be open.
• MongoDB requires 27017 port to be open (for replica set).
For all MongoDB ports see this link.
Installation
web: count.ly twitter: @gocountly 9
1. Upload Countly installation package to Countly node(s)
2. Extract it
3. Follow steps in this document for operating system specific guidance
If you are deploying Option 2, you need to;1. Install a MongoDB replica set as described here
2. Configure both Countly nodes to use the new replica set as described here
SDK Integration
web: count.ly twitter: @gocountly 10
• This link contains a list of Countly SDKs with integration guides
• In order to develop your own SDK you can check out this guide
SDK Integration: Custom Events
web: count.ly twitter: @gocountly 11
Countly collects session related metrics out of the box. For custom metric tracking
Countly offers a mechanism called custom events. Custom events should be
planned out carefully before starting SDK integration.
For further information;
1. Custom events
2. SDK methods for custom events
Plugins
web: count.ly twitter: @gocountly 12
Countly offers a plugin architecture where you can develop your own plugin in
order to do custom data processing and reporting without touching Countly core
codebase.
Plugins: Architecture
web: count.ly twitter: @gocountly 13
Countly CoreMy Plugin
MongoDB
Countly Dashboard
Plugin Handler
(Backend)Plugin Model Plugin View
Countly Core
My Plugin
MongoDB
Countly Dashboard
Plugin Handler
(Backend)
Plugin Model Plugin View
Plugins: Development Guidelines
web: count.ly twitter: @gocountly 14
● Introduction● Plugin structure● Plugin API side● Frontend server side files● Frontend browser files● Frontend client side files● Extending or modifying modules● Shared configurations● Logging
Support
web: count.ly twitter: @gocountly 15
• You can email [email protected] for any request
• Alternatively, you can submit a request to Countly Support Forum
• http://resources.count.ly contains detailed documentation about every aspect of Countly
Countlyhttps://count.ly
16