Physical Security and the Cloud! - Estimated Cost of Developing with the AWS Platform.
Overview
When I woke this morning, I had no intention of writing an article. Like every morning, I pour a cup of coffee, I take my coffee straight black, no creamer, no sugar just straight out of the coffee maker, oddly enough I never drank coffee when I was in the Marines, no I started drinking coffee when I moved to Silicon Valley. Why am I telling you this, I don't know!
I am an early riser, have been ever since my military days, I am up at 4 am every morning and out the door before 5 am when I have to go into the office, which is almost every day now.
After I get my coffee, I turn on my computer and navigate to a learning resource. For the past several months I've been taking Solutions Architect Associate courses on AWS Skill Builder Home - Skill Builder.
I still do not yet feel comfortable enough to take the exam, why, mostly because I am horrible at taking tests and I am not really looking to become a Solution Architect. I want to know the fundamentals of AWS because I have several software projects in mind that I think would be perfect to develop on AWS plus a lot of the projects I support or will support now are cloud-based projects. I need to know about a lot of different technologies now a days!
Thankfully I find the cloud exciting and fun!
For some reason this morning I started thinking about Cloud Careers in the Physical Security field. Turns out there are several cloud paths. Everyone usually thinks of a Patrol Officer or the Officer sitting behind a lobby desk but there are many different career paths within Physical Security.
First and foremost, everyone in Physical Security is an Officer regardless of your duties. There are several paths besides Officer, there are Executive Management positions, Shift Supervisor, Site Manager, (SOC) Security Operations Center Manager, (SOC) Security Operations Operators and more.
Some paths that you may not immediately think of that will involve Cloud technologies in one way or another are Cyber Security Analyst, Investigator, Data Analytics, Database Administration, Developer, AI Engineer, Financial Planning, Project Management, Security Systems Architect, Access Control Systems Administrator and even more.
Over the past several years I have seen an increase in interest in moving more and more systems to a cloud provider e.g., Visitor Management, Badge & Access Management, Access Control Systems, Security Camera Systems, Communications Systems, Travel Services, Investigation tools, Data Loss prevention, Threat Intelligence, and more.
I firmly believe I would be doing myself and my employer a disservice if I do not try and learn something about cloud and now AI. At least at the very minimum learn some of the terms and what they mean.
Anyways back to the project I am thinking of to get some hands-on experience. Parking Request Management, yes, I originally built the (POC) Proof of Concept using the Power Platform, now I think it would be great to try my hand at architecting this project on AWS with DynamoDB, Lambda, IAM, S3, Route 53, and Cognito to start. As you can see by the following diagram, I am still a novice or I believe the cloud industry term is Fresher, when it comes to architecting for the cloud.
After going through this exercise, other ideas are now coming to mind.
This is going to be fun!
I think this is going to be an evergreen document.
Is Amazon DynamoDB the right database for this project?
I would not consider Parking Requests a high traffic application, on average at my company we get 1 - 10 requests a month from co-workers requesting to park their vehicle on company property while they go on business related travel, very low traffic.
Amazon DynamoDB
Amazon DocumentDB
Amazon Aurora
Amazon RDS
The current system relies on relationships e.g., Traveler, Requests, Attestations, Vehicle information, contact information, Travel information and Notifications. This is not to say you could not capture the same information in a NoSQL JSON schema but the fact that there is very low traffic, the data model is predictable, and region, campus specific, I am currently leaning towards a relational database versus a NoSQL database at this point for this project but let's compare the different database offerings before making a final decision.
GAP Analysis
Let's do a cost comparison with the AWS pricing calculator - https://calculator.aws/
Amazon DynamoDB
Recommended by LinkedIn
Amazon DocumentDB (with MongoDB compatibility)
Amazon Aurora PostgreSQL-Compatible DB
Amazon RDS for PostgreSQL
Yearly cost:
From a cost perspective Amazon DynamoDb is the fore runner at this point and DynamoDb was built for Internet scale with single-digit millisecond performance according to its description.
There are other factors to consider such as the cost of backup storage, read replicas, Multi AZ and the cost of other services that you may need to add on.
This makes my head spin, this is where experience would be a great advantage in making this decision but the only way to get experience is to dive into the AWS services, you need hands on experience.
It would also be advisable to run this by someone with more experience before making any commitments.
I have decided on Amazon DynamoDB after all, now let's add the other services for an overall estimate.
Route 53 - there are several factors to consider with routing, but I am going to choose the very minimum.
S3 Standard storage
Amazon Simple Notification Service (SNS)
AWS Lambda
Amazon Cloudwatch
Rough Estimate of all Services
Ok I have a basic overview of the app, an outline of services needed, and the basic starting point of an estimate. Next step for me would be to gather all of the documents required to get this project approved.
The documents I will need include the following:
In addition to the above there will be multiple collaboration meetings with various Business Units (BU's). In the enterprise you should never, well more than likely you will not have a choice of developing alone, it is a team effort even for simple projects.
No matter how big or small your project is, it is not a one and done type of thing in a corporation. I will need to think about long term support, enhancement processes and exit strategies. Attestations are going to be a recurring thing, security, privacy and compliance audits will be a yearly or bi-annual occurrence.
Please take a look at my next article -