JuJu explore
Develop once, Running everyone in the Cloud.
SOA:This is a great implementation for the Service Orientation Architecture.As a developer, from my point of view, it could reduce me a lot of efforts and time for the deployment by using Charms which could be developed by some experts.
EX: mongo db cluster/ mysql clusters, etc.
Scalability:The concept of the Charms and Bundle is really helpful to the reusability in the teams.Since it lays above layer of Configuration Management, the service make the application scalability quite easy.
Corporation Intranet:Not only for internet, it also supports the intranet for people to manage the private clouds.It can deploy the services behind the firewall, it can fixed my problem in the former company.
Major issues:
Network limitation in China.
Google services are blocked.Impact on Juju client installation, juju bootstrap, juju-gui
1. Juju installation
Mac:
Go installation failed (storage.googleapis.com/)When install JuJu with Brew on Mac, without Go, if you failed. (Fixed it by manually install the Go)
Ubuntu :
Local: VMDownload speed is slow by using official source,changed the source mirror in China, it works.
AWS Instance: good
2. Juju bootstap
local box without VPN:using the EC2, either Mac/Ubuntu failed (Never success)
local box with VPN.sometime it works, sometimes it doesn’t work.2015-01-29 05:12:54 ERROR juju.provider.common bootstrap.go:119 bootstrap failed: refreshing addresses: Get https://ec2.ap-southeast-1.amazonaws.com?AWSAccessKeyId=AKIAIPQ3YNBHS4OP5GLQ&Action=DescribeInstances&Filter.1.Name=instance-id&Filter.1.Value.1=i-d8b31014&Filter.2.Name=instance-state-name&Filter.2.Value.1=pending&Filter.2.Value.2=running&Filter.3.Name=instance.group-id&Filter.3.Value.1=sg-19e1b54c&Signature=AU99JTlNmWi6wL%2BdPyCo4Hz2rfJ3UYrEqj5%2BmcHed4M%3D&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2015-01-29T05%3A12%3A44Z&Version=2011-12-15: net/http: TLS handshake timeoutStopping instance...TLS handshake timeout
1.ssh to AWS instance to create the bootstrap environment GOOD. (AWS boostrap 5-6 mins)
3. Juju-GUIBecause of google-font css is loaded in the application, the juju-gui page loading speed is quite slow especially the first time.(page loading: google-font css was blocked, slow down the page loading speed.)
-----Charm implantation: by implement the Hooks in the Charm (Start/Stop/Config-chagne, relation-change, etc)
Django deployment:Best practice: don’t duplicate the Charm,it’s complex to deploy a django application with Python-Django Charm,Tutorial, finally it expose the HTTP website service from Gunicore directly, but in the production, we still need to config the nginx.It will take time to split the existing django project into a subordinate charm.I am still try to make it work.
ISSUES:
1. Remove-service without deactivate the relation will cause the problems
service status dying.
2. How to monitor the service processes? (process management solution: supervisord)
2. when mysql service is down, it's pretty easy to resolve from the juju-gui