Friday, February 28, 2020

AWS Monitor Portal and Agent and other accomplishments.

As my grandfather used to say: no one will honor you if you don’t honor yourself.

So.. a few words about my recent accomplishments in the world of software development.

Many people know about Elastic Cloud Gate for AWS, some may use it, but seeing it is an unforgettable experience. A ‘nice’ ASP interface from the 90’s, small fonts, lots of clicking. Their software does have a lot of functionality, most of which however duplicates AWS Console. Their killer feature however is facilitating scheduled AMI backups and other standard AWS tasks such as reboots. The outdated used interface of the eCG remains their huge issue - if you ever used the eCG you would prefer to set it to the auto mode and never see again (here and here).

Meet the guy who single-handedly designed and developed a product to fully replace the eCloudGate for the company he works for, and for many customers of ours. This has not only saved our company $2,500+/mo, but also lots of support time and countless frustration moments. Not mentioning that we can now pocket some profits by offering the service to our customers.

I won’t go into many details here what my software can do especially if you are already familiar with the eCloudGate website. What is notable is that my product besides doing scheduled EC2 AMI and DR backups also helps people manage AWS WorkSpaces. Last time I checked the eCG did not do anything for WorkSpaces besides reboots.

AWS WorkSpaces are virtual Windows Desktop machines offered by Amazon AWS for individual and business needs. Users can run any software they want on them much as on their own Desktops, but without fear of ever losing data due to virus or encryption attacks. Superior recovery is not the only strong side of the WorkSpaces, their speedy performance and easy maintainability make them grow in demand in the corporate world.

In short, the company I work for helps customers migrate their networks to AWS VPCs and Desktops to WorkSpaces. Besides that, our company itself owns hundreds if not thousands of EC2 instances under many departmental AWS accounts. Thanks to me and my software we now have a centralized portal to support and manage thousands of machines… and even make some money on that.

A few ‘killer’ features of my AWS Monitor Tool:

- simple and responsive user interface (here and here),
- separate administrative, customer-level , and user-level accounts,
- remote control and scripting of WorkSpaces and EC2 instances (here),
- WorkSpace and EC2 instance support and management:  real-time ‘heartbeat’ and inventory, scheduled backups and other tasks,
- and a popular feature: users can reboot their own WorkSpaces via a Text Message (SMS) (here).

Some stats as of today: my AWS monitor database is gaining 2-3 million records daily into its SQL databases.

Drop me a note if you want to find out more..

outdated eCG interface
outdated eCG interface

Saturday, January 18, 2020

Happy New 2020 Year dear Visual Studio 2010!

Seven years seems to be a long break between posts, but I must admit during that time there were no dramatic changes in my job description, while of course there was some progress.

We all evolve in our work as in no way we wouldn't if we wanted to keep our jobs. We learn new skills and tools as the industry moves forward. But some things like an old boombox from the 80's just keep working. So why not to use it?

Today I'm here to say Hi to a venerable tool that many of us still use even though it's not as popular anymore. To my opinion it's one of the best ever created by Microsoft and it remains one to this day.

Ladies and Gentlemen - I welcome the Visual Studio 2010 to the podium!

It's quick to open.

Have you used the VS 2017 or 2019 lately? Did you notice that it takes anywhere from 30 seconds to 2 minutes just to open the environment on a fast Intel i5 computer with SSD and 8GB RAM? Guess what, the SQL 2019 Management Studio takes even longer on a super-fast Xeon server with even more memory! The dev tools that Microsoft gave birth in the recent years are bloated pieces of junk umm.. software.
Visual Studio 2010 opens in under 10 seconds.

It's simple.

Do you have to juggle between 4 or even 5 different languages in your VS 2017 just to add a few things to a web page? HTML, C#, JavaScript, TypeScript, and Angular? Don't you want a hint of Linq on top of that? Do you also have to do SQL in the same project? What? Are you not happy with that?
It kinda feels like doing a translation job for the United Nations - you have to bounce between English and Spanish, then Afrikaans' flavour of Dutch, then quickly jump to Chinese, then back to English. Gosh.. that's heavy.
Guess what, if you apply for a job and honestly state in your resume that you are fluent in German, they won't even interview you as they want the Southern Austro-Bavarian dialect of German for some reason. WTF?

It compiles code into very compact footprint.

Let me give you just a couple of examples.

1.5 years ago I completely redesigned one of my software projects, which happens to be also #1 in Google for its keyword. It has millions of users and 50-60GB of daily uploads.
That project has it all: C# with .NET 4.x, AngularJS, HTML, Android API, clean and fast SQL queries - all the cool stuff.

Guess what.. the DLL that does all of that is only 100Kb. It could fit on a 360Kb floppy!

Btw, what you see on the picture is the entire contents of the BIN directory. The project runs and stores files in S3 buckets, hence the 3 extra AWS DLLs to support that. That's all.

The other project I've done in the last couple of years and which I maintain on a daily basis incorporates quite a bit more functionality.
Well.. it has to, otherwise it wouldn't have over 120 thousand lines of code!

It does a lot of modern stuff including API access via JSON/REST protocols and it does a lot and I mean a lot of database talk. The average daily traffic is reflected in over 2 million daily SQL INSERT calls via just one server with occasional spikes in traffic. I didn't count how many SELECT queries it does, but I'm sure a lot.

That project is designed to do AWS infrastructure management that AWS console happens to do well, but there are some functions that the console does not do too well, specifically the WorkSpaces management and more. If you ever used AWS Console you know what I mean. But.. anyway.

The DLL that runs the whole thing - API and all - is 444Kb. Nice!

The only 3rd party DLLs in the BIN directory are AWS runtimes. No freakin 'scaffolding' or auto-generated junkware code.
For a comparison, a simple web-based "hello world" in VS 2017 eats up 15 to 60 Megabytes (!) of space for its BIN folder.

Do you have any questions or opinions? Do you want to discuss that? Post a comment.