Douglas Woolley
						
						My Cloud Journey and My Journey Towards AWS 
						Certification
					The executive director for Verizon, Cheryl List, wrote 
						the following to me in 2016: 
					
						- "Your spirit, 
						determination, and passion for coding has placed you in 
						a position to move into new things."
 
						Since late 2016, I am now working in Cloud 
						Computing, utilizing public cloud technologies of Amazon 
						Web Services (AWS). For the first 3 months of 2017, I 
						immersed myself into AWS, taking training classes, 
						experimenting on my free pesonal AWS account, and using 
						my Verizon-established AWS account . Further, I was certified as both an 
						AWS Developer (Associate Level) and an AWS Solutions 
						Architect (Associate Level) in early 2017. 
					
						As a result, I received some nice compliments:
					
						- "You are setting a great example as a technology 
						transformation leader for our team" - Cheryl List, 
						Executive Director, Verizon
 
 
- "Agreed, Nice work Doug! Appreciate your commitment to 
						your personal development and embracing new technologies 
						to help support the business." - Kevin Shine, Senior 
						Vice President, Verizon
In July 2017, I passed the third (and final) AWS 
					associate level certification exam: AWS SysOps Administrator. It was the hardest of the 3 exams, and thus the many 
					extra hours of training and studying paid off. 
					
					
					
					AWS Certification is one of the top paying IT 
					certifications, as documented by Forbes: $125K.
	
					Some training sites that were helpful to me in achieving 
					AWS Certification are as follows:
					
					To establish a free account for the first year with AWS 
					(as I did), visit
					
					https://aws.amazon.com/free/
					When you are ready to login, you can go to the Amazon Web 
					Services (AWS) home page (https://aws.amazon.com) 
					and click the button at the top right to "Sign In to the 
					Console". Eventually you can use your customized login URL.
	
						
          
          			Hosting a Static Website in AWS S3
					As a learning project (and a practical project), this 
					entire site for 
					DouglasWoolley.com is stored "in the cloud" in Amazon S3 
					within the DouglasWoolley.com bucket, which was 
					"transformed" into a static web site and made public. The S3 
					static website endpoint is 
					
					
					http://douglaswoolley.com.s3-website-us-east-1.amazonaws.com. The user-friendly 
					domain name (DouglasWoolley.com) was registered using Amazon Route 53, costing 
					only $12 per year for the DNS registration fee. Next, a 
					"hosted zone" was created and configured in Route 53 to map 
					the domain (DouglasWoolley.com) 
					and the subdomain (www.DouglasWoolley.com) 
					to the non-friendly S3 website bucket endpoint (http://douglaswoolley.com.s3-website-us-east-1.amazonaws.com)
					using alias (A) records. Thus, individuals who 
					surf on the Internet to one of these two user-friendly 
					domain names will see website content stored in the S3 
					bucket for DouglasWoolley.com.
					Although the web site is created and matained using 
					Microsoft's Expression Web 4 software application, I utilize 
					AWS S3 Console to upload some files to S3. Further, as an 
					added convenience, when using AWS S3 Console in Chrome 
					or Firefox browsers only, files and folders 
					can be dragged from Windows Explorer and simply dropped into 
					the S3 bucket in a designated folder/area. Alternatively, 
					especially for mass changes, I 
					use the 
					AWS CLI
					(Command Line Interface) to synchronize the 
					local site with the S3 site: 
					
					aws s3 sync $LOCAL_FOLDER s3://$S3_BUCKET_NAME/ --delete
					Or navigate into local folder and issue command
					(where $S3_BUCKET_NAME is something like 
					douglaswoolley.com):
					aws s3 sync . s3://$S3_BUCKET_NAME/ --delete
					With all the recent warnings from Browser companies of 
					the need for websites to use secure HTTP (i.e. 
					HTTPS), which encrypts data in transit over the internet and 
					ensures that the website is authentic and safe, I decided to 
					implement this via AWS, which seems less expensive and 
					easier than the alternative of doing it externally.To enable 
					HTTPS on a website, an SSL/TLS certificate is needed. Thus, 
					I created a certificate via Amazon Certificate Manager (ACM) 
					for DouglasWoolley.com. 
					Further, in front of the S3 web site, I established Amazon CloudFront as a managed content 
					delivery network (CDN) to improve performance and, more importantly for me, to 
					enable SSL/TLS (HTTPS) using the managed certificate created through 
					ACM. After establishing the certificate and utilizing it in 
					CloudFront, which points to the S3 website, I had to update 
					Route 53 (in the "A" record) to point to CloudFront endpoint 
					instead of the S3 website endpoint.
					In August 2021, I desired to establish a user-friendly 
					url connected to a secure subdomain static website where I 
					could deploy a ReactJS application to solve puzzles like the 
					Rubik's Cube and Sudoku, which would not interfere with the 
					main DouglasWoolley.com site. To do this, I:
					
						- Created an initial S3 subdomain site of 
						puzzles.douglaswoolley.com, and made it into a static 
						website.
- Created new ACM Certificate for both main domain and 
						subdomain(s) *.douglaswoolley.com.
							- Revised CNAME in Route 53 to use this new ACM 
							Certificate
 
- Created separate CloudFront distribution for the 
						subdomain static website content.
							- Populated "Alternate domain name (CNAME) 
							- optional" 
							with puzzles.douglaswoolley.com
- This was an incredibly 
							important entry that was initially left out, which 
							caused no content to be displayed when visiting the 
							subdomain site (http url gave 403 error, and https 
							url gave error message "the connection for this site 
							is not secure."
 
- Added CNAME in Route 53 for 
						puzzles.douglaswoolley.com to redirect to the new 
						CloudFront url
I look forward to the next fun project in learning and 
					implementing ReactJS to solve mathematical puzzles. I've 
					written programs in other languages and technologies to 
					solve these puzzles but now want to do so with ReactJS.
					Here is some good documentation 
					on hosting a static web site in S3:
					
	
						
          
          			AWS Tampa Bay User Group Meetup at Verizon Tampa Tech 
					Center - July 27, 2017
					
					
					I am behind the podium, next to my co-worker, Darryl, 
					appearing to the right in the picture. My boss's boss, 
					Chitra, was one of the main speakers: third to the left of 
					me.