POKE ME for any consultancy

Friday, June 21, 2024

How To Create AWS VPC Using Terraform

 References: https://www.geeksforgeeks.org/create-aws-vpc-using-terraform/


Steps To Create AWS VPC Using Terraform

Step 1: First mention the provider and region in which you want to create VPC.

provider.tf

provider "aws" {
region = "us-east-1"
}

provider

Step 2 : Create a VPC . Here mention the CIDR block and give a name to the VPC .

create_vpc.tf

resource "aws_vpc" "main" {
cidr_block = "10.0.0.0/16"
instance_tenancy = "default"

tags = {
Name = "vpc"
}
}

vpc

Step 3 : Then create a subnet inside the VPC .

subnet.tf

resource "aws_subnet" "main" {
vpc_id = aws_vpc.main.id
cidr_block = "10.0.1.0/24"
map_public_ip_on_launch=true
tags = {
Name = "Public-Subnet"
}
}

subnet

Step 4 : But the subnet is isolated now . If you create an EC2 instance inside this subnet then you can not connect the EC2 instance as it is present in an isolated environment . So you need an internet gateway .

internet_gateway.tf

resource "aws_internet_gateway" "igw" {
vpc_id = aws_vpc.main.id

tags = {
Name = "IGW"
}
}

igw

Step 5 : Create a route table and associate the route table with subnet . Here in the route all the traffic is passed through internet gateway .

route_table.tf

resource "aws_route_table" "rt" {
vpc_id = aws_vpc.main.id

route {
cidr_block = "0.0.0.0/0"
gateway_id = aws_internet_gateway.igw.id
}

tags = {
Name = "route_table"
}
}

rt

route_subnet_association.tf

resource "aws_route_table_association" "a" {
subnet_id = aws_subnet.main.id
route_table_id = aws_route_table.rt.id
}

rt-subnet

Step 6 : After this execute all these terraform files using the below commands one by one .

terraform init
terraform plan
terraform apply

apply

Step 7: Check on your AWS console whether the VPC is created or not

check-vpc

Now if you want to delete all the resources created through terraform , then write this command .

terraform destroy

Conclusion

Here first we learned basics about AWS VPC and terraform . Then followed the steps to create an AWS VPC . Here inside the VPC we have created a public subnet , an internet gateway which helps the traffic to go in and out of the subnet and finally created a route table and associated with the subnet .

AWS VPC Using Terraform – FAQ’s

1. What is a subnet in VPC ?

When you are creating a VPC you provide a CIDR block (a range of IP address) . Like that , in subnet we provide a segment of IP addresses which helps the VPC to organize and manage its IP addresses .

2. What are NAT gateways used for ?

NAT gateways are used to give internet connectivity to the resources which are created using private subnet .

3. How public subnet is different from private subnet ?

Public subnet access internet(in and out) by using Internet gateway . But private subnets does not not use internet gateway to access internet , rather here NAT gateways are used for outbound internet access . We can not connect private subnet from outside .

4. How to ensure that EC2 instance inside the VPC gets internet connectivity ?

To ensure EC2 instance gets internet connectivity , you should place the instance in a public subnet that has a route to internet gateway in its route table.

5. What is the use of route table in VPC ?

Route table contains a set of routes which is used to determine where network traffic should be directed in the VPC .


Wednesday, June 19, 2024

Monday, June 17, 2024

How to expedite deployments

 To expedite deployments while maintaining control and governance in a CI/CD pipeline with manual approval gates, the following approaches can be considered:

  1. Implement Approval Bots: These are automated tools that mimic human actions to facilitate approvals. By sending notifications and requests, bots can speed up the approval process and remove potential bottlenecks.

  2. Implement Threshold-Based Automation: If certain approvals often follow similar decisions (e.g., green lights for minor changes), automate these approvals for quicker deployment.

  3. Process Segmentation and Parallelization: If stages can be divided, automate each stage independently. This way, even if one stage needs manual approval, the pipeline can continue processing the other stages concurrently.

  4. Automated Testing: Implement thorough automated testing to reduce the need for manual checks at later stages. This helps prevent issues that would otherwise require manual intervention, thus minimizing delays.

  5. Implement Guard Rails: Introduce checks throughout the pipeline to ensure that only changes meeting required standards can proceed. This prevents faulty code or configuration mistakes from reaching the production stage.

  6. Rollback Mechanisms: Ensure that the pipeline includes rollback mechanisms, making it easy and quick to revert changes if issues are discovered during deployment.

Thursday, June 13, 2024

list of common AWS error status codes and their meanings

 AWS (Amazon Web Services) utilizes HTTP status codes to indicate the success or failure of API requests. Here is a list of common AWS error status codes and their meanings:

Client-Side Errors (4xx)

  1. 400 Bad Request:
    • Meaning: The request was invalid or cannot be served. The exact error should be explained in the error payload.
    • Possible Causes: Invalid parameters, missing required parameters, or malformed request syntax.
  2. 401 Unauthorized:
    • Meaning: Authentication is required and has failed or has not been provided.
    • Possible Causes: Missing or invalid AWS credentials, or lack of permissions.
  3. 403 Forbidden:
    • Meaning: The request was valid, but the server is refusing action.
    • Possible Causes: Insufficient permissions to access the resource or action.
  4. 404 Not Found:
    • Meaning: The requested resource could not be found.
    • Possible Causes: Incorrect resource identifier (e.g., wrong bucket name in S3).
  5. 405 Method Not Allowed:
    • Meaning: The method specified in the request is not allowed for the resource.
    • Possible Causes: Using GET on a resource that requires POST.
  6. 409 Conflict:
    • Meaning: The request could not be completed due to a conflict with the current state of the resource.
    • Possible Causes: Resource already exists or resource is being modified concurrently.
  7. 412 Precondition Failed:
    • Meaning: One or more conditions given in the request header fields evaluated to false when tested on the server.
    • Possible Causes: Conditional request failed, such as an ETag check.
  8. 429 Too Many Requests:
    • Meaning: The user has sent too many requests in a given amount of time.
    • Possible Causes: Exceeding the API rate limit.

Server-Side Errors (5xx)

  1. 500 Internal Server Error:
    • Meaning: The server encountered an unexpected condition that prevented it from fulfilling the request.
    • Possible Causes: Internal server issues, temporary issues with the AWS service.
  2. 502 Bad Gateway:
    • Meaning: The server, while acting as a gateway or proxy, received an invalid response from the upstream server.
    • Possible Causes: Temporary issues with the AWS service or network issues.
  3. 503 Service Unavailable:
    • Meaning: The server is currently unable to handle the request due to temporary overloading or maintenance of the server.
    • Possible Causes: Service outage, service throttling, or maintenance.
  4. 504 Gateway Timeout:
    • Meaning: The server, while acting as a gateway or proxy, did not receive a timely response from the upstream server.
    • Possible Causes: Timeout issues, latency in upstream servers.
  5. 507 Insufficient Storage:
    • Meaning: The server is unable to store the representation needed to complete the request.
    • Possible Causes: Insufficient storage available.

Specific AWS Error Codes

AWS also provides specific error codes in the response body for more detailed information. Here are a few common ones:

  1. AccessDenied:
    • Meaning: Access to the resource is denied.
    • Possible Causes: Lack of permissions, policies preventing access.
  2. NoSuchBucket:
    • Meaning: The specified bucket does not exist.
    • Possible Causes: Incorrect bucket name or bucket has been deleted.
  3. InvalidAccessKeyId:
    • Meaning: The AWS access key ID provided does not exist in our records.
    • Possible Causes: Incorrect access key, revoked access key.
  4. SignatureDoesNotMatch:
    • Meaning: The request signature we calculated does not match the signature you provided.
    • Possible Causes: Incorrect secret key, incorrect signing process.
  5. ThrottlingException:
    • Meaning: Request rate is too high.
    • Possible Causes: Exceeding the API rate limit.

Understanding these status codes and error messages can help diagnose and resolve issues when interacting with AWS services.


Here is a list of some of the more common Amazon Web Services (AWS) error status codes and their meanings:

    - 200 OK - The request was successful and the resource was created or updated.

    - 400 Bad Request - The request was malformed or incomplete, and the server could not understand it.

    - 401 Unauthorized - The request was made with invalid credentials or without proper authorization, and the server rejected it.

    - 403 Forbidden - The request was made to a resource that the user does not have permission to access.

    - 404 Not Found - The requested resource could not be found, either because it does not exist or because the user does not have permission to view it.

    - 409 Conflict - The request caused a conflict with another ongoing process, and the server could not complete it.

    - 410 Gone - The resource is no longer available, either because it has been deleted or because the user does not have permission to view it.

    - 415 Unsupported Media Type - The request was made with an improper media type, and the server could not process it.

    - 416 Invalid Range - The request was made with an invalid range or duration, and the server could not process it.

    - 500 Internal Server Error - The server encountered an internal error and could not complete the request.

    - 503 Service Unavailable - The service was unavailable at the moment the request was made, and the server could not complete it.

    - 504 Gateway Timeout - The gateway or server was busy and could not immediately process the request.

    - 505 Too Many Requests - The user made too many requests in a given period of time, and the server rejected them all.

    - 507 Insufficient Storage - The request could not be completed because the user's account did not have enough free storage space.

    - 508 Resource Exhausted - The request could not be completed because the resource was exhausted or unavailable.

    - 511 Too Many Users - The system was overloaded with too many users at the moment the request was made, and the server could not complete it.

    - 512 Too Many Connections - The system was overloaded with too many connections at the moment the request was made, and the server could not complete it.

    - 513 Slow Request - The request took too long to complete, and the server returned a  slow down message.

    - 514 Too Many Queries - The user made too many queries in a given period of time, and the server rejected them all.

    - 515 Bad Query - The user made a bad or malformed query, and the server could not understand it.

    - 516 Too Many Results - The search engine returned too many results for the given query, and the server stopped processing it.

    - 517 Insufficient Memory - The request could not be completed because the user's account did not have enough free memory space.

    - 518 Resource Not Found - The resource was not found or could not be accessed, and the server returned a  not found message.

    - 519 Slow Client - The client or script took too long to complete the request, and the server returned a  slow down message.

Wednesday, June 12, 2024

What is Jira Align and the difference between Jira Standard and Jira align

 

What is Jira Standard?

Jira Standard or Jira is a versatile project management tool designed to help teams plan, track, and manage their work efficiently. It is widely used by teams of all sizes to handle everything from simple task management to complex project tracking. Here are some of the key features that make Jira Standard a popular choice:

  • Project Tracking and Management: Keep track of all your projects in one place, with customizable workflows that fit your team's unique processes.
  • Issue and Bug Tracking: Identify, report, and resolve issues quickly with robust bug tracking capabilities.
  • Agile Boards: Utilize Scrum and Kanban boards to manage your team's workload and ensure projects stay on track.
  • Reporting and Dashboards: Access real-time insights with customizable dashboards and reports to monitor progress and performance.
  • Integration: Seamlessly integrate with other Atlassian tools like Confluence and Bitbucket, as well as a wide range of third-party apps.

jIRA Board

source: atlassian

What is Jira Align?

Jira Align takes project management to the next level, providing enterprises with the tools they need to align strategy with execution. It bridges the gap between business strategy and technical execution, ensuring that all teams are working towards common goals. Here are some of the standout features of Jira Align:

  • Enterprise-Level Project Management: Manage multiple teams, portfolios, and programs with ease, ensuring alignment across the entire organization.
  • Strategic Alignment and Planning: Connect strategic goals with execution by visualizing dependencies and aligning work with business objectives.
  • Comprehensive Reporting and Analytics: Gain deep insights with advanced analytics and customizable reports, helping you make data-driven decisions.
  • Integration: Integrate seamlessly with multiple Jira instances and other enterprise tools, ensuring a cohesive workflow across different teams and departments.

Jira Align

source: atlassian

Key Differences Between Jira Standard and Jira Align

To help you better understand the distinct features and capabilities of Jira Standard and Jira Align, let's explore the key differences between the two:

AspectJira StandardJira Align
Target AudienceTeams and small to medium-sized businessesLarge enterprises with complex project management needs
ScalabilityTeam-level managementEnterprise-level management with multiple teams, portfolios, and programs
Features and CapabilitiesBasic project management and agile featuresAdvanced features for strategic planning, portfolio management, and cross-team collaboration
Project TrackingSupports project and issue trackingComprehensive tracking across teams, programs, and portfolios
Agile BoardsScrum and Kanban boardsScaled agile frameworks like SAFe, LeSS, and more
Strategic PlanningLimited to team-level planningAligns business strategy with execution, visualizing dependencies and outcomes
Reporting and AnalyticsBasic reporting and dashboardsAdvanced analytics, real-time insights, and customizable reports
Resource ManagementBasic resource management capabilitiesAdvanced resource planning and allocation across the organization
Dependency ManagementLimited to team-level dependenciesManages dependencies across multiple teams and projects
RoadmappingBasic roadmapsComprehensive roadmaps linking strategy to execution
Integration and ConnectivityIntegrates with Atlassian tools and third-party appsSeamless integration with multiple Jira instances and other enterprise tools
CustomizationCustom workflows, fields, and screensHighly customizable to fit enterprise needs, including custom dashboards and reports
User ManagementBasic user roles and permissionsAdvanced role-based access control and user management
Portfolio ManagementNot availableExtensive portfolio management features, including financial tracking and value stream mapping
Cost and PricingMore affordable, suitable for smaller budgetsHigher cost, justified by advanced features and enterprise-level support
ImplementationEasier and quicker to implementMore complex implementation, often requiring professional services or consulting
Support and TrainingStandard support and community resourcesEnhanced support options, including dedicated account managers and training programs

Use Cases and Scenarios

When to Use Jira Standard

1. Small to Medium-Sized Teams

  • Scenario: A marketing team of 10 people needs to manage their campaigns, track tasks, and collaborate on projects.
  • Use Case: Jira Standard provides the tools they need to create and manage tasks, use agile boards for planning, and generate basic reports to track progress.

2. Agile Development Teams

  • Scenario: A software development team following Scrum practices needs a tool to manage their sprints, backlogs, and releases.
  • Use Case: Jira Standard’s Scrum boards, sprint planning features, and integration with development tools like Bitbucket make it ideal for this team.

3. Basic Project Management

  • Scenario: A small business needs to manage various internal projects, such as office renovations or product launches.
  • Use Case: Jira Standard offers a straightforward solution with customizable workflows, issue tracking, and dashboards to keep projects on track.

4. Entry-Level Agile Adoption

  • Scenario: An organization is starting to adopt agile methodologies and needs a tool to help transition from traditional project management.
  • Use Case: Jira Standard’s user-friendly interface and agile features provide a smooth transition and help teams adapt to new processes.

When to Use Jira Align

1. Large Enterprises with Complex Project Management Needs

  • Scenario: A multinational corporation needs to manage multiple projects across different departments and geographies.
  • Use Case: Jira Align provides the scalability and advanced features necessary to manage complex projects, align cross-functional teams, and ensure strategic goals are met.

2. Strategic Portfolio Management

  • Scenario: An enterprise wants to ensure that all projects and initiatives align with the company's strategic objectives.
  • Use Case: Jira Align’s portfolio management capabilities allow the organization to track and manage projects at a strategic level, ensuring alignment with business goals.

3. Scaled Agile Frameworks

  • Scenario: A technology company with multiple agile teams needs to coordinate work across teams and adopt a scaled agile framework like SAFe.
  • Use Case: Jira Align supports frameworks such as SAFe and LeSS, enabling the company to implement and manage scaled agile practices effectively.

4. Advanced Reporting and Analytics

  • Scenario: A financial services firm requires detailed analytics and reporting to comply with regulatory requirements and improve decision-making.
  • Use Case: Jira Align offers comprehensive reporting and analytics tools that provide deep insights into project performance and resource utilization.

5. Resource and Dependency Management

  • Scenario: A manufacturing company needs to manage resources across various projects and ensure that dependencies between teams do not cause delays.
  • Use Case: Jira Align’s advanced resource and dependency management features help the company optimize resource allocation and manage dependencies effectively.

6. Organizational Change and Transformation

  • Scenario: An organization is undergoing a digital transformation and needs to align its IT and business teams to deliver new capabilities.
  • Use Case: Jira Align provides the tools to connect strategic objectives with execution, ensuring that transformation initiatives are aligned and executed efficiently.

How Enterprises Thrive with Jira Align

Enterprises can achieve remarkable success by leveraging the advanced capabilities of Jira Align. Here are several ways in which Jira Align helps large organizations thrive:

1. Strategic Alignment and Planning

Jira Align bridges the gap between business strategy and technical execution, ensuring that all teams are working towards common organizational goals. By providing a clear line of sight from strategic objectives to team-level tasks, enterprises can ensure that every effort is aligned with the company’s vision and mission.

  • Visibility: Gain a comprehensive view of how work at every level contributes to strategic goals.
  • Prioritization: Prioritize initiatives that deliver the most value to the business.

Strategic Alignment and Planning

2. Enhanced Collaboration and Communication

With Jira Align, cross-team collaboration is streamlined, breaking down silos and fostering better communication across departments. This leads to more efficient workflows and improved project outcomes.

  • Unified Platform: Teams across the organization use a single platform, ensuring everyone is on the same page.
  • Real-Time Updates: Stakeholders receive real-time updates, reducing the risk of miscommunication.

3. Advanced Reporting and Analytics

Jira Align offers powerful reporting and analytics tools that provide deep insights into project performance and resource utilization. This enables data-driven decision-making, helping enterprises optimize their processes and improve efficiency.

  • Customizable Reports: Tailor reports to meet specific needs and gain insights into critical metrics.
  • Predictive Analytics: Use historical data to forecast future trends and make proactive adjustments.

Advanced Reporting and Analytics

4. Scalable Agile Frameworks

Jira Align supports various scaled agile frameworks, such as SAFe (Scaled Agile Framework), LeSS (Large Scale Scrum), and others. This flexibility allows enterprises to adopt the framework that best fits their unique requirements and scale agile practices across the entire organization.

  • Framework Support: Choose from multiple frameworks to implement agile at scale.
  • Best Practices: Incorporate industry best practices to enhance agile transformation.

Scalable Agile Frameworks

5. Resource and Dependency Management

Effective resource management is critical for large enterprises. Jira Align provides advanced tools to manage resources and dependencies, ensuring that the right people are working on the right tasks at the right time.

  • Resource Allocation: Optimize resource allocation to maximize productivity and minimize bottlenecks.
  • Dependency Tracking: Identify and manage dependencies across teams and projects to prevent delays.

Resource and Dependency Management

6. Improved Financial Tracking and ROI

Jira Align allows enterprises to track financials at a granular level, linking expenditures to specific projects and initiatives. This transparency helps in understanding the return on investment (ROI) and making informed financial decisions.

  • Financial Visibility: Monitor costs and budgets across all initiatives.
  • ROI Measurement: Evaluate the ROI of projects to ensure strategic investments are paying off.

7. Adaptability and Continuous Improvement

Jira Align enables enterprises to be more adaptable and responsive to change. By continuously monitoring progress and adjusting plans as needed, organizations can stay agile and competitive in a rapidly changing business environment.

  • Continuous Feedback: Gather continuous feedback to improve processes and outcomes.
  • Agility: Quickly adapt to changes in the market or business priorities.

Get in touch to get started with Jira Align

Conclusion

In summary, both Jira Standard and Jira Align are powerful tools that serve different purposes. Jira Standard is perfect for teams and small to medium-sized businesses looking for a robust, agile project management solution. In contrast, Jira Align is ideal for large enterprises that need to align strategy with execution across multiple teams and portfolios.

If you’re still unsure which tool is right for you, take the time to evaluate your project management requirements and consider the unique needs of your organization. For more detailed information, check out the official pages for Jira Standard and Jira Align, and don’t hesitate to reach out for a consultation.

References: https://community.atlassian.com/t5/Welcome-Center-articles/What-is-Jira-Align-and-the-difference-between-Jira-Standard-and/ba-p/2725029?utm_source=atlcomm&utm_medium=email&utm_campaign=&utm_content=post