Category Archives: Cloud

2. AWS POC : WordPress[WP] infrastructure creation using a free tier account

With reference to my previous blog on:
1. AWS:How to create and activate a new account in AWS ?
https://vskumar.blog/2018/09/01/1-awshow-to-create-and-activate-a-new-account-in-aws/

I have made a scenario based “AWS services usage” blog in this content. Which can be considered as a Proof of Concept [POC] Project also.

If you are new for cloud technology, I have made a video cum blog for you to understand its initiation/evaluation concepts. This video is more useful for PMs/Cloud Architects/DevOps role based people.

For video Visit:

For the above video’s blog:

https://vskumarcloudblogs.wordpress.com/2016/11/30/how-to-initiate-a-cloud-transformation/

Now, let us move forward with this blog content.

In this AWS exercise, I have described/demonstrated on WordPress[WP] infrastructure creation using a free tier account.

At the end of this blog a micro level lab practiced steps are copied and a recorded video is there on my channel.

I would like to explain from architecture/design perspective through this blog, before you go to Lab steps.
After doing this exercise, simply and finally we can come into the following conclusions:

a) Creating a blogging infrastructure can be fully automated through AWS services.
b) Infrastructure can be created at any time on-demand without any up-front
commitment for how long we will use it in AWS.
c) We can pay for our infrastructure depending on how many hours we use it.
d) Infrastructure consists of several parts,
such as; i) virtual servers, ii) load balancers, and iii) databases.
e) Infrastructure can be deleted with one click without costing to us.

This process is powered by AWS automation. So it will not be billed to our free tier account after deletion!!.

First let us analyze on WP and its components.

How a WordPress infrastructure can be planned?

Assume we have a startup company, which publishes more white papers and  blogs.

Assuming; our startup company currently uses WordPress[WP]  to host over 500 blogs on our own servers.  The blogging infrastructure must be highly available, because customers don’t tolerate outages of any servers.  To evaluate whether a migration is possible through AWS services, we need to do the following three Activities planning and try out with AWS free-tier account:

A) Set up a highly available blogging infrastructure in AWS.
B) Estimate monthly costs of the infrastructure.

C) Finally, Delete our blogging infrastructure to save cost from free-tier account.

For our understanding on WP;

  • WordPress[WP] is written in PHP and uses a  MySQL database to store data.
  • Apache is used as the web server to serve the blog pages.
  • With this information in our mind, we map our requirements to AWS services  to test the infrastructure creation.

Now, let us analyze on “what are the AWS services required for our WP test infrastructure?”.

We need  the below AWS services to do this activity:
I. Elastic Load Balancing (ELB),
II. Elastic Compute Cloud (EC2),
III. Relational Database Service (RDS) for MySQL and
IV. Security groups.

Let us analyze what are the functions/benefits of  these AWS services.

I. Elastic Load Balancing (ELB):

AWS offers a load balancer as a service.
The Elastic Load Balancer (ELB) distributes traffic to a bunch of servers behind it in a cloud environment. It’s highly available by default.

Let us assume our startup company’s blogs are published globally. From many countries these can be accessed by the users. Assume there are lot of users access this content globally. Then in traditional method your load is not balanced without  having physical servers connected through VPNs/networks, etc. in different locations. Think about the Hardware/Software/maintenance/FMG cost for this traditional infrastructure. We can not think it being a startup company to spend much. No way!! Hence we need to depend on cloud service provider.

With AWS ELB, this can be balanced by distributing the blog users traffic to different virtual servers under cloud environment. To denote this distributed load balancing  architecture, I have collected a diagram  on;

WordPress infrastructure and Load Balancing through ELB AWS service.
Which is pasted here for your clarity on the ELB function.

WP-Infra-ELB-load Distribution.png

II. Elastic Compute Cloud (EC2):

It is A virtual server which is provided by the Elastic Compute Cloud (EC2) service of AWS. We will use a Linux server with an optimized distribution called Amazon Linux to install Apache, PHP, and WordPress during our exercise. Please note; we are not limited to Amazon Linux only; we can also choose Ubuntu, Debian, Red Hat, or Windows. Virtual servers can fail at any time, so we need at least two of them for contingency planning. The load balancer will distribute the traffic between them. The beauty of AWS service in case of a server failure is; the load balancer will stop sending traffic to the failed server, and the remaining [contingency] server will need to handle all the requests until the failed server is replaced. Let us not worry on this communication! You will be intimated the status through alerts.

A sample architecture diagram is pasted here FYI with two EC2 instances.

EC2-two instance-ELB-Scenario.png

III. Relational Database Service (RDS) for MySQL:

WordPress relies on the popular MySQL database. AWS provides MySQL as a Relational Database Service (RDS). We can choose the database size (like; storage, CPU, RAM), and RDS takes care of the rest (backups, updates). RDS can also provide a highly available MySQL database by replication. In traditional [non-cloud] model we had the similar setup. It occurs huge costing. By using AWS cloud services this can be easily maintained with minor costing only.

On this context; from the below diagram we can see the MYSQL features from AWS services offering.

AWS-MYSQL-RDS-features

V. Security groups:

In every application architecture we need to have the security features in place. Either these can be embed in the applications or through security tools it can be applied. So the entire architecture is protected that way.

But in cloud services many providers provide these services differently with their services offering.

The Security groups are a fundamental service of AWS to control network traffic like a firewall in traditional systems. Security groups can be attached to a lot of services like ELB, EC2, and RDS. For example; with security groups, we can configure our load balancer as below:

It only accepts requests on port 80 from the internet. Web servers only accept connections on port 80 from the load balancer. And MySQL only accepts connections on port 3306 from the web servers. If we want to log in to our web servers via SSH, we must also open port 22. Similar ways the architecture setup can be configured.

FYI, I have considered a diagram from AWS docs; which denotes a typical AWS multi-tier approach security services with a Firewall:

AWS-Security mulit-tier aproach.png

As shown in the above diagram, A security group acts as a virtual firewall for our instance to control inbound and outbound traffic. When we launch an instance in a Virtual Private Cloud[VPC], we can assign the instance to up to five security groups. It means in any VPC  AWS provides five different security groups.

So, now what is our start company plan for security?:

Let us assume our startup company’s blogging infrastructure consists of two load-balanced web servers running a) WordPress and b) a MySQL database server.

The following tasks are performed automatically in the background through AWS:

  1. Creating an ELB.
  2. Creating a RDS MySQL database.
  3. Creating and attaching security groups.
  4. Creating two web servers.
  5. Creating two EC2 virtual servers.
  6. Installing Apache and PHP via yum.
  7. Install php, php-mysql, mysql, httpd.
  8. Downloading and extracting the latest version of WordPress from http://wordpress.org/latest.tar.gz   
  9. Configuring WordPress to use the created RDS MySQL database 
  10. Starting Apache. 

Before going to the above steps, I would like to show the below diagram for your understanding on “The setup of WP hosting on AWS”. You can download it through the URL given and see it as an image file for your understanding.

AWS-WP-Hosting setup

Now, let us recap our beginning conclusions for this blog. We need to do the below activities till end of the exercise.

  1. Creating a blogging infrastructure.

  2. Analyzing costs of a blogging infrastructure.

  3. Exploring a blogging infrastructure.

  4. Shutting down a blogging infrastructure.

  5. Deleting infrastructure from AWS Account.

1. What actions we need to consider for Creating blogging infrastructure in AWS?: To create the blogging infrastructure we need the below steps to follow on AWS console.

Note: Please note time to time the screen flows [micro level steps] might change on AWS, but the process should be the same to understand on creation of this WP infra.

  1. Open the AWS Management Console at https://console.aws.amazon.com.
  2. Click Services in the navigation bar, and click the Cloud-Formation service.
  3. Click on Create Stack to start the four-step wizard.

Now we will see what are these 4 steps wizard process it contains.

I. Creating a blogging infrastructure: Step 1 of 4

You need to name your infrastructure. Enter “wordpress” as the Name. For Source option, select and  Specify an Amazon S3 Template URL as shown in the screen [lab exercise screen]. Copy this URL and save somewhere in a text file for future reference/usage. About this process, during lab demo you will understand clearly.

II. Creating a blogging infrastructure: Step 2 of 4

Click Next to set the KeyName to “vskumarkey” [example only, you can give any name], for Step 2 of 4. Click Next to create a tag for our infrastructure into next screen. These steps can be seen clearly in lab practices steps.

III. Creating a blogging infrastructure: Step 3 of 4

A tag consists of a key-value pair and can be used to add information to all parts of our infrastructure. We can use tags to differentiate between testing and production resources, add the cost center to easily track costs in our organization [if any], or mark resources that belong to a certain application if we host multiple applications in the same AWS account.

In this example, we will use a tag to mark all of our resources that belong to the “wordpress system”. This will help us later to easily find our infrastructure. Use “system” as the key and “wordpress” as the value.  Click Next. Finally, we will see a confirmation page for Step 4 of 4. For clarity look into lab steps.

IV. Creating a blogging infrastructure: Step 4 of 4

In the Estimate Cost row, click Cost. This will open a new browser tab in the background. Keep this browser open only. We will come back to this screen later. Switch back to the original browser tab and click Create. We can see next Review screen in the next page.

Now, our infrastructure will be created. This Review screen shows that wordpress is in the state of CREATE_IN_PROGRESS. It takes 15-20 mts to complete this process.

Now, please take a look at the result by refreshing the page. Select the “WordPress” row, where Status should be CREATE_COMPLETE. If the status is still CREATE_IN_PROGRESS, be patient until the status becomes CREATE_COMPLETE.

Switch to the Outputs tab [below part of the screen], which is the Blogging infrastructure result. There we can find the URL to our “wordpress system”; click it to visit the system.

What is AWS Automation here?:

As we have discussed in the beginning of this blog, one of the key concepts of AWS is automation. We can automate everything. In the background, our blogging infrastructure was created based on a blueprint with its automation. So the above mentioned [10] tasks have been performed in the background by AWS cloud formation service. You can see the beauty of this automation during lab demonstration.

Blogging infrastructure result:

Now we’ve created our blogging infrastructure, let us take a  look at it. Our infrastructure consists of the following as we discussed in this blog:

  • Web servers
  • Load balancer
  • MySQL database

Now; we will  use the resource groups feature of the Management Console to get an overview.

Exploring the created WP Blogging  infrastructure

Now let us understand;

What is Resource Group in AWS?:

  1. A resource group is a collection of AWS resources.
  2. Resource is an abstract term for something in AWS like an EC2 server, a security group, or a RDS database.
  3. Resources can be tagged with key-value pairs. In such case; let us note we can have more than one key-value pairs.
  4. Resource groups specify what tags are needed for a resource to belong to the group.
  5. Furthermore, a resource group specifies the region(s) where the resource should reside in. It means globally these resource groups can be deployed for its functioning. 
  6. We can use resource groups to group resources if we run multiple systems in the same AWS account. This way we are sharing the resources among the projects or app architectures.
  7. Let us note that we have tagged the blogging infrastructure with the key “system” and the value “wordpress”.
  8. As an example; from now on, we will use this notation for key-value pairs: (system:wordpress). We’ll use that tag to create a resource group for our WordPress infrastructure.  For further clarity please look into the lab steps/video.

Now let us understand;

How to create  a resource group in AWS?:

    1. In the AWS part of the top navigation bar, click Create a Resource Group.
    2. Set Group Name to “wordpress” or whatever you like.
    3. Add the tag system with the value wordpress.
    4. Select the region N. Virginia [for example]. [I have used my existing account]
    5. Save the resource group.
    6. It will take you to next screen shown in next page. Follow the below steps.

How to see the Blogging infrastructure web servers via resource groups details?:

  1. Select Instances under EC2 on the left to see the web servers.
  2. By clicking the arrow icon in the Go column, you can easily jump to the details of a single web server. 
  3. Now, You are  looking at the details of your web server, which is also called an EC2 instance.

Details of web servers running the blogging infrastructure:

  1. On this screen the interesting/important details are as below:
  • Instance type: It tells us about how powerful your instance is.
  • Public IP address: The IP address that is  reachable over the internet. You can use that IP address to connect to the server via SSH.
  • Security groups: If you click on View Rules, you’ll see the active firewall rules like the one that enabled port 22 from all sources (0.0.0.0/0).
  • AMI ID: Let us recollect that we used the Amazon Linux operating system (OS). If you click the AMI ID, you will  see the version number of the OS, among others.  

We also need to know the utilization of webservers, like how we used to monitor in live [for production boxes].

Looking for webserver utilization and metrics in AWS:

2. In the screen; Select the Monitoring tab to see how your web server is utilized.

3. This will become part of our job: really knowing how the infrastructure is doing.

4. AWS collects some metrics and shows them in the Monitoring section. If the CPU is utilized more than 80%, you should add a third server to prevent page load times from increasing.

Now let us understand on;

How to check the Blogging infrastructure load balancer via resource groups?:

  1. We can find the load balancer by selecting Load Balancers under EC2 on the left to the page.
  2. By clicking the arrow icon in the Go column, you can easily jump to the details of the load balancer.
  3. Now, we are looking at the details of your load balancer.
  4. Here; the most interesting part is, “How the load balancer forwards traffic to the web servers?“.
  5. The blogging infrastructure runs on port 80, which is the default HTTP port.
  6. The load balancer accepts only HTTP connections to forward to one of the web servers that also listen on port 80.
  7. The load balancer performs a health check on the virtual servers attached.
  8. Both virtual servers are working as expected, so the load balancer routes traffic to them.    

How to check the MySQL server ?:

Details of the MySQL database which stores data for the blogging infrastructure

  1. Now; let’s look at the MySQL database. You can find the database in a resource group named wordpress.
  2. Select DB Instances under RDS at left.
  3. By clicking the arrow icon in the Go column, you can easily jump to the details of the database.
  4. Now the details of our MySQL database are shown in the screen.
  5. The benefit of using RDS is that we no longer need to worry about backups because AWS performs them automatically.
  6. Updates are performed by AWS in a custom maintenance window. Keep in mind that you can choose the right database size in terms of storage, CPU, and RAM, depending on your needs.
  7. AWS offers many different instance classes, from 1 core with 1 GB RAM up to 32 cores with 244 GB RAM.

Note: I would like to emphasize to compare the traditional [non-cloud] approach. We were using scheduler to backup the DB periodically. Some times we used to shutdown the live systems to take the backups. So, from AWS RDS services we do not need interruption to the business to take backup, RDS takes care everything. We can save the role of sysadmin/DBA while using the AWS services. This way the resources efforts and business services down time are saved.

As we planned three activities for this whole exercise as on now; we have completed the activity of “A) Set up a highly available blogging infrastructure in AWS.”

Now, we are going to work on; “B) Estimate monthly costs of the infrastructure.”

  1. As the  part of this exercise is’ cost estimation also need to be done.
  2. To analyze the cost of our blogging infrastructure, we will  use the AWS Simple Monthly Calculator.
  3. Recollect that we clicked the Cost link in the previous section to open a new browser tab.
  4. Now, switch to that browser tab, and you will see a screen as shown in the below  chart.
  5. To Estimate of our Monthly Bill, and expand the Amazon EC2 Service and Amazon RDS Service rows.

Now, Let us see and understand the below chart.

Blogging infrastructure cost calculation

Now it’s time to evaluate costs. We can see on How much does it cost?

  1. In this example, our infrastructure will cost is around $60 per month.
  2. Let us keep in mind that this is only an estimate.
  3. We are billed based on the actual usage till the end of the month.
  4. Everything is on-demand and usually billed by hours of usage or by gigabytes of usage.
  5. But what influences the usage for this infrastructure?

Let us analyze different situations and identify the costing parameters as below:

Traffic processed by the load balancer: Let us assume; Expect the costs to go down in during festival/vacation season like;  “December and the summer”. When the people are on vacation and not looking at our blogs.

Storage needed for the database: If our startup company increases the number of blogs, the database will grow, so the cost of storage will increase this way.

Number of web servers needed: A single web server is billed by hours of usage. If two web servers are not enough to handle all the traffic during the day, we may need a third server.  By default we need to keep in our AWS/EC2 setup. In that case, we will consume more hours of virtual servers.

Now we had a clear overview of the blogging infrastructure creation and its cost estimation/Analysis. Similar way you will be able to do for your AWS migration projects also.

Now; with reference to  the 3rd  step, it is time to shut down the infrastructure and complete our AWS migration evaluation exercise.

Let us recap our planned 3rd activity;

C) Finally, Delete our blogging infrastructure to save cost from free-tier account.

Now, go to the CloudFormation service in the Management Console and do the following:

  1. Select the WordPress row.
  2. Click Delete Stack, as shown in top of the screen.
  3. After you confirm the deletion of the infrastructure, it takes few minutes for AWS to delete all of the infrastructure’s dependencies.
  4. Please note; this is an efficient way to manage our infrastructure.
  5. Just as the infrastructure’s creation was automated, its deletion is also completely automated.
  6. You can create and delete infrastructure on-demand whenever you would like, and you only pay for infrastructure when you create and run it.  

<===== I copied the relevant lab practiced steps for your easy use ======>

These steps were used as on dated: 9th Sept 2018 on my free-tier account for student purpose.
The AWS might change its Screens flow or UI part time to time.
Hence from the above blog narration some detailed steps are given in the below lab practice steps for your easy use/practice.

1. Sign-in to your AWS console account from URL:
https://aws.amazon.com/

2. Login to the account.
3. Click on Services.
4. Please note we need to use Cloudformation service of AWS in this exercise.
Hence click on Cloudformation.
5. You will be shown the screen to create a new stack. Click on it. Note as mentioned in my blog it has 4 step process.
6. Now, select a sample template. Choose WordPress blog. It creates/shows the S3 template url.
7. Copy the S3 Template URL into a file for future usage.
8. Now, click on Next to go to next screen.
9. Under Specify Details columns, mention the details.
10. Please note my Infra name I want to give “wordpress”.
11. It has the predefined DB “wordpressdb”, I will keep it.
12. I can give DB Passwords, as required in the entry boxes/columns.
13. Dbuser “vskumarwp”. It has instance type t2.small.
14. Now, as you are aware we need to have the local SSH keys which we have created earlier. I have some keys I have selected one. [If you are new for this account, create the SSH keys…]
15. I need to give the range of IPs to be used for our wp servers.
I want to use 192.168.116.9/15.
16. Now, need to click on next…
Please note the above steps are required for you….

17. Let me give System as “worpress” and key as “system” as mentioned in my blog.
18. I want to skip ARN value in this exercise, due to as I mentioned in blog I would like to follow. I will not have any ARN, Hence monitoring is not mandated for me in this exercise. Then press “Next”.

19. Now, we will see the review screen as mentioned in Blog. On reveiw screen press Create button.
20. We are in creation process screen as mentioned in Blog.
CREATE COMPLETE IS DONE NOW.

21. Now let me click on my instance vskumarwp.

22. Now, go to the top navaigation bar and select the resource groups.
23. Select create resource group. You will get a new screen which has some entries and selections. Give tag key as “worpress” and press create group.
24. Next screen it shows wordpress as the resource group name.

25. Now, go to EC2 instance from the left side shown.
Now, you can see in bottom of the screen as mentioned in the blog.

26. I can see ELB by clicking on ELB option in the left panel.
Please note I have not given the ARN. Hence the Monitoring option is not selected.
Due to it might charge me.

27. You can see the cloud watch options through monitoring button in the below part of the screen.

28. Please note the security groups are attached by default.

29. Please note if I want to use this EC2 instance which is prepared for WP, I need to launch in AWS services live.
Which is going to be billed. Hence I will stop at this point.

30. The FINAL step is to delete the Instance of WP. I will go to cloudformation option.
Then it displays the current instance. I will select it and go to actions and select the DELETE STACK Option.
It prompts for ‘YES/NO’, Select Yes. It can take some time to perform deletion.

31. Once it is deleted it will comeback to the Stack creation screen.
Please note I have checked it, there are no existing instances in my current account.
We can see it as terminated instance.

32. So, this way we can create infra and delete it very easily.

33. So, let us have a final conclusion, section from blog.

34. Please call me if you need any coaching for AWS course….
THANKS FOR WATCHING MY VIDEOS/BLOGS ……..

 

Watch the below video on this blog Narration:

https://www.facebook.com/watch/?v=254567748762273

 

For the above steps a 40 mts videos has been made and hosted  on my channel. Please look into it also.

================= End of Lab practice ===============================>

 

Now, after doing all the above steps we can compare our conclusions mentioned in the beginning of this blog. I copied the same for your cross check!!

a) Creating a blogging infrastructure can be fully automated through AWS services.
b) Infrastructure can be created at any time on-demand without any up-front
commitment for how long we will use it in AWS.
c) We can pay for our infrastructure depending on how many hours we use it.
d) Infrastructure consists of several parts,
such as; virtual servers, load balancers, and databases.
e) Infrastructure can be deleted with one click without costing to us.
This process is powered by AWS automation. So it will not be billed to our free tier account after deletion.

I assume now, you are a fearless user of AWS to create the infrastructure through your free-tier account and delete and maintain the account without a cost to your CC/Account.

If you are interested to learn Virtualization with Vagrant visit:

1. Vagrant/Virtual Box:How to create Virtual Machine[VM] on Windows 10?:

Note to the reader of this blog:

If you are not a student of my class, and looking for it please contact me by mail with your LinkedIn identity. And send a connection request with a message on your need. You can use the below contacts. Please note; I teach globally.

Vcard-Shanthi Kumar V-v3

This blog is created as an video  also. There are series of videos made till end of the lab session. At the end,  the lab practices are also recorded for your use with your free AWS account.

 

 

 

 

3. AWS: How to create S3 Bucket and share object URL ?

In this blog, I would like to demonstrate the lab session on:

a) Creating a Bucket on S3.

b) Uploading an Object.

c) Sharing the object URL.

d) Testing the object URL for its display in  Different Laptop.

The attached video has the lab demonstration.

You can watch and give your message.

 

AWS-SAA-Course

How a DevOps Architect role is different from A Cloud Architect ?

Many people might feel the Cloud Architect and DevOps Architect can play dual roles. As per my observation yes, many small and medium level organizations are utilizing the IT Professionals in the same manner. I wrote a blog for these roles segregation with their main Activities. I felt this might help to some of the practitioners.

With reference to my previous blog on Cloud Architect role comparison with DevOps, there were questions on DevOps architect role comparison.

https://vskumar.blog/2018/11/21/how-a-cloud-architect-is-different-from-devops-role/

Basically, A DevOps architect need to work on:

  1. Identifying the Sprint cycles for different projects.
  2. Identifying the different environments needs including the different test levels requirements.
  3. Plan/design the environment specifications to build Infrastructure As A Code [IAC] and guide the DevOps Engineers.
  4. At the same time he/she need to collaborate with the Cloud Architect to seek the permissions/approvals to utilize the cloud environment on these environmental requirements/setup.
  5. Both these architects need to measure the cost of this Infrastructure to estimate and get approval from the management.
  6. The DevOps Architect is also responsible to plan for different production deployments. He/She need to work together with the Cloud Architect to establish this setup.
  7. In the current trend the containerization is accelerating with Cloud technology. Both these architects need to keep working on these areas to reduce the Virtual Machines cost by replacing with containers. At the same time these two people need to think on converting the applications into Microservices slowly with the Agile methods. This will have easy maintenance in future and also the further cost can be reduced in view of infrastructure and the man power. And their guidelines need to submit to management as a proposal. These two people are also responsible to upgrade their teams skills on the new trends in Cloud technology.
  8. If you ask me the question who are the team members for these roles;
  9. DevOps Engineers will report to DevOps Architect.
  10. Cloud/system engineer reports to Cloud Architect.

So these architects need to manage their teams well in view of their skills augmentation and the tasks rolling as per the DevOps Speed/Velocity concepts.

What kind of IT Professionals can be converted into DevOps Architect ?

Basically, the DevOps activities are related to more on Practices and Culture. If your background is related to the below areas in the past, your profile might suit to convert by learning the above mentioned skills.

  • You might have worked on Deployment areas
  • Worked in release management
  • Worked in Development processes implementation areas.
  • You should be savvy in implementing the Agile/Scrum/Lean practices.
  • You should have worked as a Servant leadership role also. [Even as a Scrum master]. In many cases this role is responsible to mentor the teams on different practices implementation by gearing up the teams to follow DevOps Velocity.
  • You should have worked in Identifying the retrospective issues very well and implemented the improvements in different Sprint cycles.
  • He/she should be savvy in learning new technology and transform the knowledge to the teams well. This knowledge should be very simple on the tools features related areas and how they can utilize them in their setup ? How they can reduce the efforts and cost to the company with a ROI Demonstration. They need to prove it to management with a POC.
  • This person is responsible to show some ROI as Cloud Architect does it on DevOps New practices implementation.
  • The DevOps Architect reports to the DevOps Practices head or CIO or CTO. Where as the Cloud Architect reports to CIO or CTO. Depends on the size of the organization, there can be Chief Cloud architect also, where all the Cloud architects report to this position.

https://vskumar.blog/2019/02/14/what-will-be-the-size-of-cloud-market-in-it-by-2022/

Note:

The DevOps Architect need not put his fingers into low level command scripts. It is the responsibility of the DevOps Engineers.

Hope this blog clarifies for many people.

AWS-SAA-Course

 

 

 

 

 

How A Cloud architect is different from DevOps role ?

vskumarcloud-build-cloud-architect.pngHow A Cloud architect is different from DevOps practices ?

We have been watching on lot of FB Groups and ad sites as “learn DevOps/AWS”. In general everybody believe with these stickers/posters they need to learn AWS and DevOps together is a must for any Modern technology professional.

When we talk about AWS and DevOps they are two different work streams.

Now, one might get the below questions in their mind.

  1. Is a Cloud Architect need to be expert to work on DevOps activities also ?
  2. What are the activities related to Cloud architect ?
  3. Why the Cloud architect need not bother on DevOps ?

Now, let us analyze them as below:

The role of the cloud architect is to migrate the existing IT infrastructure setup into the cloud services. The cloud services can be AWS or Azure or Google cloud [GC] or Alibaba, etc.

From the below picture one can have clarity if they have experience in traditional Infrastructure building  practice.

 

How to create AWS S3 Bucket

This role need to understand clearly on the usage of those vendor related [AWS/AZURE/GC/Alibaba] cloud services and should have command on mapping the current traditional infrastructure setup to map to the cloud services and plan/design for its transformation with the additional benefits to the management in view of cost and easy operation.

Once the modern application architecture/infrastructure in cloud is operational, then the management can think of introducing the DevOps practices.

To work on DevOps practices, each Cloud services vendor provides their own setup or tools at different processes or pipeline stages. To do these tasks a separate role professionals are required, who are called DevOps Engineers. At this point the role of the cloud Architect is he/she can guide them on the available infrastructure with the Cloud vendor. As per the Cloud architect planning/guidelines the DevOps engineers need to adopt the relevant tools/processes. Basically all the setup is going to be on IAC [Infrastructure As A Code] technics. There can be Configuration tools to create the IAC for different environments. At this point the Cloud architect can monitor these tools implementation as a part of cloud infrastructure implementation.

So, the Cloud architect do not need to make his/her fingers dirty with tools/commands to implement the DevOps processes.

For example; If you read the roles of AWS with different certifications, they mention Solution Architect [SA] separately from DevOps engineer role. They have multiple roles like; Sys ops, Developer, etc. All these roles need to be expert in making their fingers dirty with the relevant AWS services usage/implementation efficiently and effectively . But here the Cloud Architect [which is SA in view of AWS] role is to monitor on their activities only. He/She doesn’t need to put the fingers into techie stuff.

Hope I have given clarity for the above questions.

I get lot of enquiries; as they want to do AWS/DevOps both the courses together. I understood due to lot of training vendors are making their posters on social for their business, these experienced professionals are getting confusion as they need to learn both.

Now, I would like to ask the below questions to you as this blog reader after the above understanding;

Do a modern technology professional need to learn Cloud services and also the DevOps as mandatory ? [Ex: Which is DevOps/AWS].

Answer: It is not. They can choose One route only. If he/she came from the real work experience of Sysadmin/Sys engineer role, the past experiences need to be utilized efficiently in IT Industry. Hence the Scalable role is Cloud architect. In view of AWS it is SA. But they need to have very good command in understanding the traditional architecture and also the cloud services to establish a well suited conversion plan. This role person is responsible to  show ROI [Return On Investment] also to the management.

You can also compare the SAA Salary among all the roles being played with AWS:

See the difference on the salary amounts to seek your role as per your professional potentiality.

Also, Visit:

https://vskumar.blog/2019/03/04/how-best-you-can-utilize-cloud-architect-role-as-an-efficient-it-management-practitioner/

 

Do you want to know the size of the Cloud job market globally if yes, visit:

https://vskumar.blog/2019/02/14/what-will-be-the-size-of-cloud-market-in-it-by-2022/

To know the real articulation of SA, Visit for my AWS SAA class video:

 

 

 

Student Feedback:

 

 

 

 

 

1. Cloud architect: How to build your Infrastructure planning practice ?

If you are a Cloud Architect, you might do project initiation for Cloud migration projects. During that time you need to have a plan to get series of activities and to make a project schedule. You might need to see this discussion Video also along with your planning. It will add value for your future efforts savings or can reduce repeat activities. Please send your feedback by e-mail [mentioned in it], which can encourage us to make such Consulting/discussion videos sharing on Social.

Build Cloud architects-FB promotion

With reference to my previous blog on the role of Cloud architect, in this blog I would like to present on:

  • What is Traditional Infrastructure planning and building analysis ?

  • How to setup a new Infrastructure for an E-commerce [simple site] in Traditional manner ?

  • What are the Activities we might do ?

  • How to compare them in high level with a Cloud Architecting ?

  • If the Cloud architect apply these practices in his/her area, lot of time for roll back/back out tasks can be reduced during migration.

The following One hour Video has the entire elaboration  for your clarity with a Consulting/Training discussion:

You can also join for similar discussions:

https://www.facebook.com/groups/1911594275816833/about/

If you are looking for coaching on your role Cloud performance, please contact me on my FB with your Linkedin URL.

For details on my coaching visit:

https://vskumar.blog/2018/11/13/coaching-mentoring-on-aws-solution-architect-associate-exam/

 

If you are interested to know the Cloud initiation activities, visit my video:

 

 

1. Vagrant/Virtual Box:How to create Virtual Machine[VM] on Windows 10?:

Vagrant-Logo                                                                                                          Oracle-VB-VM

How to create Virtual Machine[VM] on Windows 10 using Vagrant/Virtual Box.

In this exercise, we will see the following sections/topics/activities:

Let us consider the below two activities.

I. How to Install Vagrant and VirtualBox ?
II. How to Initialize our first virtual environment with Vagrant setup ?

I. How to Install Vagrant and VirtualBox ?:

Step1: Selecting the Virtual Box
Initially, we need to install the software required to manage a virtual machine
environment, which is a hypervisor as well as the Vagrant software itself.
In this activity, we will install VirtualBox to use it with Vagrant.

VirtualBox is an open source hypervisor that was initially made as the only
hypervisor and supported by Vagrant.
The VirtualBox is broadly supported by the Vagrant community.

Before we install the VirtualBox and Vagrant software, we need to obtain its latest versions.
VirtualBox can be downloaded from its project website at http://virtualbox.org.

Please note, in this exercise we are going to use for Linux installations [VMs] only. Also note, in this exercise I am using Windows10 as OS. Hence I need to select for my use the windows version under Windows hosts.

When we click on it, it downloads the file named as “VirtualBox-5.2.16-123759-Win”, as on date this is the file exists. [it might vary time to time]. You can install it on your desktop/Laptop now. 

A new installation of VirtualBox will display a welcome message in a window titled as
“Oracle VM VirtualBox Manager”.
When you have created more than one virtual machines, this dialog displays information about the machines created using VirtualBox.

Step2: Getting  Vagrant to operate the Virtual Box
Now, we need to get the Vagrant file to install.
Vagrant packages are operating system-specific and can be downloaded from the
Vagrant website at http://vagrantup.com.
Download the appropriate version  for your system [example: Windows10].
You can find, Windows 32-bit or 64-bit. In my current Laptop, I use 64 bit.
You can find the file as “vagrant_2.1.5_x86_64” to download the same.
Now install it after its download.
Vagrant setup wizard will drive you with it easy guidelines.
It installs by default into:C:\HashiCorp\Vagrant\
It takes few minutes to copy the files and install into your Desktop/Laptop.

Step3: Identify the Vagrant installation
Now, It will ask you to reboot your machine. Once you rebooted your system, please follow the below steps.

How Vagrant works?:
Let us understand; Vagrant followed the below procedure in the above Step2.
The Vagrant installer extracted and copied its files, and added the vagrant command to the executable path.
On Windows OS, this will install Vagrant to the default OS X Applications/ directory.
Also let us note; Vagrant is a command-line driven application, there are no programs
accessed from this OS.
Now, by opening a command prompt [CMD in windows] let us verify that Vagrant is working. We need to do it by executing: “vagrant version” command in CMD.

We can see the below screen output in CMD window:
=== CMD window output ====>
C:\Users\Windows>vagrant version
Installed Version: 2.1.5
Latest Version: 2.1.5

You’re running an up-to-date version of Vagrant!
===========================>

From the above output;
It is confirmed, we are ready to start using Vagrant!

Note: Please visit https://docs.vagrantup.com/v2 , to know  further the Vagrant installation guidelines.

Let us recap, What we have done is; we installed a working Vagrant environment which consists of:
a) A hypervisor application that can contain virtual machines.
b) Also let us note; Vagrant is a tool that makes managing these machines simpler and available.
c) It is important here to note that Vagrant is simply a framework to manage virtual machines.
d) It is not an application to create and host virtual machines.

II. How to Initialize our first virtual environment with Vagrant setup ?:

As mentioned in the above sections, once we have a working Vagrant environment with a hypervisor, we can initialize our first environment.
There are two ways we can  work with Vagrant to achieve this task:
a) In a new environment with a newly initialized Vagrantfile.
b) In an environment which is maintained in source control system (such as Git, SVN, etc.), which has a Vagrantfile included in a project and keeping  Vagrantfiles for different purposes of the projects.

This is a powerful  technique to manage and track changes in Vagrant environments. This kind of method can be more useful to  build the Environments easily with the concept of Infrastructure As a Code [IAC] under DevOps culture. Which is also a script driven [automated IAC] process.

But in this example, we will initialize a new environment with the basic configuration of a Vagrantfile.

Step1: Let us create a vagrantfile with  vagrant init command as below to get an ubuntu 16.04 machine with 32 bit.

I have copied my screen display with used commands for this process.

I need to have a different folder and used the below command in that folder”.

vagrant init puppetlabs/ubuntu-16.04-32-nocm

 

=== Screen output ===>

C:\>md dir vagrant-files

C:\>cd vagrant-files

C:\vagrant-files>

C:\vagrant-files>vagrant init puppetlabs/ubuntu-16.04-32-nocm
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

C:\vagrant-files>

==== We have created a vagrantfile now===>

Step2: Making Vagrant up

Before running this step please make sure you have installed the Oracle VirtualBox as mentioned in the previous section.

Now, In Command Window execute the below command.

“vagrant up”

This command might output several results; I am copying my screen output which was displayed. It takes few minutes to complete this activity.

=== Screen output for vagrant up=====>

C:\vagrant-files>vagrant up
Bringing machine ‘default’ up with ‘virtualbox’ provider…
==> default: Box ‘puppetlabs/ubuntu-16.04-32-nocm’ could not be found. Attempting to find and install…
default: Box Provider: virtualbox
default: Box Version: >= 0
==> default: Loading metadata for box ‘puppetlabs/ubuntu-16.04-32-nocm’
default: URL: https://vagrantcloud.com/puppetlabs/ubuntu-16.04-32-nocm
==> default: Adding box ‘puppetlabs/ubuntu-16.04-32-nocm’ (v1.0.0) for provider: virtualbox
default: Downloading: https://vagrantcloud.com/puppetlabs/boxes/ubuntu-16.04-32-nocm/versions/1.0.0/providers/virtualbox.box
default: Download redirected to host: s3.amazonaws.com
default:
==> default: Successfully added box ‘puppetlabs/ubuntu-16.04-32-nocm’ (v1.0.0) for ‘virtualbox’!
==> default: Importing base box ‘puppetlabs/ubuntu-16.04-32-nocm’…
==> default: Matching MAC address for NAT networking…
==> default: Checking if box ‘puppetlabs/ubuntu-16.04-32-nocm’ is up to date…
==> default: Setting the name of the VM: vagrant-files_default_1536967979621_87087
Vagrant is currently configured to create VirtualBox synced folders with
the `SharedFoldersEnableSymlinksCreate` option enabled. If the Vagrant
guest is not trusted, you may want to disable this option. For more
information on this option, please refer to the VirtualBox manual:

https://www.virtualbox.org/manual/ch04.html#sharedfolders

This option can be disabled globally with an environment variable:

VAGRANT_DISABLE_VBOXSYMLINKCREATE=1

or on a per folder basis within the Vagrantfile:

config.vm.synced_folder ‘/host/path’, ‘/guest/path’, SharedFoldersEnableSymlinksCreate: false
==> default: Clearing any previously set network interfaces…
==> default: Preparing network interfaces based on configuration…
default: Adapter 1: nat
==> default: Forwarding ports…
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM…
==> default: Waiting for machine to boot. This may take a few minutes…
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Connection reset. Retrying…
default: Warning: Remote connection disconnect. Retrying…
default: Warning: Connection aborted. Retrying…
default:
default: Vagrant insecure key detected. Vagrant will automatically replace
default: this with a newly generated keypair for better security.
default:
default: Inserting generated public key within guest…
default: Removing insecure key from the guest if it’s present…
default: Key inserted! Disconnecting and reconnecting using new SSH key…
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM…
default: The guest additions on this VM do not match the installed version of
default: VirtualBox! In most cases this is fine, but in rare cases it can
default: prevent things such as shared folders from working properly. If you see
default: shared folder errors, please make sure the guest additions within the
default: virtual machine match the version of VirtualBox you have installed on
default: your host and reload your VM.
default:
default: Guest Additions Version: 5.0.20
default: VirtualBox Version: 5.2
==> default: Mounting shared folders…
default: /vagrant => C:/vagrant-files

C:\vagrant-files>

=== End of Vagrant up process ====>

Please note with the above activity is completed, your VirtualBox window will show this VM as its status “running”. It means you are able to see this newly created VM in your “Oracle VM VirtualBox Manager”.

Step3: Checking the box

Now let us use check this VM in a Command line:

After Vagrant returns to the command line, executing the “vagrant ssh” command will open a command-line interface into the newly initialized Virtual Machine[VM].

You can see the screen output:

==== vagrant ssh ====>

C:\vagrant-files>vagrant ssh
Welcome to Ubuntu 16.04 LTS (GNU/Linux 4.4.0-21-generic i686)

* Documentation: https://help.ubuntu.com/
New release ‘18.04.1 LTS’ available.
Run ‘do-release-upgrade’ to upgrade to it.

vagrant@localhost:~$ ls
vagrant@localhost:~$

=============>

At the same time you can also go to your “Oracle VM VirtualBox Manager”, and double click on it. It will show a button “Show”, you can click on it. Opens a window with this VM.

Please note; In this exercise we have created the base box only. Hence we are not going to use this VM for our future operation.

You can see the local dir as:

== Current dir details ===>

C:\vagrant-files>dir
Volume in drive C has no label.
Volume Serial Number is 5A33-A94E

Directory of C:\vagrant-files

09/14/2018 04:14 PM <DIR> .
09/14/2018 04:14 PM <DIR> ..
09/14/2018 04:25 PM <DIR> .vagrant
09/14/2018 04:12 PM 3,108 Vagrantfile
1 File(s) 3,108 bytes
3 Dir(s) 96,101,879,808 bytes free

C:\vagrant-files>

==============>

Step4: Destroying the Virtual box

Now, we will see : a) How to exit, b)  How to Destroy this VM.

a) How to exit: We can exit it by using the command :

“control-d command, or by typing exit”

b) How to Destroy this VM: We can Destroy the virtual machine, by discarding the entire working environment. This can be done  with the “vagrant destroy” command.

When you use this command, Vagrant  will now  prompt you to make sure  that you  want to destroy the environment; type “y” to proceed with destroying the environment and deleting the VM.

=== Output for Destroy===>

C:\vagrant-files>vagrant ssh
VM must be running to open SSH connection. Run `vagrant up`
to start the virtual machine.

C:\vagrant-files>vagrant destroy
default: Are you sure you want to destroy the ‘default’ VM? [y/N]
==> default: Destroying VM and associated drives…

C:\vagrant-files>

============>

You can also check in the GUI of the  “Oracle VM VirtualBox Manager”. It will not have this VM.

In  this simple vagrant exercise in summary we have done the below steps;

  • We have downloaded and configured “Oracle VM VirtualBox Manager”.
  • We have installed Vagrant.
  • Created a Vagrant virtual box.
  • We could connect to it in a command line interface and checked the linux [ls] commands. We also cross verified it in “Oracle VM VirtualBox Manager” on its appearance as VM. 
  • Finally, we destroyed this VM.

That is all about this exercise. You can create any number of VMs like this.

=========>

Let us recap our Laptop making as Dual OS for Windows and Linux. In traditional manner we used to run behind one desktop engineer to config such dual os by paying Rs. 1,000 to Rs. 2,000 [In Indian Metro cities]. Now you can estimate how much effort and money you can save by using Cloud Technology. This VM can be copied to other Laptops/Desktops also with ORACLE Virtual Box Installation. You can do your R&D very well using this VM. You can install your applications and test/develop in Linux.

==========>

Note:

You can keep checking this site or follow it to get the new/updated blogs.

If you are interested in learning AWS, go through my blogs:

2. AWS: WordPress[WP] infrastructure creation using a free tier account

1. AWS:How to create and activate a new account in AWS ?

 

Vcard-Shanthi Kumar V-v3