Full Stack Deployment using Urbancode – Part1
It’s been a while since I blogged , but a recent customer usecase for Full stack deployment , got me to have a look into IBM Urbancode Blueprint . This blog is guide to help you to design and deploy full-stack environment for multiple clouds.
Teams often struggle to deploy applications in various environments – it is a lot of work trying to get an environment setup before we can start to deploy our application. With cloud coming into play and with IBM UCD+Blueprint the one click deployment story comes to life. Blueprint basically helps provisioning cloud environments and deploying application components to those environments, to know high level features read here
In this scenario – we would model the application deployment process using UCD and environment provisioning in Blueprint.When you connect Blueprint Designer with UCD, you can provision application environments and install components on those environments.
The general process includes the following steps:
1. You connect Blueprint to required cloud system.
2. You integrate Blueprints Designer with UCD.
3. In UCD you create component processes to deploy components.
4. You create pattern/heat template in Blueprint Designer that include the infrastructre components as well as UCD components and the component processes.
5. Finally you provision the blueprint.
Blueprint supports two methods of provisioning resources on cloud
- Virtual system patterns (Used with IBM Smart Cloud Orchestrator , PureApp , IBM Workload deployer)
- OpenStack Heat ( AWS , Softlayer , Azure , Google Cloud )
My first goal was to try with AWS , so openstack Heat it what I explored.
One can either extend existing Openstack installation or Blueprint comes with a set of packaged Openstack services. Since I did not have Openstack , I chose to install one which came with Blueprint Engine.
- Orchestration (HEAT) – Used to communicate to Clouds like AWS / Azure / SoftLayer
- Identity (Keystone)- This is needed by Orchestration Service to to authenticate with cloud.
The Identity service objects are only used for the cloud connections, whereas the identity, and authentication of Blue Print Designer users, is typically managed through an enterprise directory.
Installation Topology ( Version : 6.2.4) :
I installed Urbancode deploy and License Server on Windows Box and installed Engine and Blueprint Server on RHEL7 ( Engine very specifically needs this version of OS) . The installation in Documentation Center were fairly detailed – I reused the Maria DB which was installed during Engine installation for Blueprint Server as well.Btw after couple of trials , I figured out version of MariaDB jar needed was mariadb-java-client-1.6.2.Make sure you have required rules setup to open the ports . I had this setup done on AWS and defined Security rules to open 8443, 8080, 8004 , 7918, 3306, 5000, 27000, 22 ,8000 etc
Now that setup is ready , integrating the tools follow Connecting UCD to Blueprint
In URL supplied https://<Blueprint designer URL>:8443/landscaper and selected “Always authenticate for each UCD user” and provided UCPD default user which is “ucdpadmin”
In Blueprint , provide the UCD server URL https://<Server hostname>:8443 , port as 7918 ,Token Based authentication and the Token created in UCD (In UCD and then clicking Create Token)
Now I was wondering how are agents installed automatically , and somehow during the installation process I had missed agent part (Look at 3.From a Linux or Windows computer, install the agent components on the server). Cloud agents provided here are added as components to UCD. So these are now deployable components and their deployable components and their deployment is automated at provisioning time. The cloud agent package also adds an example component and application to UCD.deployment is automated at provisioning time
So now we have UCD and Blueprint connected and we have UCD agent components on UCD server . In my next blog I shall talk about connecting to cloud.. stay tuned !