Cloud computing on AWS

October 18th, 2017 — 4:41pm

I’ve recently delved into the AWS (Amazon Web Services) world, and it’s awesome!  Goodbye hardware issues and renting physical servers.  AWS (and other cloud platforms) offers a full spectrum of virtual server space and services which are easily scalable, fault tolerant, and easy to replicate and deploy in minutes.

It’s difficult to sum up the full spectrum of what’s offered, but here are some examples of what I’ve done so far:

  • Set up website hosting using the AWS “lightsail” product
  • Set up EC2 servers to host larger projects and development
  • Used Route 53 for DNS load balancing (using Elastic load balancer)
  • Used RDS for scalable remote database services.

This just scratches the surface of what could be done with AWS.  The costs so far are very reasonable, and based more on actual usage than the normal flat fee hosting services out there.  It seems to me that some technical expertise (sys admin / sys architect) is still needed – these are not turnkey setups with cpanel and fancy dashboards that hosting companies provide.  But if you have some skills, or can hire someone who does, you can save money, and get your website / application into the “cloud” for better and more reliable performance.

Comments Off on Cloud computing on AWS | Cloud Computing

The rise of pay-for-usage services

July 14th, 2017 — 2:38pm

Amazon.com has been an ecommerce giant since the late 90’s.  It now sells almost everything you can imagine, and most people would think that’s also where it makes it’s money.

Wrong – mostly.  Outside of techies, most people don’t know that Amazon owns one of the biggest “cloud computing platforms,” known as AWS (Amazon Web Services).  This is a platform where companies essentially “rent” computing power, storage, and many other digital services.  In 2016, AWS contributed $3.1 billion in operating income to Amazon.  Retail contributed about $1.1 billion.  Surprised?

So, what is AWS?  It’s a massive set of cloud services, allowing companies to build and host web-services, databases, rent computing power, storage, and much more.  Companies that used to rent physical servers, or co-location space in data centers are moving their infrastructure to cloud based services.  An analogy might be moving from digging and maintaining your own well for freshwater, to a municipal water service that provides fresh water at a low cost.

What’s interesting to me is that these services are charging based on usage, rather than a “flat fee” per month.  On the surface, this might sound expensive, but in my experience, it’s actually cheaper.  Companies only pay for what they use, be it computing power, database transactions, etc.  Amazon has also opened up API’s to it’s natural language processing (build your own Alexa!), and much more.

From a technical perspective, this shift means that people in IT should start learning more about cloud architecture and terminology.  That’s what I’ve been doing, and starting to advise for my clients.

Comments Off on The rise of pay-for-usage services | E-commerce

Simply Weather Progressive Web App

April 18th, 2017 — 3:51pm

I put together a relatively simple “Progressive Web App” called SimplyWeather.  It uses a weather feed to create a simple forecast for your current location.  A Progressive Web App is supposed to act like a natively installed app, but written using web technologies.  If you load the above link on your phone, it should ask you to install to your home screen, at which point you can run it from there (it’ll look like a local app).

Overall, building a PWA is a bit of a PITA, with some very finicky and temperamental requirements.  I found the “service worker” and “manifest” particularly feisty.  Also, I’m not sure how to send updates consistently – the app seems to cache most everything, and not refresh styles or html even when you try to force that.

So, I think PWA’s still have a way to go, in terms of online documentation and examples.  Then it still remains to be seen if people prefer to just stay inside the app stores as they have been.

Comments Off on Simply Weather Progressive Web App | mobile, Programming

First reactions to Python

January 3rd, 2017 — 5:28pm

After hearing about the python programming language for years, but never using it, I finally hunkered down to do a little testing.  Python is billed as an object oriented language and better than Java (apparently because a “Hello World” program is shorter to write in python – seriously, google it).

I’ve used many languages over the years, but mostly stick with php, perl, and javascript.  So I assumed python would be similar in syntax, and not too hard to pick up.  I went through a few courses over at lynda.com, and was on my way.

 

Waaaay back in 1990, I took a course programming in COBOL.  I recall using graph paper to write programs, because the actual column / indentation of each line mattered to the execution of the code.  Boy, was that tedious!  I was so glad to be done with that language, knowing I’d NEVER have to worry about counting whitespace again.  Imagine my surprise when I found that that in python, rather than using pesky {} braces to clearly indicate the start / end of loops, conditionals, etc., you actually have to make sure each line is indented exactly right!  What?  Oh yes.  Soon you too can get this error, which I have to believe is unique to python:

IndentationError: expected an indented block

Talk about maddening…

Ok, so let’s move on.  My first effort was to build a small web page to pull in data from an open API on the web.  Here are the results:

http://robertswebforge.com/examples/python-fda/index.cgi

Pretty ugly, right?  Having come from using php, I got used to being able to embed html code easily inside a single script.  Surely python, the age of the web, could do something similar…but…ughh..I had to write the dreaded:

print “Content-Type: text/html;charset=utf-8”

which I thought I had abandoned when I stopped using Perl to build web applications.

Now, I realize that there are many modules, frameworks, and libraries that can be used to address some of these shortcomings, and I’m sure it’s a very powerful language, in the hands of an experienced python developer.  I will probably continue to experiment with it, but my initial reaction is…bleh.

 

 

Comments Off on First reactions to Python | Programming

Multi-threaded Perl

December 21st, 2016 — 12:56pm

I recently had a chance to work on some multi-threaded perl via forking and child processes.  The idea is to spawn multple processes to handle doing multiple tasks simultaneously.  This is useful in many cases.  In my particular application, I had a script that was checking a list of servers for connectivity (essentially a ‘ping’), and alarm if unreachable.

A few sites that were helpful to me:

perldoc.perl.org/functions/fork.html

www.perlmonks.org/index.pl?node_id=43497

The coding can look a little weird, but when you call “fork”, you end up with a complete duplicate of the process – code, variables, etc.  The new process (child) starts executing from the fork call, and usually you immediately test to see whether you are the parent or the child, and go from there.  The child should exit after doing it’s job.  The parent needs to check periodically (or wait) for its child processes to “die” (yes, that’s the terminology), or you will create zombie processes (yes, that’s what they are called) on the server – not a good idea.  For this, you’ll want to implement “waitpid()”, shown in the example site referenced above.  Once all the children are spawned, the parent process needs to loop, collecting the dead child processes to clean things up properly.

Forking is a useful technique to learn, and isn’t hard once you understand the concepts involved.

Comments Off on Multi-threaded Perl | Programming

Back to top