Friday, August 12, 2016

Branching Strategies for Agile/Scrum teams

Below are four different branching strategies, which is a direct fit for Agile Team.


·         Branching by Feature (Kanban Model)

·         Branching by Sprints (Scrum Model)

·         Branching by Sprints & Epic Span Across Sprints(Scrum Model)

·         Branching by Hotfix during Sprints (Scrum/Kanban Model)








Watch this video for more details:



Arun Manglick


Tuesday, July 26, 2016

Bitcoin - Basics

Bitcoin is a digital currency created in 2009 (Satoshi Nakamoto).

Bitcoin offers the promise of lower transaction fees than traditional online payment mechanisms and is operated by a decentralized authority, unlike government issued currencies.


There are no physical Bitcoins, only balances associated with public and private keys.

These balances are kept on a public ledger, along with all Bitcoin transactions, that is verified by a massive amount of computing power.




Bitcoin balances are kept using public and private "keys," which are long strings of numbers and letters linked through the mathematical encryption algorithm that was used to create them.

·         Public key (comparable to a bank account number) serves as the address which is published to the world and to which others may send Bitcoin.

·         Private key (comparable to an ATM PIN) is meant to be a guarded secret, and only used to authorize Bitcoin transmissions.




Style notes: According to the official Bitcoin Foundation, the word "Bitcoin" is capitalized in the context of referring to the entity or concept, whereas "bitcoin" is written in the lower case when referring to a quantity of the currency (e.g. "I traded 20 bitcoin"). The currency can be abbreviated to BTC or, less frequently, XBT. The plural form of the word can be either "bitcoin" or "bitcoins."

To learn more about this cryptocurrency, check out How do I buy Bitcoins?



What is Bitcoin?

In non-technical language, Bitcoin is a digital currency in which transactions can be performed without the need for a credit card or central bank.

It's designed to enable users to send money over the Internet in a very simple and efficient way.


Who runs Bitcoin? What is the company behind Bitcoin? 

In short, no one runs Bitcoin.

Bitcoin is run collectively by the users who uses the Bitcoin Client, and any changes to the Bitcoin system have to be approved by the majority of users before they are implemented. 


What is a Bitcoin address?

A Bitcoin address is a unique identifier which allows you to receive Bitcoins.

With PayPal you send funds to an email address, and similarly with Bitcoin you send funds to a Bitcoin address.

For example, this is one of our Bitcoin addresses:  1JArS6jzE3AJ9sZ3aFij1BmTcpFGgN86hA

Please verify that you have copied the destination address exactly before sending Bitcoins to it.   Bitcoin transactions are not reversible!


What is a private key?

A private key is a secret code which allows the user to prove his ownership of his Bitcoins. 

Every Bitcoin address has a matching private key, which is saved in the wallet file of the person who owns the balance.


The private key is mathematically related to the Bitcoin address, and is designed so that the Bitcoin address can be calculated from the private key, but importantly, the same cannot be done in reverse.

Please keep your private keys safe, and make periodic backups to prevent the loss of Bitcoins.  Anyone with your private keys can spend your Bitcoins!


What are the fees involved?

The transaction is usually free if the sum transacted is greater than 0.01 BTC.

A token sum is imposed to provide some incentive to the miners to include the transaction in the blockchain..

At the moment, many transactions are typically processed in a way where no fee is expected at all, but for transactions which draw coins from many Bitcoin addresses and therefore have a large data size, a small transaction fee is usually expected. Please see the bitcoin wiki for calculating minimum fees.


What does 'unconfirmed' mean? 

It means that the transaction has not yet been included in the blockchain, and is still reversible. A transaction typically takes around 10 minutes to be confirmed. When that happens, it is said that one confirmation has occurred for the transaction. With each subsequent block that is found, the number of confirmations is increased by one. To protect against double spending, a transaction should not be considered as confirmed until a certain number of confirmations is seen. 


Who are the 'Miners'

Miners are individuals who run computer systems to repeatedly calculate hashes with the intention to create a successful block and earn coins from transaction fees and new coins created with the block itself.

The term references an analogy of gold miners who dig gold out of the ground and thus 'discover' new gold that can be used to create new coins, with a similar kind of discovery occurring with a successful hash to create new Bitcoins. 


The independent individuals and companies who own the governing computing power and participate in the network, also known as "miners," are motivated by mining rewards (the release of new Bitcoin) and transaction fees paid in Bitcoin. These miners can be thought of as the decentralized authority enforcing the credibility of the Bitcoin network.



Is there a limit to the amount of Bitcoins generated?

The number of Bitcoins in existence will never exceed 21 million.

To see how many Bitcoins are in circulation, please go to:


One bitcoin is divisible to eight decimal places (100 millionth of one bitcoin), and this smallest unit is referred to as a Satoshi.

If necessary, and if the participating miners accept the change, Bitcoin could eventually be made divisible to even more decimal places.


How much does a Bitcoin cost?

The current market price for a Bitcoin is always changing due to the supply and demand for it.

Bitcoins are traded at Bitcoin Exchanges. A historical Bitcoin price chart can be found at:


What is a Bitcoin Client?

Bitcoin clients are the base level of technology for conducting Bitcoin transactions, and they store the keys needed to conduct a Bitcoin transaction.

They come in multiple flavors, and are customized to fit different niches.


1.       The Bitcoin-QT Client (Downloadable at is the original software written by Satoshi Nakamoto, the project's founder. If you aren't sure which program to pick, this is a good bet. It is suited for enthusiasts, merchants, miners, developers and people who want to help support the project. 

2.       The MultiBit Client (Downloadable at is fast and easy to use, even for people with no technical knowledge. It is also able to import's wallet backups (Multibit version 5.17 and earlier), making it a versatile tool for all kinds of users.

3.       The Electrum Client (Downloadable at focuses at speed, with low resource usage and simplifying Bitcoin usage. Startup times are instant because it operates in conjunction with high-performance servers that handle the most complicated parts of the Bitcoin system.

4. is also a form of Bitcoin client. We provide a web-based client with emphasis on speed, security, and ease of use.




What is this 'Blockchain' you talk about? 

The blockchain is a Public Ledger of all transactions in the Bitcoin network. allows you to navigate the bitcoin blockchain. We also operate Bitcoin's largest and most secure wallet service.


Hope this helps.



Tuesday, June 7, 2016

04_AWS - Networking

Amazon Web Services


2006: Amazon launched Amazon Web Service (AWS) on a utility computing basis although the initial released dated back to July 2002.

Amazon Web Services (AWS) is a collection of remote computing services (also called web services) that together make up a cloud computing platform, offered over the Internet by

The most central and well-known of these services are Amazon EC2 (Elastic Compute Cloud )and Amazon S3 (Simple Storage Service).



Amazon Web Services is based on SOA standards, including HTTP, REST, and SOAP transfer protocols, open source and commercial operating systems, application servers, and browser-based access.




1.       Amazon VPC

2.       AWS Direct Connect

3.       Elastic Load Balancing

4.       Amazon Route 53



1). Amazon VPC (Virtual Private Cloud)


·         Amazon VPC enables you to launch Amazon Web Services (AWS) resources into a virtual network that you've defined.

·         This virtual network closely resembles a traditional network that you'd operate in your own data center, with the benefits of using the scalable infrastructure of AWS.


VPCs and Subnets

·         VPC is a virtual network dedicated to your AWS account. It is logically isolated from other virtual networks in the AWS cloud.

·         You can launch your AWS resources, such as Amazon EC2 instances, into your VPC.

·         You can configure your VPC; you can select its IP address range, create subnets, and configure route tables, network gateways, and security settings.


·         A Subnet is a range of IP addresses in your VPC.You can launch AWS resources into a subnet that you select.

·         Use a public subnet for resources that must be connected to the Internet, and a private subnet for resources that won't be connected to the Internet



2). AWS Direct Connect 


·         AWS Direct Connect links your internal network to an AWS Direct Connect location over a standard 1 gigabit or 10 gigabit Ethernet fiber-optic cable.

·         One end of the cable is connected to your router, the other to an AWS Direct Connect router.

·         With this connection in place, you can create virtual interfaces directly to the AWS cloud (for example, to Amazon EC2 and Amazon S3) and to Amazon VPC, bypassing Internet service providers in your network path.

·         An AWS Direct Connect location provides access to Amazon Web Services in the region it is associated with, as well as access to other US regions. For example, you can provision a single connection to any AWS Direct Connect location in the US and use it to access public AWS services in all US Regions and AWS GovCloud (US).


To use AWS Direct Connect, your network must meet one of the following conditions:

·         Your network is collocated with an existing AWS Direct Connect location.

·         You are working with an AWS Direct Connect partner who is a member of the AWS Partner Network (APN).

·         You are working with an independent service provider to connect to AWS Direct Connect.


In addition, your network must meet the following conditions:

·         Connections to AWS Direct Connect require single mode fiber, 1000BASE-LX (1310nm) for 1 gigabit Ethernet, or 10GBASE-LR (1310nm) for 10 gigabit Ethernet.

·         Auto Negotiation for the port must be disabled. You must support 802.1Q VLANs across these connections.

·         Your network must support Border Gateway Protocol (BGP) and BGP MD5 authentication.

·         Optionally, you may configure Bidirectional Forwarding Detection (BFD).



3). Elastic Load Balancing


·         Elastic Load Balancing automatically distributes your incoming application traffic across multiple Amazon EC2 instances.

·         It detects unhealthy instances and reroutes traffic to healthy instances until the unhealthy instances have been restored.

·         Elastic Load Balancing automatically scales its request handling capacity in response to incoming traffic. 


Same as in – Compute Section.


4). Amazon Route 53


·         Amazon Route 53 is a highly available and scalable Domain Name System (DNS) web service. 


Amazon Route 53 performs three main functions:


·         Domain registration – Amazon Route 53 lets you register domain names such as

·         DNS service – Amazon Route 53 translates friendly domains names like into IP addresses like Amazon Route 53 responds to DNS queries using a global network of authoritative DNS servers, which reduces latency.

·         Health checking – Amazon Route 53 sends automated requests over the Internet to your application to verify that it's reachable, available, and functional.


You can use any combination of these functions. For example, you can use Amazon Route 53 as both your registrar and your DNS service, or you can use Amazon Route 53 as the DNS service for a domain that you registered with another domain registrar.




Arun Manglick


























02_AWS - Storage & Content Delivery

Amazon Web Services


2006: Amazon launched Amazon Web Service (AWS) on a utility computing basis although the initial released dated back to July 2002.

Amazon Web Services (AWS) is a collection of remote computing services (also called web services) that together make up a cloud computing platform, offered over the Internet by

The most central and well-known of these services are Amazon EC2 (Elastic Compute Cloud )and Amazon S3 (Simple Storage Service).



Amazon Web Services is based on SOA standards, including HTTP, REST, and SOAP transfer protocols, open source and commercial operating systems, application servers, and browser-based access.




1.       Amazon S3

2.       Amazon CloudFront

3.       Amazon EBS

4.       Amazon EFS (preview)

5.       Amazon Glacier

6.       AWS Import/Export

7.       AWS Storage Gateway



1). Amazon S3


·         Amazon S3 is storage for the Internet.

·         Amazon S3 has a simple web services interface that you can use to store and retrieve any amount of data at any time, from anywhere on the web.

·         You can accomplish these tasks using the simple and intuitive web interface of the AWS Management Console.



S3 Concepts:



·         Amazon S3 stores data as objects within buckets. An object consists of a file and optionally any metadata that describes that file.

·         Every object is contained in a bucket. For example, if the object named photos/puppy.jpg is stored in the johnsmith bucket, then it is addressable using the URL

·         When you upload a file, you can set permissions on the object as well as any metadata.

·         Buckets are the containers for objects. You can have one or more buckets.


You can configure buckets so that they are created in a specific Region.

You can also configure a bucket so that every time an object is added to it, Amazon S3 generates a Unique Version ID and assigns it to the object




·         Objects are the fundamental entities stored in Amazon S3. Objects consist of object data and metadata.

·         The data portion is opaque to Amazon S3. The metadata is a set of name-value pairs that describe the object.

·         These include some default metadata, such as the date last modified, and standard HTTP metadata, such as Content-Type.

·         You can also specify custom metadata at the time the object is stored.

·         An object is uniquely identified within a bucket by a key (Name) and a Version ID.




·         A key is the unique identifier for an object within a bucket. Every object in a bucket has exactly one key.

·         Because the combination of a bucket, key, and version ID uniquely identify each object, Amazon S3 can

·         be thought of as a basic data map between "bucket + key + version" and the object itself.

·         Every object in Amazon S3 can be uniquely addressed through the combination of the web service endpoint, bucket name, key, and optionally, a version




·         You can choose the geographical region where Amazon S3 will store the buckets you create.

·         You might choose a region to optimize latency, minimize costs, or address regulatory requirements

·         Objects stored in a region never leave the region unless you explicitly transfer them to another region




2). Amazon CloudFront


·         Amazon CloudFront is a web service that speeds up distribution of your static and dynamic web content, for example, .html, .css, .php, image, and media files, to end users.

·         CloudFront delivers your content through a worldwide network of Edge Locations.

·         When an end user requests content that you're serving with CloudFront, the user is routed to the edge location that provides the lowest latency, so content is delivered with the best possible performance.

·         If the content is already in that edge location, CloudFront delivers it immediately. If the content is not currently in that edge location, CloudFront retrieves it from an Amazon S3 bucket or an HTTP server (for example, a web server) that you have identified as the source for the definitive version of your content.



3). Amazon Elastic Block Store (Amazon EBS)


·         Amazon EBS provides Block Level Storage Volumes for use with EC2 instances.

·         EBS volumes are highly available and reliable storage volumes that can be attached to any running instance that is in the same Availability Zone.

·         EBS volumes that are attached to an EC2 instance are exposed as storage volumes that persist independently from the life of the instance.

·         With Amazon EBS, you pay only for what you use.


·         Amazon EBS is recommended when data changes frequently and requires long-term persistence.

·         EBS volumes are particularly well-suited for use as the primary storage for file systems, databases, or for any applications that require fine granular updates and access to raw, unformatted, block-level storage. Amazon EBS is particularly helpful for database-style applications that frequently encounter many random reads and writes across the data set.

·         For simplified data encryption, you can launch your EBS volumes as encrypted volumes. Amazon EBS encryption offers you a simple encryption solution for your EBS volumes without the need for you to build, manage, and secure your own key management infrastructure. When you create an encrypted EBS volume and attach it to a supported instance type, data stored at rest on the volume, disk I/O, and snapshots created from the volume are all encrypted. The encryption occurs on the servers that hosts EC2 instances, providing encryption of data-in-transit from EC2 instances to EBS storage.


·         Amazon EBS encryption uses AWS Key Management Service (AWS KMS) master keys when creating encrypted volumes and any snapshots created from your encrypted volumes. The first time you create an encrypted EBS volume in a region, a default master key is created for you automatically. This key is used for Amazon EBS encryption unless you select a Customer Master Key (CMK) that you created separately using the AWS Key Management Service. Creating your own CMK gives you more flexibility, including the ability to create, rotate, disable, define access controls, and audit the encryption keys used to protect your data.


·         You can attach multiple volumes to the same instance within the limits specified by your AWS account. Your account has a limit on the number of EBS volumes that you can use, and the total storage available to you.



4). Amazon Elastic File System (Amazon EFS)


·         Amazon EFS provides File Storage for your EC2 instances.

·         With Amazon EFS, you can create a file system, mount the file system on your EC2 instances, and then read and write data from your EC2 instances to and from your file system.

·         With Amazon EFS, storage capacity is elastic, growing and shrinking automatically as you add and remove files, so your applications have the storage they need, when they need it.

·         Multiple Amazon EC2 instances can access an Amazon EFS file system at the same time, providing a common data source for workloads and applications running on more than one instance.

·         The service is designed to be highly scalable. Amazon EFS file systems can grow to petabyte scale, drive high levels of throughput, and support thousands of concurrent NFS connections

·         Amazon EFS stores data and metadata across multiple Availability Zones in a region, providing high availability and durability.

·         Amazon EFS provides read-after-write consistency.

·         Amazon EFS is SSD-based and is designed to deliver low latencies for file operations. In addition, the service is designed to provide high-throughput read and write operations, and can support highly parallel workloads, efficiently handling parallel operations on the same file system from many different instances.


Note: Amazon EFS supports the NFSv4.0 protocol. The native Microsoft Windows Server 2012 and Microsoft Windows Server 2008 NFS client supports NFSv2.0 and NFSv3.0





5). Amazon Glacier


·         Amazon Glacier is a storage service optimized for infrequently used data, or "Cold Data."  (If your application requires fast or frequent access to your data, consider using Amazon S3)

·         The service provides durable and extremely low-cost storage with security features for data archiving and backup.

·         With Amazon Glacier, you can store your data cost effectively for months, years, or even decades.

·         Amazon Glacier enables you to offload the administrative burdens of operating and scaling storage to AWS, so you don't have to worry about capacity planning, hardware provisioning, data replication, hardware failure detection and recovery, or time-consuming hardware migrations.


·         The Amazon Glacier data model core concepts include Vaults and Archives.

·         Amazon Glacier is a REST-based web service. In terms of REST, vaults and archives are the resources.

·         In addition, the Amazon Glacier data model includes Job and Notification-Configuration resources.  These resources complement the core resources.



5). AWS Import/Export


·         AWS Import/Export is a service that accelerates transferring large amounts of data into and out of AWS using physical storage appliances, bypassing the Internet.

·         AWS Import/Export consists of

o    AWS Import/Export Snowball (Snowball), which uses on demand, Amazon-provided secure storage appliances to physically transport terabytes to many petabytes of data, and

o    AWS Import/Export Disk, which utilizes customer-provided portable devices to transfer smaller datasets.


·         AWS transfers data directly onto and off of your storage devices using Amazon’s high-speed internal network.

·         Your data load typically begins the next business day after your storage device arrives at AWS. After the data export or import completes, we return your storage device.

·         For large data sets, AWS Import/Export can be significantly faster than Internet transfer and more cost effective than upgrading your connectivity.


·         AWS Import/Export supports:

o    Import/Export to/from Amazon S3

o    Import to Amazon EBS

o    Import to Amazon Glacier



6). AWS Storage Gateway


·         AWS Storage Gateway connects an on-premises software appliance with cloud-based storage to provide seamless integration (with data security features) between your on-premises IT environment and the Amazon Web Services (AWS) storage infrastructure.

·         You can use the service to store data in the AWS cloud for scalable and cost-effective storage that helps maintain data security.

·         AWS Storage Gateway offers both Volume-Based and Tape-Based storage solutions



·         You may choose to run AWS Storage Gateway either

o    On-premises as a virtual machine (VM) appliance, or

o    In AWS, as an EC2 instance.


·         You deploy your gateway on an EC2 instance to provision iSCSI storage volumes in AWS.

·         Gateways hosted on EC2 instances can be used for disaster recovery, data mirroring, and providing storage for applications hosted on Amazon EC2.





Arun Manglick












The contents of this email and any attachments may include confidential information. Therefore, they may not be disclosed to, used by, or copied in any way by anyone other than the intended recipient and any such disclosure, use or copy can be treated as illegal. In the case this email is sent to you in error, please inform the sender and delete this email.