I said in my last posting that I could do better with cutting down the build time. To get everything working I needed to add a lot of tasks to the BitBucket pipeline. Besides the execution time, BitBucket also needed to download the Docker Image every time, so the Docker Image size is also a factor in the overall build time. Let’s look at some things we can do to make a better Docker image to cut down the build time for the blog.
Atlassian just took their Bitbucket Pipelines out of Beta a bit ago, so I wanted to take look and get something up and running on it. From a quick look, it reminds me a lot of Codeship, which is a great service I have used to publish this blog along with using it at my previous job. For a nice test, I wanted to see if I could replace Codeship with Bitbucket Pipelines for my blog.
One of the things I find myself always looking into and being excited about is scaling out systems. Now this means different things to different people. The reason for me looking into RPC is how to deal with Microservices as part of a way to move Monolithic applications to into the Microservices architecture. RPC (or Remote procedure call) is an idea that has been in computer science for a bit now.
I’ve been researching Amazon Simple Workflow Services. This is a product which is like Simple Queuing Services but on steroids. It allows you to develop complex workflows that you’re able to scale out each part of the workflow as you need. There are a number of used cases on their site, one that managed to catch my eye is NASA. They are using Amazon Simple Workflow to process images captured by the Mars Exploration Rovers.
If you look around the news you will always hear about some big name that has been hacked and had their password database compromised. In recent news, this has happened to many people like these guys and them, but if you keep looking you’ll find tons more. The topic of security and how you are storing passwords always comes up, but this is not the point of this posting. I wanted to take this time to point out a Mozilla based project which helps in this area.
Keeping with learning more about Amazon Web Services, I wanted to build on the examples I did for SQS along with using Amazon Simple Email Service. The Simple Email Service is, as you could guess, for sending emails. It gives you sending features of a large Email Services Provider but with a low entry point. Just like lot of the other Amazon services, you pay for what you use without any contracts.
I’ve been really taking interest in the Amazon Web Services and trying to learn how to use them best I can. I really do find the Amazon Web Services a great set of tools that let you work with very scaleable services, but one thing you need to keep in mind is they are very “sticky”. What I mean by sticky is once you fully integrate your applications into using them you are most likely not going to be switching any time soon.
Nothing too big but I did some small updates to two of my projects; amscotti.com and Nodejs map example. Node.js Geolocation Map Example This is a project that I did awhile ago when learning node.js. Because things are new in the node.js world, the libraries update often and the ones I used (Mostly Socket.io) did change and needed some updates to get it working again with the newer versions. I also wanted to move the hosting from dotCloud to Heroku, the new address is at http://nodejsmapexample.
WebSockets are a hot topic now a days with the HTML5 push, even though they are not officially part of HTML5 spec. If WebSockets are new to you, they are a way of being able to keep a connection open from the client’s browser to the server. It will let you push data back and forth, think AJAX but without the need of pulling for new data over and over. WebSockets give you the ability to push, which gives you a very close to real time update on the client’s side.
If you have read some of my other postings you know by now that I enjoy using the data from World of Warcraft in my projects. In my mind it’s a good amount of data that I can easily understand having played World of Warcraft for many years now. If you look at the Blizzard Community Platform API Documentation you will see that there is an Auction Resource that will return a link to a JSON file you can download that will show you all the auctions for a given server.