Skip to main content

Hi, 

 

I'm just starting to look at a K2 black pearl deployment and just wondered what the best practices are around environments i.e. dev, integration, production etc.?

 

Thanks,

 

Hello Capone

I hope i got your question right. We are using K2 since before Package and Deployment tool came up and had 2 environments (QA/DEV and PROD). Back then we connected with K2 Studio to QA and had 2 environments in the environment library there. On process deployment we selected QA or Prod for production in the K2 Studio deployment wizard (never connect K2 Studio directly to PROD). This scenario and setup is clearly outdated and is not to recommend with P&D.

 

Now we are using 3 Tier environment (DEV, QA and PROD) and Package and Deployment tool. Each K2 server is supposed to have a single environment library only. The package should only be created in DEV and deployed to QA. After UAT the package from DEV is deployed to PROD.

 

In short our way, which is currently working good for us:

- 3 Tier

- Single environment library on each system

- Only package in DEV

- Only one direction of deployment (DEV->QA->PROD)

- K2 Studio is only connected to DEV system (never to QA or PROD)

 

Let me know if this helps.

 

Best Regards,

Martin


Thanks Martin, that is information is really useful.

 

The dev environment you have is that normally located on the developers laptops/desktops are is that a dedicated server or is it a mixture of both? 


Hello Capone,

our environments are 3 dedicated servers and DEV is also used by all developers. We are using a lot of shared components (forms, views, SMOs) and if would be hard to ensure all developerst have the same versions on their laptops. If you are planing to create custom coded services you should have an additional sandbox system. That kind of development has impact on other people when working parallel on the systems.
Best regards,
Martin
 

Thanks Martin, do you have seperate physical DB instances for each environment or do some of your environments share an instance?

 

 


We have one DB instance for Dev and QA but a separate environment for production. In our Dev we run K2, SharePoint, Project Server, Adlib and some other DBs in the same instance (times 2 for Dev and QA). In the Prodution SQL we also house the production versions of these databases.  Some DBAs will reccomend separate instances and there are valid arguments for both but a spearate DB instances consumes the same amount of resources (double or more). Each instance would need at the very least 8GB memory each. It used to be a problem sharing database instances with SharePoint because it uses differt collaltion than others but now this is per DB not per instance so things can cohabitate effectively. Just monitor performance which I think is easier when you are cosuming less resourses with one instance.

 

Hope this helps


Reply